Hi
As you all said me to do the project in real world our practically. I have done that, but now the same issue occur when I am pressing IR Remote button the program starts working but it only loop 1 time not again and again looping my code is
#include <IRremote.h>
#include<LiquidCrystal.h>
int RECV_PIN = 9;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int RED = 5;
const int YELLOW = 6;
const int BLUE = 7;
int counter;
LiquidCrystal lcd(11, 10, 4, 3, 2, 8);
int Random = 0;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
lcd.begin(16, 2);
pinMode(RED,OUTPUT);
pinMode(YELLOW,OUTPUT);
pinMode(BLUE,OUTPUT);
lcd.begin(16,2);
lcd.print("Starting System");
delay(1500);
lcd.clear();
lcd.print("System On");
delay(2500);
lcd.clear();
}
void loop()
{
if (irrecv.decode(&results))
{
switch (results.value)
{
case 0xFD00FF :
lcd.setCursor(0,0);
lcd.print("All of");
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
Serial.println("ALL LED OFF");
break;
case 0xFD08F7:
digitalWrite(RED,HIGH);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
Serial.println("RED ON");
break;
case 0xFD8877 :
lcd.setCursor(0,0);
lcd.print("Yellow On");
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
digitalWrite(BLUE,LOW);
Serial.println("YELLOW ON");
break;
case 0xFD48B7 :
lcd.setCursor(0,0);
lcd.print("Blue On");
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,HIGH);
Serial.println("BLUE ON");
break;
case 0xFD28D7 :
lcd.setCursor(0,0);
lcd.print("Blink 1 Sec");
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
digitalWrite(RED,HIGH);
delay(1000);
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
delay(1000);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,HIGH);
delay(1000);
digitalWrite(BLUE,LOW);
Serial.println("BLINKING FASTLY 1 SEC");
break;
case 0xFDA857 :
lcd.setCursor(0,0);
lcd.print("Blink 3 Sec");
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
digitalWrite(RED,HIGH);
delay(3000);
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
delay(3000);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,HIGH);
delay(3000);
digitalWrite(BLUE,LOW);
Serial.println("BLINKING FASTLY 3 SEC");
break;
case 0xFD6897 :
lcd.setCursor(0,0);
lcd.print("Blink 5 Sec");
digitalWrite(RED,LOW);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,LOW);
digitalWrite(RED,HIGH);
delay(5000);
digitalWrite(RED,LOW);
digitalWrite(YELLOW,HIGH);
delay(5000);
digitalWrite(YELLOW,LOW);
digitalWrite(BLUE,HIGH);
delay(5000);
digitalWrite(BLUE,LOW);
Serial.println("BLINKING FASTLY 5 SEC");
break;
case 0xFD18E7 :
lcd.setCursor(0,0);
lcd.print("All On");
digitalWrite(RED,HIGH);
digitalWrite(YELLOW,HIGH);
digitalWrite(BLUE,HIGH);
Serial.println("ALL ON ");
break;
case 0xFD58A7 :
lcd.setCursor(0,0);
lcd.print("Random");
digitalWrite(5, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
digitalWrite(6, LOW);
digitalWrite(7,HIGH);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
digitalWrite(7,LOW);
digitalWrite(5, HIGH);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
digitalWrite(6, LOW);
digitalWrite(7,HIGH);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
digitalWrite(7,LOW);
digitalWrite(5, HIGH);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
digitalWrite(7,HIGH);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(7,LOW);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(6, LOW);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(200); // Wait for 200 millisecond(s)
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(200); // Wait for 200 millisecond(s)
digitalWrite(6, LOW);
digitalWrite(7,HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7,LOW);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(7,LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
delay(1000 * random(0.2, 2 + 1)); // Wait for 1000 * random(0.2, 2 + 1) millisecond(s)
for (counter = 0; counter < 10; ++counter) {
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(7,LOW);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(6, LOW);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(200); // Wait for 200 millisecond(s)
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(200); // Wait for 200 millisecond(s)
digitalWrite(6, LOW);
digitalWrite(7,HIGH);
}
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
delay(1000 * random(0.1, 2 + 1)); // Wait for 1000 * random(0.1, 2 + 1) millisecond(s)
digitalWrite(7,LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(7,HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(7,LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
break;
default:
Serial.print("Undefined code received: 0x");
Serial.println(results.value, HEX);
lcd.begin(16, 2);
lcd.print("Undefined Button");
lcd.setCursor(0, 1);
lcd.print(results.value, HEX);
break;
}
irrecv.resume();
}
}
Can anyone pls tell mistake in my code that why led is not blinking again and again it stop's blinking only 1 time Why my code which is written in Loop function is not executing again and again
Thanks in Advance
Krishna