Paso 41: Programa listado - Arduino Mega 2560
El Arduino Mega 2560 Lee los disparadores relé remoto y envía un código binario de 4 dígitos para el Arduino Uno que representa el archivo de audio deseado para reproducirse. El Arduino Mega 2560 también envía un número de la subrutina para el controlador de servos de Maestro que representa el movimiento que debe ser jugado basado en el disparador. Consulte los planos eléctricos para obtener información de conexión.
John Guarnero
Septiembre de 2014
serie a la configuración de Maestro
#include
#define txPin 14
#define rxPin 15
#define sub0 0
MySerial SoftwareSerial (rxPin, txPin);
Configuración de audio y control remota
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()
{
serie a la configuración de Maestro
mySerial.begin(9600);
Delay(1000);
definir pines para código binario a Arduino Uno
pinMode (22, salida);
pinMode (24, salida);
pinMode (28, salida);
pinMode (30, salida);
Hacer código binario = 0
digitalWrite (22, bajo); 1 2 4 8
digitalWrite (24, bajo); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
Definir todos los pines disparador como entradas con resistencia de pullup interna
pinMode (31, INPUT_PULLUP); Relé 1
digitalWrite (31, alto); Activar subida
pinMode (33, INPUT_PULLUP); Relé 2
digitalWrite (33, alto); Activar subida
pinMode (35, INPUT_PULLUP); Relé 3
digitalWrite (35, alto); Activar subida
pinMode (37, INPUT_PULLUP); Relé 4
digitalWrite (37, alto); Activar subida
pinMode (39, INPUT_PULLUP); Relé 5
digitalWrite (39, alto); Activar subida
pinMode (41, INPUT_PULLUP); Relais 6
digitalWrite (41, alto); Activar subida
pinMode (43, INPUT_PULLUP); Relé 7
digitalWrite (33, alto); Activar subida
pinMode (45, INPUT_PULLUP); Relé 8
digitalWrite (45, alto); Activar subida
pinMode (47, INPUT_PULLUP); Relé 9
digitalWrite (47, alto); Activar subida
pinMode (49, INPUT_PULLUP); Relé de 10
digitalWrite (49, alto); Activar subida
pinMode (51, INPUT_PULLUP); Relé 11
digitalWrite (51, alto); Activar subida
pinMode (53, INPUT_PULLUP); Relé 12
digitalWrite (51, alto); Activar subida
}
void loop()
{
leer las entradas del disparador
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 activa Mostrar 1, iniciar secuencia
Si (Push1 == 0)
{
Serial.println ("feliz cumpleaños Emily");
Si (mySerial.available())
Serial.Write(mySerial.Read());
Si (Serial.available())
mySerial.write(Serial.read());
mySerial.write(0xA7); Ejecute la subrutina de maestro
mySerial.write((byte)0x00); id de dispositivo
Enviar valor binario 1 a Uno reproducir WAV archivo 1
digitalWrite (22, alto); 1 2 4 8
digitalWrite (24, bajo); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
Delay (500);
digitalWrite (22, bajo); 1 2 4 8
digitalWrite (24, bajo); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
}
Si activa Mostrar 2, iniciar secuencia
Si (Push2 == 0)
{
Serial.println ("feliz cumpleaños Kim");
Si (mySerial.available())
Serial.Write(mySerial.Read());
Si (Serial.available())
mySerial.write(Serial.read());
mySerial.write(0xA7); Ejecute la subrutina
mySerial.write((byte)0x01); id de dispositivo
Enviar valor binario 2 a Uno reproducir WAV archivo 2
digitalWrite (22, bajo); 1 2 4 8
digitalWrite (24, alto); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
Delay (500);
digitalWrite (22, bajo); 1 2 4 8
digitalWrite (24, bajo); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
}
Si activa Mostrar 3, iniciar secuencia
Si (Push3 == 0)
{
Serial.println ("feliz cumpleaños Megan");
Si (mySerial.available())
Serial.Write(mySerial.Read());
Si (Serial.available())
mySerial.write(Serial.read());
mySerial.write(0xA7); Ejecute la subrutina
mySerial.write((byte)0x02); id de dispositivo
Enviar valor binario 3 a Uno reproducir WAV archivo 3
digitalWrite (22, alto); 1 2 4 8
digitalWrite (24, alto); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
Delay (500);
digitalWrite (22, bajo); 1 2 4 8
digitalWrite (24, bajo); 1 2 4 8
digitalWrite (28, bajo); 1 2 4 8
digitalWrite (30, bajo); 1 2 4 8
}
Si activa Mostrar 4, iniciar secuencia
Si (Push4 == 0)
{
Serial.println ("casa Guarnero");
Si (mySerial.available())
Serial.Write(mySerial.Read());
Si (Serial.available())