Stap 41: Program aanbieding - Arduino Mega 2560
De Arduino Mega 2560 leest van de externe relais-triggers en een 4-cijferige binaire code stuurt naar de Arduino Uno waarmee het gewenste audiobestand wordt afgespeeld. De Arduino Mega 2560 stuurt ook een subroutine nummer op de Maestro servo-controller die de beweging die gespeeld moet worden gebaseerd op de externe trigger vertegenwoordigt. Verwijzen naar de elektrische tekeningen voor aansluiting informatie.
John Guarnero
September 2014
serieel naar Maestro config
#include
#define txPin 14
#define rxPin 15
#define sub0 0
SoftwareSerial mySerial (rxPin, txPin);
Audio- en externe Setup
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
{
serieel naar Maestro config
mySerial.begin(9600);
delay(1000);
define pinnen te gebruiken voor binaire code aan Arduino Uno
pinMode (22, OUTPUT);
pinMode (24, OUTPUT);
pinMode (28, OUTPUT);
pinMode (30, OUTPUT);
Maken van binaire Code = 0
digitalWrite (22, laag); 1 2 4 8
digitalWrite (24, laag); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
Definiëren van alle externe trigger-pinnen als ingangen met interne pullup weerstand
pinMode (31), INPUT_PULLUP; Estafette 1
digitalWrite (31, hoge); Pullup inschakelen
pinMode (33, INPUT_PULLUP); Relay 2
digitalWrite (33, middelbare); Pullup inschakelen
pinMode (35, INPUT_PULLUP); Relais 3
digitalWrite (35, hoge); Pullup inschakelen
pinMode (37, INPUT_PULLUP); Estafette 4
digitalWrite (37, hoge); Pullup inschakelen
pinMode (39, INPUT_PULLUP); Relay 5
digitalWrite (39, hoge); Pullup inschakelen
pinMode (41), INPUT_PULLUP; Relais 6
digitalWrite (41), HIGH; Pullup inschakelen
pinMode (43), INPUT_PULLUP; Relay 7
digitalWrite (33, middelbare); Pullup inschakelen
pinMode (45, INPUT_PULLUP); Relay 8
digitalWrite (45, hoge); Pullup inschakelen
pinMode (47), INPUT_PULLUP; Relais 9
digitalWrite (47), HIGH; Pullup inschakelen
pinMode (49, INPUT_PULLUP); Estafette 10
digitalWrite (49, hoge); Pullup inschakelen
pinMode (51, INPUT_PULLUP); Relay 11
digitalWrite (51, hoge); Pullup inschakelen
pinMode (53, INPUT_PULLUP); Relay 12
digitalWrite (51, hoge); Pullup inschakelen
}
void loop
{
Lees de externe trigger-ingangen
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);
Als Toon 1 geactiveerd, initate reeks
Als (Push1 == 0)
{
Serial.println ("Happy Birthday Emily");
Als (mySerial.available())
Serial.write(mySerial.Read());
Als (Serial.available())
mySerial.write(Serial.read());
mySerial.write(0xA7); maestro-subroutine uitgevoerd
mySerial.write((byte)0x00); apparaat-id
Waarde van binaire 1 verzenden Uno voor het afspelen WAV bestand 1
digitalWrite (22, hoge); 1 2 4 8
digitalWrite (24, laag); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
vertraging (500);
digitalWrite (22, laag); 1 2 4 8
digitalWrite (24, laag); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
}
Als Toon 2 geactiveerd, initate reeks
Als (Push2 == 0)
{
Serial.println ("Happy Birthday Kim");
Als (mySerial.available())
Serial.write(mySerial.Read());
Als (Serial.available())
mySerial.write(Serial.read());
mySerial.write(0xA7); subroutine uitgevoerd
mySerial.write((byte)0x01); apparaat-id
Waarde van binaire 2 verzenden Uno voor het afspelen WAV bestand 2
digitalWrite (22, laag); 1 2 4 8
digitalWrite (24, hoge); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
vertraging (500);
digitalWrite (22, laag); 1 2 4 8
digitalWrite (24, laag); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
}
Als Toon 3 geactiveerd, initate reeks
Als (Push3 == 0)
{
Serial.println ("Happy Birthday Megan");
Als (mySerial.available())
Serial.write(mySerial.Read());
Als (Serial.available())
mySerial.write(Serial.read());
mySerial.write(0xA7); subroutine uitgevoerd
mySerial.write((byte)0x02); apparaat-id
Waarde van binaire 3 verzenden Uno voor het afspelen WAV bestand 3
digitalWrite (22, hoge); 1 2 4 8
digitalWrite (24, hoge); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
vertraging (500);
digitalWrite (22, laag); 1 2 4 8
digitalWrite (24, laag); 1 2 4 8
digitalWrite (28, laag); 1 2 4 8
digitalWrite (30, laag); 1 2 4 8
}
Als Toon 4 geactiveerd, initate reeks
Als (Push4 == 0)
{
Serial.println ("Guarnero huis");
Als (mySerial.available())
Serial.write(mySerial.Read());
Als (Serial.available())