Paso 4: Sensor de presencia Active las tiras de led y la pantalla del mp3
En este proyecto, el sensor de presencia máximo Botix (1 x Distanciómetro ultrasónico – Maxbotix LV-EZ0) activa las tiras de led y también el escudo de mp3.
He conectado el sensor de presencia en el número del pin 5 del Arduino y cada luz era conectada en los pines analógicos A5, A2, A3, A1, A4. El escudo de MP3 simplemente se colocaría sobre Arduino. Compré un altavoz y conectado en la entrada de jack de escudo de mp3.
Este es el código final:
#include "Maxbotix.h"
#include
#include
#include
#include
SdFat sd;
SFEMP3Shield MP3player;
last_ms_char de int16_t; milisegundos de último recibido carácter de puerto serie.
int8_t buffer_pos; siguiente posición para recibir el carácter de puerto serie.
buffer de Char [6]; 0-35 K + null
int ledPins [] = {}
A5, A2, A3, A1, A4};
pinCount int = 5;
int contador = 40;
RangeSensorAD de MaxBotix (A0, Maxbotix::AN, Maxbotix::LV);
Float distancia = 40;
void setup() {}
initSD(); Inicializar la tarjeta SD
initMP3Player(); Inicializar el escudo MP3
Mp3Player.setVolume(0,0); Esto es para configurar el volumen máximo. Victor gracias
para (int i = 0; i < pinCount; i ++) {}
pinMode (ledPins [i], salida);
resultado de uint8_t; código de resultado de alguna función en cuanto a ser probados en un tiempo más último.
Serial.Begin(115200);
}
}
void loop() {}
---NUEVO CÓDIGO DESDE AQUÍ
int mp3isplaying = 0;
while(1) {/ / este es el nuevo bucle de programa
distancia=rangeSensorAD.getRange();
Serial.Print ("cm -");
Serial.println(distancia);
Si (distancia < 200) {}
Si (distancia < 150) {}
Si (mp3isplaying == 0) {}
Mp3Player.playMP3("track001.mp3");
mp3isplaying = 1;
}
para (int i = 0; i < pinCount; i ++) {}
digitalWrite (ledPins [i], HIGH);
Delay(TIMER);
digitalWrite (ledPins [i], LOW);
Serial.println("encendido");
}
}
Else {}
Si (mp3isplaying == 1) {}
Mp3Player.stopTrack();
mp3isplaying = 0;
}
digitalWrite (ledPins [0], LOW); Apagar el LED por lo que la tensión baja
Serial.println("apagado");
}
}
}
initSD() inicializa la tarjeta SD y comprueba un error.
void initSD()
{
Inicializar la tarjeta SD.
Si (! sd.begin (SD_SEL, SPI_HALF_SPEED))
sd.initErrorHalt();
if(!SD.chdir("/"))
sd.errorHalt("sd.chdir");
}
initMP3Player() toda la inicialización para establece el
MP3 Escudo de reproductor. Se ejecuta la función begin(), cheques
errores, se aplica un parche si encuentra y establece el volumen
/ modo stero.
void initMP3Player()
{
uint8_t resultado = MP3player.begin(); Inicio la pantalla de reproductor de mp3
Si (resultado! = 0) / / comprobar el resultado, vea el archivo Léame para códigos de error.
{
Comprobación de errores puede ir aquí!
}
Mp3Player.setVolume (volumen, volumen);
Mp3Player.setMonoMode(monoMode);
}