Jag vill kunna kontrollera hastigheten och on/off på en fläkt med en vanlig fjärrkontroll.
Power knappen ger koden: 10C8E11E
Uppåt knappen ökar ljusstyrkan: 10C841BE
Nedåt knappen försvagar ljusstyrkan: 10C8A15E
#include <IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; int styrka = 0; int power = 0; //0 on 1 off void setup() { irrecv.enableIRIn(); Serial.begin(9600); } void loop() { if(irrecv.decode(&results)){ if(results.value == 0x10C8E11E) // om koden är power { if(styrka < 75){ styrka = 200; } else if(styrka > 75){ styrka = 0; } } else if(results.value == 0x10C841BE) // om koden är upp { if(styrka > 245){ styrka = 244; } styrka = styrka + 10; } else if(results.value == 0x10C8A15E) //om koden är ner { if(styrka < 4){ styrka = 10; } styrka = styrka - 10; } irrecv.resume(); // läs nästa värde } delay(5); analogWrite (9, styrka); }
Som färdig prototyp fungerar den så har:
Om du trycker power-knappen när styrkan är under 75 så kommer styrkan ökas till 200, är styrkan över 75 när du trycker på power-knappen så kommer den sänkas till 0.
Uppåt knappen kommer varje gång du trycker på den öka styrkan med 10 tills den nått maxnivån.
Ner knappen fungerar på samma sätt bara att den sänker nivån med 10 till ända till lägsta nivån.
Lägsta nivån är 0 och max nivå är 255
Ditt projekt är otroligt användbart och imponerande. Har du bilder och kopplingsscheman på ditt projekt?
LikeLike