Kontrola LED przy użyciu czujnika IR i IR pilot z Arduino Uno

Kontrola LED przy użyciu czujnika IR i IR pilot z Arduino Uno
Arduino Uno z odbiornikiem IR to popularna kombinacja budowania projektów zdalnego sterowania IR. Odbiornik IR to urządzenie, które może wykrywać i odbierać sygnały podczerwieni. Razem Arduino Uno i odbiornik IR mogą być używane do budowania projektów, które mogą być kontrolowane przez ręczny pilot IR lub inny nadajnik IR.

Ten artykuł obejmuje:

  • 1: Wprowadzenie do czujnika IR
  • 2: Pinout czujnika IR
  • 3: Interfejs czujnik IR z Arduino
  • 3.1: Schemat
  • 3.2: Instalowanie wymaganej biblioteki
  • 4: Dekodowanie zdalnych przycisków IR
  • 4.1: Kod
  • 4.2: Wyjście
  • 5: Kontrolowanie diody LED za pomocą pilota IR
  • 5.1: Schemat
  • 5.2: Kod
  • 5.3: Wyjście
  • Wniosek

1: Wprowadzenie do czujnika IR

Odbiornik IR to urządzenie, które może wykrywać i odbierać sygnały podczerwieni (IR). Jest zwykle używany w systemach zdalnego sterowania IR do odbierania poleceń z zdalnego sterownika IR lub innego nadajnika IR. Odbiornik IR składa się z fotodiody lub innego komponentu wrażliwego na IR, który wykrywa sygnały IR i obwód demodulatora, który dekoduje sygnały.

Wyjście z odbiornika IR jest zwykle sygnałem cyfrowym, który może być przetwarzany przez mikrokontroler lub inne urządzenie elektroniczne. Odbiorniki IR są powszechnie stosowane w szerokiej gamie elektroniki użytkowej, w tym telewizorom, odtwarzaczom DVD, klimatyzatorom i innym urządzeniom domowym, a także w aplikacjach przemysłowych i motoryzacyjnych.

Warto zauważyć, że czujniki odbiorników IR mogą być podatne na zakłócenia z innych źródeł podczerwieni, takich jak światło słoneczne lub inne urządzenia IR. Aby tego uniknąć, zaleca się wskazanie czujnika odbiornika IR bezpośrednio na pilocie IR i trzymać czujnik z dala od innych źródeł podczerwieni.

2: Pinout czujnika IR

Czujnik odbiornika IR to mały moduł, który zwykle ma trzy piny:

  • VCC
  • GND
  • NA ZEWNĄTRZ

VCC PIN jest podłączony do zasilania, takiego jak pin 5V na Arduino, aby zapewnić zasilanie czujnikowi. NA ZEWNĄTRZ PIN jest podłączony do cyfrowego pinu wejściowego na Arduino i GND Pin jest podłączony do szpilki uziemienia na Arduino:

3: Interfejs czujnik IR z Arduino

Aby użyć czujnika odbiornika IR z Arduino Uno, biblioteki o nazwie IRUMOTE jest wymagane. Ta biblioteka można pobrać ze strony internetowej Arduino i umożliwia Arduino odkodować sygnały IR otrzymane przez czujnik. Po zainstalowaniu biblioteki można ją uwzględnić do szkicu (programu), który jest przesłany do Arduino.

Po podłączeniu czujnika odbiornika IR i przesłaniu szkicu Arduino może zacząć odbierać i interpretować sygnały z pilota IR. Sygnały IR można dekodować za pomocą funkcji dostarczonej przez bibliotekę Irremote, a następnie dekodowane sygnały można użyć do kontrolowania różnych urządzeń.

Na przykład do włączenia lub wyłączenia można użyć określonego sygnału IR lub do kontrolowania jasności lub temperatury.

1: Schemat

Oto podstawowy schemat łączenia czujnika IR z Arduino:

Czujnik IR Arduino
VCC (moc) 5v
GND (grunt) GND
OUT (wyjście) D8

Należy zauważyć, że różne czujniki IR mogą mieć różne pinuty i napięcia, dlatego ważne jest, aby sprawdzić arkusz danych dla określonego czujnika, którego używasz.

2: Instalowanie wymaganej biblioteki

Dla Arduino dostępnych jest kilka zdalnych bibliotek IR. Możesz użyć dowolnej z tych bibliotek zgodnie z wymaganiami i zdalnym protokołem IR, którego używasz.

