Pamiętacie projekt lampki nocnej uruchamianej pilotem od dekodera TV? Tym razem przedstawiam wam projekt uruchamiania dowolnych urządzeń elektrycznych, przy pomocy dowolnego pilota, jaki tylko macie pod ręką. Oczywiście wszystko wykonane jedynie z 3 elementów, czyli arduino, przekaźnika a także odbiornika podczerwieni - wszystko to za bardzo niewielkie koszty.
Co potrzebujemy?
To co w naszych pozostałych ćwiczeniach:
https://flesztech.blogspot.com/2019/03/arduino-wprowadzenie-do-tematu-pierwszy-prosty-projekt.html
czyli:
* 1 kanałowy przekaźnik 5V 10A AVR ARM ARDUINO:
https://diolut.pl/modul-1-kanalowy-przekaznik-5v-10a-avr-arm-arduino-p-8746.html?
Wpierw musimy uzyskać kod sygnału od dowolnego pilota IR, dlatego w aplikacji ardunino musimy włączyć monitor portu COM:
i sprawdzić jaki aktualnie kod odbieramy z przycisku pilota i taki też wpisujemy do sketcha:
Link do pobrania biblioteki i sketcha:
https://drive.google.com/open?id=1_R3_1etZPu5AeA4YwfVHqTcsWGGnVhQL
Co potrzebujemy?
To co w naszych pozostałych ćwiczeniach:
https://flesztech.blogspot.com/2019/03/arduino-wprowadzenie-do-tematu-pierwszy-prosty-projekt.html
czyli:
* Moduł Mega2560 na układzie Atmega2560-16A U:
https://nowyelektronik.pl/index.php?id_product=89227&controller=product
https://nowyelektronik.pl/index.php?id_product=89227&controller=product
* 1 kanałowy przekaźnik 5V 10A AVR ARM ARDUINO:
https://diolut.pl/modul-1-kanalowy-przekaznik-5v-10a-avr-arm-arduino-p-8746.html?
* dowolny odbiornik IR (wiedząc jaki ma schemat wyjść: napięcie, masa, sygnał wyjściowy)
Schemat połączeń:
Sketche do wgrania:
Wpierw musimy uzyskać kod sygnału od dowolnego pilota IR, dlatego w aplikacji ardunino musimy włączyć monitor portu COM:
i sprawdzić jaki aktualnie kod odbieramy z przycisku pilota i taki też wpisujemy do sketcha:
#include <IRremote.h>
#define irPin 8
IRrecv irrecv(irPin);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
delay(250);
irrecv.resume();
}
}
Potem możemy wgrać program:
#include <IRremote.h>
#define irPin 8
IRrecv irrecv(irPin);
decode_results results;
#define diodaPin 7
int diodaStatus = LOW;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(diodaPin, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
switch (results.value) {
case 0x40BF8877:
Serial.println("srodek");
diodaStatus = ~diodaStatus;
digitalWrite(diodaPin, diodaStatus);
delay(250);
break;
case 0x40BF8878:
Serial.println("DLUGO");
diodaStatus = ~diodaStatus;
digitalWrite(diodaPin, diodaStatus);
delay(250);
break;
}
irrecv.resume();
}
}
Link do pobrania biblioteki i sketcha:
https://drive.google.com/open?id=1_R3_1etZPu5AeA4YwfVHqTcsWGGnVhQL
Gotowy efekt: