Etape 4: Détecteur de présence activer les bandes de led et le bouclier de mp3
Dans ce projet, le détecteur de présence Max Botix (1 x télémètre à ultrasons – Maxbotix LV-EZ0) active les bandes de led et aussi le bouclier de mp3.
J’ai connecté le détecteur de présence dans le numéro pin 5 de Arduino et chaque lumière est connectée dans les broches analogiques A2, A3, A1, A5, A4. Le bouclier de MP3 a juste placé au-dessus Arduino. J’ai acheté un orateur et connecté à l’entrée jack du bouclier de mp3.
Voici le code final :
#include « Maxbotix.h »
#include
#include
#include
#include
SdFat sd ;
MP3player SFEMP3Shield ;
int16_t last_ms_char ; millisecondes du dernier caractère reçu depuis le port série.
int8_t buffer_pos ; position suivante pour recevoir le caractère de port série.
tampon de char [6] ; 0-35 K + null
int ledPins [] = {}
A5, A2, A3, A1, A4} ;
int pinCount = 5 ;
int timer = 40 ;
Maxbotix rangeSensorAD (A0, Maxbotix::AN, Maxbotix::LV) ;
flotter la distancia = 40 ;
void setup() {}
initSD() ; Initialiser la carte SD
initMP3Player() ; Initialiser le bouclier MP3
MP3player.setVolume(0,0) ; Il s’agit de configurer le volume MAXIMUM. Victor Merci
pour (int i = 0; i < pinCount; i ++) {}
pinMode (ledPins [i], sortie) ;
uint8_t résultat ; code de résultat d’une fonction quelconque quant à être testés à une date ultérieure.
Serial.Begin(115200) ;
}
}
void loop() {}
---NOUVEAU CODE D’ICI
int mp3isplaying = 0 ;
while(1) {/ / il s’agit de la nouvelle boucle de programme
Distancia=rangeSensorAD.getRange() ;
Serial.Print ("cm -") ;
Serial.println(distancia) ;
Si (distancia < 200) {}
Si (distancia < 150) {}
Si (mp3isplaying == 0) {}
MP3player.playmp3("track001.mp3") ;
mp3isplaying = 1 ;
}
pour (int i = 0; i < pinCount; i ++) {}
digitalWrite (ledPins [i], HIGH) ;
Delay(Timer) ;
digitalWrite (ledPins [i], faible) ;
Serial.println("encendido") ;
}
}
else {}
Si (mp3isplaying == 1) {}
MP3player.stopTrack() ;
mp3isplaying = 0 ;
}
digitalWrite (ledPins [0], faible) ; éteindre la LED en rendant la tension basse
Serial.println("apagado") ;
}
}
}
initSD() Initialise la carte SD et les contrôles d’erreur.
Sub initSD()
{
Initialiser la carte SD.
Si (! sd.begin (SD_SEL, SPI_HALF_SPEED))
sd.initErrorHalt() ;
if(!SD.chdir("/"))
sd.errorHalt("sd.chdir") ;
}
initMP3Player() met en place toute l’initialisation de la
MP3 Bouclier de lecteur. Il exécute la fonction begin(), contrôles
pour trouver des erreurs, s’applique un patch si trouvé et définit le volume
/ mode stéréo.
Sub initMP3Player()
{
résultat uint8_t = MP3player.begin() ; init le bouclier lecteur de mp3
Si (résultat! = 0) / / vérifier le résultat, consultez fichier Lisezmoi pour les codes d’erreur.
{
Vérification des erreurs peut aller ici !
}
MP3player.setVolume (volume, volume) ;
MP3player.setMonoMode(monoMode) ;
}