Zainstalujemy IRUMOTE biblioteka przez Arminjo.

4: Dekodowanie zdalnych przycisków IR

Dostępnych jest wiele pilotów IR, takich jak telewizory, klimatyzatory i systemy automatyki domowej. Dekodując pilota IR, możemy zaprojektować uniwersalny pilot dla wszystkich tych urządzeń.

Aby zdekodować pilot IR, prześlij poniższy kod i naciśnij przyciski na pilocie IR, a następnie obserwuj monitor szeregowy Arduino IDE. Przykładowy szkic wydrukuje sygnał IR w formacie sześciokątnym i używany protokół.

Wyodrębnij kluczowe kody zdalnych przycisków IR, których chcesz użyć w swoim projekcie. Korzystając z tych kodów kluczy i funkcji biblioteki Irsemote Funkcje, możemy kontrolować żądane działania, gdy odpowiednie przyciski są naciśnięte na pilocie IR.

1: Kod

Prześlij kod podany poniżej za pośrednictwem Arduino IDE na Arduino UNO:

#include /*zawierał bibliotekę zdalną ir
Irrecv ir (8); /*D8 Arduino zdefiniowane*/
void setup ()
Ir.enableirin (); /*Włączona komunikacja IR*/
Seryjny.rozpocząć (9600); /*Szybkość seryjna Baud zdefiniowana*/

void Loop ()
if (ir.Decode ()) / *IR Zdalny biblioteka biblioteki do dekodowania zdalnego * /
Seryjny.println (ir.Decodedirdata.DecodedrawData, hex); /*Wydrukuj wartość sześciokątną*/
opóźnienie (1000);
Ir.wznawiać (); /*Poczekaj na następne wejście* /

Kod rozpoczął się od włączenia biblioteki zdalnej IR. Następnie zdefiniowaliśmy cyfrowy szpilkę Arduino, przy którym zostanie odczytany sygnał IR. Następnie w organizować coś() Część, inicjowaliśmy komunikację IR i wskaźnik transmisji jest zdefiniowany.

W pętla() Część kodu dekodujemy odbierany sygnał IR w formacie sześciokątnym, który jest następnie drukowany na monitor szeregowych.

2: Wyjście

Po przesłaniu kodu naciskaliśmy trzy przyciski czerwone, zielone i niebieskie na pilocie IR.

Następny KLĄTWA Kod jest uzyskiwany dla czerwonego, zielonego i niebieskiego przycisku na monitor szeregowych IDE.

Przycisk IR Kod heksowy
Czerwony przycisk 0xfb04Ef00
Zielony przycisk 0xfa05ef00
Niebieski przycisk 0xf906Ef00

5: Kontrolowanie diody LED za pomocą pilota IR

Aby kontrolować urządzenie z pilotem IR, musisz użyć dekodowanego KLĄTWA sygnały w twoim szkicu. Na przykład możesz użyć Jeśli inaczej Oświadczenie do sprawdzenia dekodowanego sygnału i włączenia lub wyłączania określonego urządzenia. Możesz także użyć dekodowanych sygnałów do kontrolowania jasności lub temperatury urządzenia.

1: Schemat

Dany obraz wyjaśnia połączenie trzech różnych kolorowych diod LED z Arduino i odbiornikiem IR.

Czujnik LED i IR PIN Arduino
CZERWONY D5
ZIELONY D6
NIEBIESKI D7
Czujnik IR D8

2: Kod

Poniżej znajduje się kod Arduino dla IR Pilot Controlds. Kod można przesłać na płytę Arduino Uno, otwierając Arduino IDE.

#include /*zawiera bibliotekę zdalną ir
Irrecv ir (8); /*Zdefiniowany pin IR*/
int Blue = 7; /*Niebieska dioda LED przy styku D7*/
int zielony = 6; /*Zielona dioda LED przy styku D6*/
int czerwony = 5; /*Czerwona dioda LED przy pin D5*/
Bool Red_State = 1; /*Stan czerwony LED*/
bool green_state = 1; /*Green LED State*/
bool blue_state = 1; /*Blue LED State*/
void setup ()
Ir.enableirin (); /*Komunikacja IR umożliwia*/
pinmode (niebieski, wyjściowy); /*Niebieski zestaw szpilki LED jako wyjściowy*/
pinmode (zielony, wyjściowy); /*Zielony zestaw szpilki LED jako wyjściowy*/
pinmode (czerwony, wyjściowy); /*Zestaw czerwonego szpilki LED jako wyjściowy*/
Seryjny.rozpocząć (9600);

