السلام عليكم
الاخوة الكرام الرجاء التفضل بمساعدتي في هذا الكود
#include <IRremote.h>
int RECV_PIN = 11;
int relay1 = 2;
int relay2 = 3;
int relay3 = 4;
int relay4 = 5;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(relay4, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay1, OUTPUT);
pinMode(13, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}
int on = 0;
unsigned long last = millis();
void loop() {
long int timer=millis();
long int wantt=timer;\
wantt=millis()/1000;
if (irrecv.decode(&results)) {
if (results.value == 0xFF28D7) { // Remote Control Power Code
// If it's been at least 1/4 second since the last
// IR received, toggle the relay
if (millis() - last > 250) {
on = !on;
digitalWrite(relay1, on ? HIGH : LOW);
}
last = millis();
}
irrecv.resume(); // Receive the next value
}
else if (results.value == 0xFFEA15) {
if (millis() - last > 250) {
on = !on;
digitalWrite(relay2, on ? HIGH : LOW);
}
last = millis();
}
else if (results.value == 0xFF827D) {
if (millis() - last > 250) {
on = !on;
digitalWrite(relay3, on ? HIGH : LOW);
}
last = millis();
}
else if (results.value == 0xFF629D) {
timer=millis()+3000;
last = millis();
}
if (timer<millis()) {
digitalWrite(relay4, HIGH );
timer=50*24*60*60+1;//50days*24h*60m*60s no.of millis. to float
}
}
والمشكلة عند التايمر الاخير حيث ان الليد لا يعمل
ولكم كل الشكر