I am making a small scale lightbar, and am having trouble. I'm using an IRremote library for activation of the lights so it can be mostly wireless. The problem, however, is that the code only runs once when I press the button once and does not loop. The serial monitor also has an issue where is reads every button the same, which isn't helping. I will provide more info if needed to help resolve. Thanks in advance!
// v Front Side v
const int led1 = 52; //Blue
const int led2 = 53; //Blue
const int led3 = 50; //White
const int led4 = 51; //Blue
const int led5 = 48; //IR
const int led6 = 49; //Blue
const int led7 = 46; //White
const int led8 = 47; //Blue
const int led9 = 44; //Blue
// v REAR SIDE v
const int led10 = 45; //Blue
const int led11 = 42; //Blue
const int led12 = 43; //White
const int led13 = 40; //Blue
const int led14 = 41; //Blue
#include <IRremote.h>
#define IR_RECEIVE_PIN 8
#define IR_BUTTON_1 12
#define IR_BUTTON_2 24
#define IR_BUTTON_3 94
#define IR_BUTTON_PLAY_PAUSE 64
void setup() {
Serial.begin(9600);
IrReceiver.begin(IR_RECEIVE_PIN);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT); //Stating LED pins as outputs
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led14, OUTPUT);
}
void loop() {
if (IrReceiver.decode()) {
IrReceiver.resume();
int command = IrReceiver.decodedIRData.command;
if(IR_BUTTON_1 == HIGH); {
Serial.println("Pressed on button 1");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led4, HIGH);
delay(50);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led4, LOW);
delay(50);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led4, HIGH);
delay(50);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led4, LOW);
delay(50);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led4, HIGH);
delay(150); //BREAK
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led4, LOW);
delay(50);
digitalWrite(led3, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
delay(50);
digitalWrite(led3, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
delay(50);
digitalWrite(led3, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
delay(50);
digitalWrite(led3, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
delay(50);
digitalWrite(led3, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
delay(150);
digitalWrite(led3, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
delay(50); }
if(IR_BUTTON_PLAY_PAUSE == HIGH);
Serial.println("Pressed on button play/pause");
//Pattern not yet made for this button
}
}