Etape 41 : Program Listing - Arduino Mega 2560
L’Arduino Mega 2560 lit les déclencheurs à distance relais et envoie un code binaire à 4 chiffres à l’Arduino Uno qui représente le fichier audio souhaité d’être joué. L’Arduino Mega 2560 envoie également un certain nombre de sous-routine au contrôleur de servo Maestro qui représente le mouvement qui doit être joué basé sur le déclenchement à distance. Se référer aux dessins pour l’information de raccordement électriques.
John Guarnero
Septembre 2014
série-Maestro config
#include
#define txPin 14
#define rxPin 15
#define sub0 0
SoftwareSerial mySerial (rxPin, txPin) ;
Installation audio et à distance
int Push1 = 0 ;
int Push2 = 0 ;
int Push3 = 0 ;
int Push4 = 0 ;
int Push5 = 0 ;
int Push6 = 0 ;
int Push7 = 0 ;
int Push8 = 0 ;
int Push9 = 0 ;
int Push10 = 0 ;
int Push11 = 0 ;
int Push12 = 0 ;
void setup()
{
série-Maestro config
mySerial.begin(9600) ;
Delay(1000) ;
définir les chevilles à utiliser pour le code binaire pour Arduino Uno
pinMode (sortie 22) ;
pinMode (sortie 24) ;
pinMode (sortie 28) ;
pinMode (30, sortie) ;
Rendre le Code binaire = 0
digitalWrite (22, faible) ; 1 2 4 8
digitalWrite (24, faible) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
Définir toutes les goupilles de déclenchement à distance comme entrées avec résistance pullup interne
pinMode (31, INPUT_PULLUP) ; Relais 1
digitalWrite (31, haute) ; Activez Pullup
pinMode (33, INPUT_PULLUP) ; Relais 2
digitalWrite (33, haute) ; Activez Pullup
pinMode (35, INPUT_PULLUP) ; Relais 3
digitalWrite (35, HIGH) ; Activez Pullup
pinMode (37, INPUT_PULLUP) ; Relais 4
digitalWrite (37, HIGH) ; Activez Pullup
pinMode (39, INPUT_PULLUP) ; Relais 5
digitalWrite (39, HIGH) ; Activez Pullup
pinMode (41, INPUT_PULLUP) ; Relais 6
digitalWrite (41, haute) ; Activez Pullup
pinMode (43, INPUT_PULLUP) ; Relais 7
digitalWrite (33, haute) ; Activez Pullup
pinMode (45, INPUT_PULLUP) ; Relais 8
digitalWrite (45, haut) ; Activez Pullup
pinMode (47, INPUT_PULLUP) ; Relais 9
digitalWrite (47, HIGH) ; Activez Pullup
pinMode (49, INPUT_PULLUP) ; Relais 10
digitalWrite (49, HIGH) ; Activez Pullup
pinMode (51, INPUT_PULLUP) ; Relais 11
digitalWrite (51, haute) ; Activez Pullup
pinMode (53, INPUT_PULLUP) ; Relais 12
digitalWrite (51, haute) ; Activez Pullup
}
void loop()
{
lire les entrées de déclenchement à distance
Push1 = digitalRead(31) ;
Push2 = digitalRead(33) ;
Push3 = digitalRead(35) ;
Push4 = digitalRead(37) ;
Push5 = digitalRead(39) ;
Push6 = digitalRead(41) ;
Push7 = digitalRead(43) ;
Push8 = digitalRead(45) ;
Push9 = digitalRead(47) ;
Push10 = digitalRead(49) ;
Push11 = digitalRead(51) ;
Push12 = digitalRead(53) ;
Si Voir la 1 déclenchée, séquence d’initialisation
Si (Push1 == 0)
{
Serial.println ("Joyeux anniversaire Emily") ;
Si (mySerial.available())
Serial.Write(mySerial.Read()) ;
Si (Serial.available())
mySerial.write(Serial.read()) ;
mySerial.write(0xA7) ; l’exécution de sous-routine maestro
mySerial.write((byte)0x00) ; id de périphérique
Envoyer la valeur binaire 1 à Uno de lire fichier WAV 1
digitalWrite (22, HIGH) ; 1 2 4 8
digitalWrite (24, faible) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
retard (500) ;
digitalWrite (22, faible) ; 1 2 4 8
digitalWrite (24, faible) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
}
Si le spectacle 2 déclenchée, séquence d’initialisation
Si (Push2 == 0)
{
Serial.println ("Joyeux anniversaire Kim") ;
Si (mySerial.available())
Serial.Write(mySerial.Read()) ;
Si (Serial.available())
mySerial.write(Serial.read()) ;
mySerial.write(0xA7) ; l’exécution de sous-routine
mySerial.write((byte)0x01) ; id de périphérique
Envoyer valeur binaire 2 à Uno de lire fichier WAV 2
digitalWrite (22, faible) ; 1 2 4 8
digitalWrite (24, HIGH) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
retard (500) ;
digitalWrite (22, faible) ; 1 2 4 8
digitalWrite (24, faible) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
}
Si Voir la 3 déclenchée, séquence d’initialisation
Si (Push3 == 0)
{
Serial.println ("Joyeux anniversaire Megan") ;
Si (mySerial.available())
Serial.Write(mySerial.Read()) ;
Si (Serial.available())
mySerial.write(Serial.read()) ;
mySerial.write(0xA7) ; l’exécution de sous-routine
mySerial.write((byte)0x02) ; id de périphérique
Envoyer valeur binaire 3 à Uno de lire fichier WAV 3
digitalWrite (22, HIGH) ; 1 2 4 8
digitalWrite (24, HIGH) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
retard (500) ;
digitalWrite (22, faible) ; 1 2 4 8
digitalWrite (24, faible) ; 1 2 4 8
digitalWrite (28, faible) ; 1 2 4 8
digitalWrite (30, faible) ; 1 2 4 8
}
Si Voir la 4 déclenchée, séquence d’initialisation
Si (Push4 == 0)
{
Serial.println ("Guarnero House") ;
Si (mySerial.available())
Serial.Write(mySerial.Read()) ;
Si (Serial.available())