I am using the digital pins on an Arduino Uno R3 to trigger a WAV trigger, but am running in to some problems where the Uno is outputting a latent voltage. I tested this by putting some LEDs in-line with the connection on a breadboard. They're pretty dim, but its enough to trigger the WAV board.
The variables: evervesence, sassy, hicolten, hibaker, uranidiot, wrongroom, and stopMusic are used to control the WAV trigger.
I need to have this completed by next week for my kid's birthday party. Its supposed to be a mission impossible style obstacle course, but if I cant get it done in time, he'll be pretty disappointed.
void setup () {
Serial.begin(9600);
pinMode(penalty, OUTPUT);
pinMode(laserPin, INPUT_PULLUP);
pinMode(lightsensing, INPUT_PULLUP);
pinMode(entrance, INPUT);
analogReference(INTERNAL);
pinMode(entrance, INPUT_PULLUP);
pinMode(diversion, INPUT_PULLUP);
pinMode(goal, INPUT_PULLUP);
}
void loop() {
/////////////////////////////////////////// entrance
entranceVolt = digitalRead(entrance);
if(entranceVolt > 0) {
Serial.print(entranceVolt);
digitalWrite(stopMusic, LOW);
digitalWrite(hicolten, HIGH); ///////////////////////
digitalWrite(evervesence, HIGH);
////////////////////////////////////////////// Laser grid
laservoltage = digitalRead(laserPin);
Serial.println( laservoltage );
if (laservoltage != 0) {
digitalWrite(penalty, HIGH);
digitalWrite(sassy, HIGH);
Serial.println(" LASER TRIPPED ");
}
if (laservoltage = 0){
digitalWrite(penalty, LOW);
digitalWrite(sassy, LOW);
}
////////////////////////////////////////////////// lightsensing
lightvoltage = digitalRead(lightsensing);
Serial.println( lightvoltage );
if (lightvoltage != 1){
digitalWrite(penalty, HIGH);
digitalWrite(sassy, HIGH);
Serial.println(" LIGHT SENSED ");
}
if (lightvoltage = 1){
digitalWrite(penalty, LOW);
digitalWrite(sassy, LOW);
}
//////////////////////////////////////////////////// Diversion
diversionVolt = digitalRead(diversion);
if (diversionVolt != 0){
digitalWrite(uranidiot, HIGH);
Serial.println("Diverted");
}
if (diversionVolt = 0){
digitalWrite(uranidiot, LOW);
}
///////////////////////////////////////////////////// Goal
goalVolt = digitalRead(goal);
if (goalVolt != 0){
digitalWrite(wrongroom, HIGH);
Serial.println("foundit");
}
if (goalVolt = 0){
digitalWrite(wrongroom, LOW);
}
}
///////////////////////////////////////////////////////////////////////////////////////////
if (entranceVolt <= 0) {
delay(100);
Serial.print(entranceVolt);
Serial.println("UNARMED");
digitalWrite(evervesence, LOW);
digitalWrite(hicolten, LOW);
digitalWrite(sassy, LOW);
digitalWrite(hibaker, LOW);
digitalWrite(wrongroom, LOW);
digitalWrite(uranidiot, LOW);
digitalWrite(stopMusic, HIGH);
}
}
The following is the INI file for the WAV trigger:
#BAUD 9600
#TRIG 01, 2, 0, 3, 0, 1, 1, 0, ,
#TRIG 02, 2, 1, 1, 0, 1, 4, 0, 2, 4
#TRIG 05, 2, 1, 1, 0, 1, 1, 0, ,
#TRIG 06, 2, 1, 1, 0, 1, 1, 0, ,
#TRIG 07, 2, 1, 1, 0, 1, 1, 0, ,
#TRIG 08, 2, 1, 1, 0, 1, 1, 0, ,
#TRIG 09, 2, 1, 1, 0, 0, 7, 0, 1, 16