Please help,
I keep running into this same problem with my if statements and have not been able to find the reason why. Any help is greatly appreciated.
Thank you
Template_Code.ino (2.22 KB)
Please help,
I keep running into this same problem with my if statements and have not been able to find the reason why. Any help is greatly appreciated.
Thank you
Template_Code.ino (2.22 KB)
(deleted)
(deleted)
(deleted)
Thank you very much! This looks a lot better
/*
"Template Code"
Designed by Grant Bloom in association with Red Hering Prop Shop LLC.
*/
int DigitalInputA = 2;
int DigitalInputB = 3;
int DigitalInputC = 4;
int AnalogInputA = A0;
int AnalogInputB = A1;
int AnalogInputC = A2;
int DigitalOutputA = 13;
int DigitalOutputB = 12;
int DigitalOutputC = 11;
int DigitalOutputFinal = 10;
void setup() {
pinMode(DigitalInputA, INPUT);
pinMode(DigitalInputB, INPUT);
pinMode(DigitalInputC, INPUT);
pinMode(AnalogInputA, INPUT);
pinMode(AnalogInputB, INPUT);
pinMode(AnalogInputC, INPUT);
pinMode(DigitalOutputA, OUTPUT);
pinMode(DigitalOutputB, OUTPUT);
pinMode(DigitalOutputC, OUTPUT);
pinMode(DigitalOutputFinal, OUTPUT);
digitalWrite(DigitalOutputA, HIGH);
digitalWrite(DigitalOutputB, HIGH);
digitalWrite(DigitalOutputC, HIGH);
digitalWrite(DigitalOutputFinal, HIGH);
}
void loop() {
// Input A Activating Output A (binary)
if((digitalRead(DigitalInputA) == HIGH) && (digitalRead(DigitalOutputA) == HIGH)) {
digitalWrite(DigitalOutputA, LOW);
}
if((digitalRead(DigitalInputA) == HIGH) && (digitalRead(DigitalOutputA) == LOW)) {
digitalWrite(DigitalOutputA, HIGH);
}
// Input B Activating Output B (binary)
if((digitalRead(DigitalInputB) == HIGH) && (digitalRead(DigitalOutputB) == HIGH)) {
digitalWrite(DigitalOutputB, LOW);
}
if((digitalRead(DigitalInputB) == HIGH) && (digitalRead(DigitalOutputB) == LOW)) {
digitalWrite(DigitalOutputB, HIGH);
}
// Input C Activating Output C (binary)
if((digitalRead(DigitalInputC) == HIGH) && (digitalRead(DigitalOutputC) == HIGH)) {
digitalWrite(DigitalOutputC, LOW);
}
if((digitalRead(DigitalInputC) == HIGH) && (digitalRead(DigitalOutputC) == LOW)) {
digitalWrite(DigitalOutputC, HIGH);
}
// Final Output Powering Off
if((digitalRead(DigitalOutputA) == LOW) && (digitalRead(DigitalOutputB) == LOW) && (digitalRead(DigitalOutputC) == LOW)) {
digitalWrite(DigitalOutputFinal, LOW);
}
}
You'd have a LOT less code if you read the three switches ONE time on each pass through loop() and put the one bit value you read into a different bit in a byte, and used a switch statement with that byte as the switch value.