Étape 1: Programmation et reliant chaque capteur avec Arduino
Nous utilisons le Détecteur de mouvement PIR pour détecter tout mouvement produit par quelqu'un qui franchissent la porte, selon une fonction booléenne "isPeopleDetected()".
La sonde est reliée à l’Arduino conformément à la présente :
- Fil jaune relié à DIGITAL 8 PIN dans l’Arduino
- Fil blanc non connecté
- Fil rouge relié au 5V de l’Arduino
- Fil noir relié à la terre dans l’Arduino
le code de l’arduino pour détecter les mouvements avec le Détecteur de mouvement PIR est :
/ * définitions de macros de PIR motion sensor pin et LED pin * /
#define PIR_MOTION_SENSOR 8 //Use broche 2 de recevoir le signal du module
#define LED13 / / vous pouvez voir cette LED de la carte Arduino
void setup() {}
pinsInit() ;
}
void loop() {}
if(isPeopleDetected()) //if il détecte le déplacement de personnes ?
turnOnLED() ;
d’autre
turnOffLED() ;
}
void pinsInit() {}
pinMode (entrée, PIR_MOTION_SENSOR) ;
pinMode(LED,OUTPUT) ;
}
void turnOnLED() {}
digitalWrite(LED,HIGH) ;
}
void turnOffLED() {}
digitalWrite(LED,LOW) ;
}
/********/
/ * Fonction : détecter si quelqu'un se déplace détecté gamme * /
/ * Retour:-booléen, true est quelqu'un détectés.* /
Boolean isPeopleDetected() {}
int sensorValue = digitalRead(PIR_MOTION_SENSOR) ;
if(sensorValue == High) //if la valeur de la sonde est haute ? {
retourne la valeur true ; Oui, retourne la valeur true
} else {}
retourne la valeur false ; non, retourner false
}
}
Nous voulions jouer différentes versions de la chanson FamilyMart aléatoirement, donc nous avons modifié le code de base du lecteur MP3, ajout d’une variable aléatoire appelée « num », c'est-à-dire un aléatoire numéro selon le nombre ou les chansons nous stockage dans la carte micro SD qui possède le lecteur MP3.
Le baladeur MP3 est connecté à l’Arduino conformément à la présente :
- Fil jaune relié à DIGITAL 2 broches dans l’Arduino
- Fil blanc relié à DIGITAL 3 broches dans l’Arduino
- Fil rouge relié au 5V de l’Arduino
- Fil noir relié à la terre dans l’Arduino
Le code pour le Lecteur MP3 est :
#include
SoftwareSerial mp3 (2, 3); //modify cela avec le connecteur que vous utilisez.
void setup()
{
MP3.Begin(9600) ;
Serial.Begin(9600) ;
Delay(100) ;
Si (true ==SetPlayMode(0x03))
Serial.println ("le Mode de lecture la valeur 0 x 01, Single Mode Loop") ;
d’autre
Serial.println ("Playmode Set Error") ;
PauseOnOffCurrentMusic() ;
randomSeed(analogRead(0)) ;
}
void loop()
{
SetVolume(0x1F) ;
SetPlayMode(0x01) ;
Delay(1000) ;
int NB = random(1,4) ;
Serial.Print(num) ;
SetMusicPlay(00,(uint8_t) num) ; uint8_t convertira num en une valeur hexadécimale
PauseOnOffCurrentMusic() ;
Delay(1000) ;
while(1) ;
}
Définissez l’index de la musique à jouer, l’index est décidée par la séquence d’entrée
de la musique ;
hbyte : l’octet haut de l’index ;
lbyte : l’octet de poids faible de l’index ;
Boolean SetMusicPlay (uint8_t hbyte, uint8_t lbyte)
{
MP3.Write(0x7E) ;
MP3.Write(0x04) ;
MP3.Write(0xA0) ;
MP3.Write(hbyte) ;
MP3.Write(lbyte) ;
MP3.Write(0x7E) ;
Delay(10) ;
while(MP3.available())
{
Si (0xA0==mp3.read())
retourne la valeur true ;
d’autre
retourne la valeur false ;
}
}
Faire une pause marche/arrêt de la musique actuelle
PauseOnOffCurrentMusic(void) booléenne
{
MP3.Write(0x7E) ;
MP3.Write(0x02) ;
MP3.Write(0xA3) ;
MP3.Write(0x7E) ;
Delay(10) ;
while(MP3.available())
{
Si (0xA3==mp3.read())
retourne la valeur true ;
d’autre
retourne la valeur false ;
}
}
Le volume, la gamme est 0 x 00 à 0x1F
booléenne SetVolume (uint8_t volume)
{
MP3.Write(0x7E) ;
MP3.Write(0x03) ;
MP3.Write(0xA7) ;
MP3.Write(volume) ;
MP3.Write(0x7E) ;
Delay(10) ;
while(MP3.available())
{
Si (0xA7==mp3.read())
retourne la valeur true ;
d’autre
retourne la valeur false ;
}
}
Boolean SetPlayMode (uint8_t playmode)
{
Si (((playmode==0x00) | () playMode == 0 x 01) | (playmode == 0 x 02) | (playMode==0x03)) == false)
{
Serial.println ("paramètre PlayMode erreur!") ;
retourne la valeur false ;
}
MP3.Write(0x7E) ;
MP3.Write(0x03) ;
MP3.Write(0xA9) ;
MP3.Write(playMode) ;
MP3.Write(0x7E) ;
Delay(10) ;
while(MP3.available())
{
Si (0xA9==mp3.read())
retourne la valeur true ;
d’autre
retourne la valeur false ;
}
}
Ce lecteur MP3 utilise des nombres hexadécimaux, donc vous aurez besoin d’utiliser quelque chose comme ce site web pour convertirdes valeurs entières afin de contrôler le Conseil d’administration.
Par exemple, la référence dit :
Il y a 32 niveaux de volume de 00 à 31. 00 est muet et 31 pour le volume maximum.
afin de régler le volume à la valeur maximale : 31 nous convertir en hexadécimal qui est 1F
donc dans le code, nous écrire : SetVolume(0x1F) ;