Etape 38 : Programme inscription - Arduino Uno R3 (lecteur Audio)
Le lecteur audio Arduino Uno R3 lit une valeur binaire à 4 chiffres de la pièce accepteur Arduino Uno R3 et joue un fichier audio associé à la valeur binaire.
#include
#include
#include
#define BREAKOUT_RESET 9 / / VS1053 reset pin (sortie)
#define BREAKOUT_CS 10 / / VS1053 chip select broches (sortie)
#define BREAKOUT_DCS 8 / / VS1053/commande de données sélectionnez NIP (sortie)
#define SHIELD_RESET -1 / / VS1053 reset pin (inutilisée) !
#define SHIELD_CS 7 / / VS1053 chip select broches (sortie)
#define SHIELD_DCS 6 / / VS1053/commande de données sélectionnez NIP (sortie)
#define CARDCS 4 / / carte accès sélectionnez puce
#define DREQ 3 / / VS1053 données de demande, idéalement une interruption pin
MusicPlayer Adafruit_VS1053_FilePlayer =
Adafruit_VS1053_FilePlayer (SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS) ;
int val ;
Définir des valeurs binaires pondérées utilisées pour le mappage d’entrée
int Binary1 = 0 ;
int Binary2 = 0 ;
int Binary4 = 0 ;
int Binary8 = 0 ;
void setup()
{
Définir les épingles utilisées pour les entrées envoyées de l’autre Arduino
pinMode (14, INPUT_PULLUP) ; définit la broche analogique A0 en entrée
pinMode (15, INPUT_PULLUP) ; définit la broche analogique A1 comme entrée
pinMode (16, INPUT_PULLUP) ; définit la broche analogique A2 comme entrée
pinMode (17, INPUT_PULLUP) ; définit la broche analogique A3 comme entrée
Serial.Begin(9600) ;
initialiser le lecteur de musique
Si (! musicPlayer.begin())
{/ / initialiser le lecteur de musique
Serial.println (F ("Impossible de trouver VS1053, avez-vous les broches de droite définies?")) ;
while (1) ;
}
if (!. SD.begin(CARDCS))
{
}
Régler le volume pour les canaux gauche, droit. Abaisser les numéros == volume plus fort !
Il s’agit si vous acheter l’unité avec amplificateur construit en
musicPlayer.setVolume(20,20) ;
Si (! musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT))
Serial.println (F ("broche DREQ n’est pas une tige d’interrupt")) ;
}
void loop()
{
Commencer la lecture d’un fichier, alors nous pouvons faire des choses en attendant qu’il se termine
Si (musicPlayer.stopped())
{
Delay(1) ;
}
{
Binary1 = digitalRead(14) ; 1 binaire
Binary2 = digitalRead(15) ; 2 binaire
Binary4 = digitalRead(16) ; 4 binaire
Binary8 = digitalRead(17) ; 8 binaire
Montrer 1 détecté - binaire 1
Si (Binary1 == HIGH & & Binary2 == LOW & & Binary4 == LOW & & Binary8 == faible) / / 1 2 4 8
{
Serial.println ("Afficher 1") ;
(musicPlayer.startPlayingFile("s1.mp3")) ;
retarder (1000) ;
}
Spectacle 2 détecté - 2 binaire
Si (Binary1 == LOW & & Binary2 == HIGH & & Binary4 == LOW & & Binary8 == faible) / / 1 2 4 8
{
Serial.println ("afficher 2") ;
(musicPlayer.startPlayingFile("s2.mp3")) ;
retarder (2000) ;
}
Afficher 3 centimes Detected - 3 binaire
Si (Binary1 == HIGH & & Binary2 == HIGH & & Binary4 == LOW & & Binary8 == faible) / / 1 2 4 8
{
Serial.println ("afficher 3") ;
(musicPlayer.startPlayingFile("s3.mp3")) ;
retarder (2000) ;
}
}
}