Components and supplies
1
Arduino UNO
1
Thermopile IR Sensor, TS105-10L5.5mm
1
5 mm LED: Green
1
5 mm LED: Red
Tools and machines
1
Breadboard, 270 Pin
Apps and platforms
1
Arduino IDE
Project description
Code
IR Remote controlled LED CHASER progra
c_cpp
it can generate different LED chasing effect with help of remote
1#include <IRremote.h> 2 3int IRpin = 3; // pin for the IR sensor 4int intr_pin = 2; 5int del = 100; 6IRrecv irrecv(IRpin); 7decode_results results; 8unsigned long int recv_code,prev_code; 9void setup() 10{ 11 int i; 12 Serial.begin(9600); 13 Serial.println("IR remote control LED chaser"); 14 for(i=4;i<=13;i++) 15 { 16 pinMode(i,OUTPUT); 17 digitalWrite(i,LOW); 18 } 19 irrecv.enableIRIn(); // Start the receiver 20 attachInterrupt(digitalPinToInterrupt(intr_pin), receive_code, CHANGE); 21 } 22void loop() 23{ 24 if(results.value==2210) 25 { 26 effect1(); 27 irrecv.resume(); 28 } 29 if(results.value==6308) 30 { 31 effect1(); 32 irrecv.resume(); 33 } 34 if(results.value==2215) 35 { 36 effect3(); 37 irrecv.resume(); 38 } 39 if(results.value==6312) 40 { 41 effect4(); 42 irrecv.resume(); 43 } 44 if(results.value==2219) 45 { 46 effect5(); 47 irrecv.resume(); 48 } 49 if((recv_code==6338) || (recv_code==2242)) 50 { 51 Serial.println("blinking speed increase"); 52 if(del>50) del-=25; 53 irrecv.resume(); 54 while(!(irrecv.decode(&results))); 55 56 } 57 if((recv_code==6292) || (recv_code==2196)) 58 { 59 Serial.println("blinking speed decrease"); 60 if(del<200) del+=25; 61 irrecv.resume(); 62 while(!(irrecv.decode(&results))); 63 } 64 delay(200); 65 irrecv.resume(); 66 } 67void receive_code() 68 { 69 if(irrecv.decode(&results)) 70 { 71 if(recv_code != results.value) 72 { 73 Serial.print("received code "); 74 Serial.println(results.value); 75 recv_code = results.value; 76 } 77 } 78 } 79void effect1() 80 { 81 int x; 82 for(x=3;x<13;x++) 83 { 84 digitalWrite(x,HIGH); 85 delay(del); 86 } 87 delay(del); 88 for(x=3;x<13;x++) 89 { 90 digitalWrite(x,LOW); 91 delay(del); 92 } 93 } 94void effect2() 95 { 96 int x; 97 for(x=3;x<13;x++) 98 { 99 digitalWrite(x,HIGH); 100 delay(del); 101 digitalWrite(x,LOW); 102 } 103 delay(del); 104 for(x=12;x>3;x--) 105 { 106 digitalWrite(x,HIGH); 107 delay(del); 108 digitalWrite(x,LOW); 109 } 110 } 111void effect3() 112 { 113 int x; 114 for(x=3;x<12;x++) 115 { 116 digitalWrite(x,HIGH); 117 digitalWrite(x+1,HIGH); 118 delay(del); 119 digitalWrite(x,LOW); 120 digitalWrite(x+1,LOW); 121 } 122 delay(del); 123 for(x=12;x>4;x--) 124 { 125 digitalWrite(x,HIGH); 126 digitalWrite(x-1,HIGH); 127 delay(del); 128 digitalWrite(x,LOW); 129 digitalWrite(x-1,LOW); 130 } 131 } 132void effect4() 133 { 134 int x; 135 for(x=3;x<=8;x++) 136 { 137 digitalWrite(x,HIGH); 138 digitalWrite(15-x,HIGH); 139 delay(del); 140 } 141 delay(del); 142 for(x=8;x>=3;x--) 143 { 144 digitalWrite(x,LOW); 145 digitalWrite(15-x,LOW); 146 } 147 } 148 void effect5() 149 { 150 int x; 151 for(x=8;x>=3;x--) 152 { 153 digitalWrite(x,HIGH); 154 digitalWrite(15-x,HIGH); 155 delay(del); 156 } 157 delay(del); 158 for(x=3;x<=8;x++) 159 { 160 digitalWrite(x,LOW); 161 digitalWrite(15-x,LOW); 162 } 163 } 164
Comments
Only logged in users can leave comments