09-08-2017, 19:02
Zmodyfikowałem gotowy program do sterowania diodą led za pomocą pilota na podczerwień działa ściemnianie rozjaśnianie ale włączanie i wyłączanie powoduje tylko włączanie diody
Kod:
#include <IRremote.h>
#define irPin 11 //pin Arduino, do którego został podłączony odbiornik IR
IRrecv irrecv(irPin);
decode_results results;
#define diodaPin 5
int jasnosc = 0;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // uruchamia odbiornik podczerwieni
pinMode(diodaPin, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) // sprawdza, czy otrzymano sygnał IR
{
switch (results.value) {
case 0x1045A: // rozjaśnianie
if (jasnosc < 255) {
jasnosc = jasnosc + 5;
}
Serial.println(jasnosc);
analogWrite(diodaPin, jasnosc);
break;
case 0x45B: //ściemnianie
if (jasnosc > 5) {
jasnosc = jasnosc - 5;
}
Serial.println(jasnosc);
analogWrite(diodaPin, jasnosc);
break;
case 0x10454: //wyłączanie
digitalWrite(diodaPin, LOW);
case 0x10482: //włączanie
digitalWrite(diodaPin, HIGH);
}
irrecv.resume(); // resetuje czujnik
}
}