Hello, I am writing this to ask for help with a project I am on.
I am trying to control relays via buttons through the UNO board. I am not getting the success I am looking for. Any help will be appreciated.
Below is my code, the analog pins 14-19 are used for the button inputs, and digital pins 2-9 are used for relay output to control relays.
Thanks for the help anyone/everyone.
/*
AD 1.0
May 20, 2013
Written by Darryn Yost
UNO board
This project is to activate seperate relays via the press of 6 different button/switch to trigger different relays.
I am using an UNO and I have used 6 analog pins as inputs from buttons/swithches.
Relays are output from digital pins 2 through 9.
*/
// these constants won't change. They are the
// pins used
const int btnPin_UP = (14); // up button
const int btnPin_DOWN = (15); // down button
const int btnPin_ONE = (16); // up button
const int btnPin_TWO = (17); // down button
const int btnPin_THREE = (18); // up button
const int btnPin_SET = (19); // down button
void setup() {
pinMode(btnPin_UP, INPUT);
pinMode(btnPin_DOWN, INPUT);
pinMode(btnPin_ONE, INPUT);
pinMode(btnPin_TWO, INPUT);
pinMode(btnPin_THREE, INPUT);
pinMode(btnPin_SET, INPUT);
// initialize serial communication:
Serial.begin(9600);
}
void loop() {
// declare button state then
// read the BUTTON:
int UP_State = digitalRead(btnPin_UP);
//delay(10);
int DOWN_State = digitalRead(btnPin_DOWN);
//delay(10);
int ONE_State = digitalRead(btnPin_ONE);
//delay(10);
int TWO_State= digitalRead(btnPin_TWO);
//delay(10);
int THREE_State= digitalRead(btnPin_THREE);
//delay(10);
int SET_State= digitalRead(btnPin_SET);
//delay(10);
/*
Serial.println("btn_UP " );
Serial.println(UP_State);
delay(500);
Serial.println("btn_DOWN");
Serial.println(DOWN_State);
delay(500);
Serial.println("btn_ONE " );
Serial.println(ONE_State);
delay(500);
Serial.println("btn_TWO");
Serial.println(TWO_State);
delay(500);
Serial.println("btn_THREE ");
Serial.println(THREE_State);
delay(500);
Serial.println("btn_SET");
Serial.println(SET_State);
delay(500);
*/
// **********************************************************************
// trying to use LED to simulate relay ON/OFF
if(UP_State == 0){
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
delay(100);
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
digitalWrite(2, LOW); // Relay
delay(2100);
digitalWrite(13, HIGH);
delay(2100);
digitalWrite(13, LOW);
Serial.println("btn_UP = " );
Serial.println(UP_State);
delay(2100);
Serial.println(UP_State);
}
else if(DOWN_State == 0){
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
delay(100);
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
digitalWrite(3, HIGH); // Relay
delay(2000);
digitalWrite(3, LOW);
delay(2000);
digitalWrite(3, HIGH);
Serial.println("btn_DOWN");
Serial.println(DOWN_State);
delay(2100);
Serial.println(DOWN_State);
}
else if(ONE_State == 0){
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
delay(100);
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
digitalWrite(4, HIGH); // Relay
delay(2000);
digitalWrite(4, LOW);
delay(2000);
digitalWrite(4, HIGH);
Serial.println("btn_ONE");
Serial.println(ONE_State);
delay(2100);
Serial.println(ONE_State);
}
else if(TWO_State == 0){
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
delay(100);
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
digitalWrite(5, HIGH); // Relay
delay(2000);
digitalWrite(5, LOW);
delay(2000);
digitalWrite(5, HIGH);
Serial.println("btn_TWO");
Serial.println(TWO_State);
delay(250);
Serial.println(TWO_State);
}
else if(THREE_State == 0){
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
delay(100);
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
digitalWrite(6, HIGH); // Relay
delay(2000);
digitalWrite(6, LOW);
delay(2000);
digitalWrite(6, HIGH);
Serial.println("btn_THREE");
Serial.println(THREE_State);
delay(250);
Serial.println(THREE_State);
}
else if(SET_State == 0){
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
delay(100);
digitalWrite(12, HIGH); // Blink LED
delay(100);
digitalWrite(12, LOW);
digitalWrite(7, HIGH); // Relay
delay(2000);
digitalWrite(7, LOW);
delay(2000);
digitalWrite(7, HIGH);
Serial.println("btn_SET");
Serial.println(SET_State);
delay(250);
Serial.println(SET_State);
}
delay(10); // delay in between reads for stability
}