- Wymagane składniki
- Jak działa komunikacja w podczerwieni?
- Schemat obwodu
- Programowanie dla zdalnego dekodera Arduino IR
- Zapisywanie danych pilota na podczerwień w arkuszu Excel
Komunikacja w podczerwieni (IR) jest prostą, niedrogą i szeroko stosowaną technologią komunikacji bezprzewodowej. Światło podczerwone jest nieco podobne do światła widzialnego, z wyjątkiem tego, że długość fali jest nieco dłuższa. Ta właściwość podczerwieni sprawia, że jest ona niewykrywalna dla ludzkiego oka i idealna do komunikacji bezprzewodowej.
Istnieje wiele aplikacji, w których trzeba dekodować sygnały IR, aby móc obsługiwać niektóre urządzenia za pomocą pilota IR. W tym samouczku zamierzamy użyć odbiornika podczerwieni TSOP1838 do zbudowania zdalnego dekodera podczerwieni za pomocą Arduino. Kod szesnastkowy każdego przycisku zostanie zarejestrowany w arkuszu Microsoft Excel. Ten prosty dekoder zdalnego sterowania na podczerwień może być używany w projektach, takich jak robot zdalnego sterowania na podczerwień, automatyka domowa i inne projekty sterowane na podczerwień.
Wcześniej używaliśmy pilota IR i odbiornika TSOP do budowy wielu przydatnych aplikacji, takich jak:
- Obwód ściemniacza TRIAC sterowany zdalnie na podczerwień
- Automatyka domowa sterowana zdalnie na podczerwień za pomocą Arduino
- Automatyka domowa sterowana zdalnie na podczerwień za pomocą mikrokontrolera PIC
- AC sterowany telefonem komórkowym za pomocą Arduino i Bluetooth
Wymagane składniki
- Arduino Uno / Arduino Nano
- Odbiornik podczerwieni (TSOP1838)
- Przewody połączeniowe
- Płytka prototypowa
Jak działa komunikacja w podczerwieni?
Podobnie jak inne systemy komunikacyjne, komunikacja w podczerwieni ma również nadajnik i odbiornik. Nadajnik wygląda jak dioda LED, ale wytwarza światło w widmie IR zamiast widzialnego. Natomiast odbiornik podczerwieni to fotodioda z wbudowanym przedwzmacniaczem, który zamienia światło podczerwone na sygnał elektryczny. W przypadku komunikacji w podczerwieni zarówno nadajnik, jak i odbiornik powinny być skierowane do siebie. Aby dowiedzieć się więcej o obwodzie nadajnika i odbiornika podczerwieni, kliknij łącze.
Po naciśnięciu przycisku pilota dioda LED IR (nadajnik) emituje światło podczerwone. To światło jest odbierane przez odbiornik, którym jest zazwyczaj fotodioda lub fototranzystor. Ale światło podczerwone jest również emitowane przez słońce, żarówki i wszystko inne, co wytwarza ciepło. Może to zakłócać sygnał nadajnika, więc aby temu zapobiec, sygnał nadajnika jest modulowany przy użyciu częstotliwości nośnej od 36 kHz do 46 kHz. Po odebraniu sygnału odbiornik podczerwieni demoduluje sygnał i konwertuje go na binarny przed przesłaniem do mikrokontrolera.
Tutaj używamy pilota TV do wysyłania sygnału IR i TSOP1838 z Arduino do ich odbierania.
Sprawdź również różne aplikacje oparte na podczerwieni, w tym obwód zakłócacza zdalnego sterowania telewizora i obwód testera podczerwieni.
Schemat obwodu
Schemat obwodu dla zdalnego dekodera IR wykorzystującego Arduino jest podany poniżej:
Połączenia są bardzo proste, ponieważ czujnik odbiornika podczerwieni ma tylko trzy piny, Vs, GND i Data. Podłącz pin Vs i GND odbiornika podczerwieni do pinu 3,3 V GND Arduino oraz pin danych do cyfrowego pinu 2 Arduino.
Programowanie dla zdalnego dekodera Arduino IR
Kompletny kod dekodera Arduino IR znajduje się na końcu strony.
Aby zdekodować pilota IR, najpierw musimy pobrać i dodać bibliotekę IR do Arduino IDE. Możesz pobrać bibliotekę pilota IR stąd. Po pobraniu pliku otwórz Arduino IDE i przejdź do Sketch> Include library> Add.Zip library . Wybierz plik biblioteki i kliknij „Otwórz”.
Rozpocznij kod, dołączając plik biblioteki pilota IR.
#zawierać
Następnie zdefiniuj pin Arduino, do którego podłączyłeś pin danych odbiornika podczerwieni. W moim przypadku jest podłączony do pinu D2 Arduino.
int IRPIN = 2;
Następnie utwórz instancję dla pinów odbiornika podczerwieni.
IRrecv irrecv (IRPIN);
W kolejnym wierszu należy zdefiniować obiekt dla klasy decode_results , który będzie używany przez odbiornik podczerwieni do wysyłania zdekodowanych informacji.
wynik decode_results;
Wewnątrz setup () funkcji, inicjować komunikację szeregową i uruchomić odbiornik IR wywołując IRrecv funkcja enableIRIn ().
void setup () {Serial.begin (9600); Serial.println („Włączanie IRin”); irrecv.enableIRIn (); Serial.println ("Włączony IRin"); Initialize_streamer (); }
W pętli () funkcji, irrecv.decode stale sprawdza nowego sygnału i jeśli zostanie odebrany nowy sygnał, odebrany kod sygnał zostanie zapisane w result.value funkcji.
void loop () {if (irrecv.decode (& wynik)) {Serial.print ("Wartość:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } opóźnienie (500); }
Do przesyłania danych do arkusza Excela z Arduino używamy PLX-DAQ. Używając funkcji Write_streamer () , wysyłamy dane szeregowo według określonego wzorca, tak jak przy wyświetlaniu wartości na monitorze szeregowym. Kluczowe kwestie wyjaśniono poniżej:
void Write_streamer () {Serial.print ("DANE"); // zawsze pisz "DANE", aby wskazać następujące dane jako Data Serial.print (","); // Przejdź do następnej kolumny za pomocą "," Serial.print (result.value, HEX); // Przechowuj datę w Excelu Serial.print (","); // Przejdź do następnej kolumny za pomocą "," Serial.println (); // End of Row move to next row}
Gdy sprzęt i program są gotowe, nadszedł czas, aby załadować program do tablicy Arduino Nano. Po wgraniu kodu skieruj pilota w stronę odbiornika podczerwieni i naciśnij przyciski pilota. Kod szesnastkowy dla każdego przycisku zostanie wydrukowany na monitorze szeregowym.
Zapisywanie danych pilota na podczerwień w arkuszu Excel
Teraz, aby wysłać dane do arkusza Excela, użyjemy PLX-DAQ. Jest to wtyczka programu Excel, która pomaga zapisywać wartości z Arduino bezpośrednio do arkusza Excel na laptopie lub komputerze. Użyj łącza, aby pobrać plik. Po pobraniu wypakuj plik i kliknij plik.exe, aby go zainstalować. Utworzy folder o nazwie PLX-DAQ na Twoim pulpicie.
Teraz otwórz plik „Arkusz kalkulacyjny PLX-DAQ” z folderu na pulpicie. Jeśli makra są wyłączone w programie Excel, zobaczysz blok bezpieczeństwa, jak pokazano na poniższym obrazku:
Kliknij Opcje-> Włącz zawartość -> Zakończ -> OK, aby włączyć makra. Następnie pojawi się następujący ekran:
Teraz wybierz prędkość transmisji na „9600” i port, do którego jest podłączone Twoje Arduino, a następnie kliknij Połącz, aby rozpocząć przesyłanie strumieniowe danych. Twoje wartości powinny zacząć się rejestrować, jak pokazano na poniższym obrazku.
W ten sposób można łatwo zbudować zdalny dekoder Arduino IR w celu konwersji sygnałów pilota IR na równoważny kod HEX.
Pełny kod Arduino wraz z filmem demonstracyjnym znajduje się poniżej.