void Loop ()
if (ir.Decode ()) /*dekoduj sygnał IR w formacie sześciokątnym* /
Seryjny.println (ir.Decodedirdata.DecodedrawData, hex);
/*Sprawdź wejście IR*/
/*Czerwony kod LED*/
if (ir.Decodedirdata.DecodedRawData == 0xfb04Ef00 && red_state == 1)
DigitalWrite (czerwony, wysoki);
Seryjny.println („czerwona dioda LED”);
Red_State = 0;

jeszcze if (ir.Decodedirdata.DecodedRawData == 0xfb04Ef00 && red_state == 0)

DigitalWrite (czerwony, niski);
Seryjny.println („czerwona dioda LED off”);
Red_State = 1;

/*Sprawdź wyjście IR*/
if (ir.Decodedirdata.DecodedRawData == 0xfa05ef00 && Green_state == 1)
/*Zielony kod LED*/
DigitalWrite (zielony, wysoki);
Seryjny.println („zielona dioda LED”);
Green_state = 0;

jeszcze if (ir.Decodedirdata.DecodedRawData == 0xfa05ef00 && Green_State == 0)

DigitalWrite (zielony, niski);
Seryjny.println („zielona dioda LED off”);
Green_state = 1;

/*Sprawdź kod IR*/
if (ir.Decodedirdata.DecodedRawData == 0xf906Ef00 && blue_state == 1)
/*Niebieski kod LED*/
DigitalWrite (niebieski, wysoki);
Seryjny.println („niebieska dioda LED”);
Blue_state = 0;

jeszcze if (ir.Decodedirdata.DecodedRawData == 0xf906Ef00 && blue_state == 0)

DigitalWrite (niebieski, niski);
Seryjny.println („Blue LED Off”);
Blue_state = 1;

Ir.wznawiać ();

Kod rozpoczął się od włączenia biblioteki zdalnej IR. Następnie zdefiniowaliśmy cyfrowy szpilkę Arduino, przy którym zostanie odczytany sygnał IR. Zdefiniowane są następne trzy piny do diod LED. Wszystkie trzy diody LED mają osobne stany, abyśmy mogli użyć funkcji przełączania wewnątrz kodu za pomocą i warunku.

w organizować coś() Część, inicjowaliśmy komunikację IR i wskaźnik transmisji jest zdefiniowany. Oprócz tego wszystkie trzy piny LED są ustawione jako wyjściowe za pomocą pinmode () funkcjonować.

W pętla() część kodu Jeśli inaczej Stan jest stosowany osobno dla wszystkich trzech diod LED. Wszystkie trzy diody LED są kontrolowane osobno za pomocą kodu sześciokątnego.

Przycisk IR Kod heksowy
Czerwony przycisk 0xfb04Ef00
Zielony przycisk 0xfa05ef00
Niebieski przycisk 0xf906Ef00

Notatka: Pamiętaj, że są to kod sześciokątny dla zdalnego, którego używamy. Twój pilot może mieć inny kod sześciokątny. Zastąp kod kodem sześciokątnym, który otrzymałeś w monitor szeregowych.

3: Wyjście

Po przesłaniu kodu na płytę Arduino naciśnij dowolną z trzech przycisków, które będą świeciły. Jeśli naciśniemy czerwony przycisk, czerwona dioda LED będzie świeci i odwrotnie:

Podobnie możemy również lśnić te diody LED. Aby wyłączyć diodę LED, po prostu naciśnij przycisk ponownie, ponieważ użyliśmy warunku przełączania w kodzie Arduino.

Za pomocą tej samej metody możemy kontrolować urządzenia AC, zastępując diody LED przełącznikiem przekaźnika.

Wniosek

Podsumowując, dekodowanie pilota IR za pomocą mikrokontrolera Arduino jest prostym i opłacalnym sposobem kontrolowania różnych urządzeń. Łącząc odbiornik IR z Arduino, przesyłanie szkicu i dekodowanie sygnałów IR, możesz łatwo kontrolować urządzenia, takie jak telewizory, klimatyzatory i systemy automatyzacji domowej.