- Wymagane składniki:
- Objaśnienie robocze:
- Schemat obwodu:
- Dekodowanie sygnałów pilota na podczerwień za pomocą Arduino:
- Tworzenie aplikacji na Androida dla IR Blaster:
Rozpocząłem ten projekt, aby pozbyć się różnych pilotów w moim domu i zbudować coś pojedynczego, co mogłoby zawierać cechy wszystkich z nich. Wpadłem na ten pomysł, kiedy zobaczyłem jeden z telefonów komórkowych mojego przyjaciela z wbudowanym nadajnikiem podczerwieni, wtedy zdecydowałem się nie kupować podobnego telefonu, a raczej stworzyć własne urządzenie, które powinno być kompatybilne z moim dotychczasowym telefonem. Więc tutaj zamierzamy przekonwertować telefon z Androidem na pilota na podczerwień za pomocą Arduino do sterowania różnymi urządzeniami w domu.
Wymagane składniki:
- Arduino Uno
- Dioda podczerwieni
- Odbiornik TSOP-IR (1838T)
- Moduł Bluetooth (HC05)
- Urządzenie z systemem Android (telefon, tablet itp.)
Objaśnienie robocze:
Zasadniczo używamy dwóch pilotów do obsługi telewizora w domu, jednego do telewizora i jednego do dekodera, więc tutaj w tym projekcie celuję w te dwa piloty i sprawię, że telefon z Androidem będzie działał jako IR Blaster, aby telewizor mógł być sterowany za pomocą telefonu, bez dotykania żadnego z pilotów.
Korzystanie z płyty Arduino Uno po prostu ułatwiło mi radzenie sobie z dekodowaniem i kodowaniem IR. Zamówienie tarcza po prostu dodaje się do części wygody tego projektu. Tarcza składa się z odbiornika TSOP IR (1838T), diody LED IR i modułu Bluetooth (HC-05), patrz zdjęcie poniżej:
Możesz albo zbudować niestandardową osłonę, albo bezpośrednio podłączyć komponenty do Arduino, jak pokazano na `` Schemacie obwodu '' w poniższej sekcji.
Zanim przejdziemy dalej, omówmy najpierw „jak działają piloty na podczerwień”. Większość pilotów na podczerwień pracuje na częstotliwościach 38 kHz (to jest powód, dla którego wybrałem 18 38 T). Po dalszym zaangażowaniu się w ten temat można zauważyć, że w tych metodach transmisji danych w podczerwieni nie ma ustalonej reprezentacji zer i jedynek. Kody te wykorzystują różne techniki kodowania, których uczymy się w naszym programie nauczania (ponieważ jestem studentem inżynierii elektroniki). Znaczenie 38 kHz polega na tym, że jest to częstotliwość, przy której sygnał oscyluje, gdy jest logicznie wysoki, tj. Jest to częstotliwość nośna sygnału. Spójrz na poniższe zdjęcie; to jest przykład protokołu NEC. Dzięki temu Twoja koncepcja będzie bardziej przejrzysta:
Oto jak działa ten IR Blaster; Telefon z Androidem z niestandardową aplikacją na Androida wysyła sygnał do obwodu Arduino przez Bluetooth, dalej Arduino odbiera sygnał przez odbiornik TSOP-IR (1838T) i analizuje go. Następnie Arduino wydaje polecenie, aby dioda podczerwieni migała w określonym wzorze, odpowiadającym przyciskowi naciśniętemu na tej aplikacji urządzenia z systemem Android. Ten migający wzór jest przechwytywany przez odbiornik podczerwieni telewizora lub dekodera i postępuje zgodnie z instrukcjami, takimi jak zmiana kanału lub zwiększenie głośności.
Ale wcześniej musimy zdekodować istniejące piloty. Jak wspomniałem wcześniej, w tym projekcie wykorzystałem dwa piloty, z których jeden komunikuje się z telewizorem, a drugi do dekodera podłączonego do telewizora.
Schemat obwodu:
Dekodowanie sygnałów pilota na podczerwień za pomocą Arduino:
Płyta Arduino działa tutaj w dwóch fazach, jedna polega na dekodowaniu kodów IR z pilota, a druga podczas używania jej jako nadajnika podczerwieni.
Porozmawiajmy o pierwszej fazie. Teraz, aby zdekodować kody przycisków IR, skorzystałem z pliku nagłówkowego IRremote Kena Shirriffa . Ten plik nagłówkowy zawiera wiele predefiniowanych przykładów / kodów, aby ułatwić nam pracę z kodami IR:
- Najpierw musisz pobrać i zainstalować zdalną bibliotekę IR stąd
- Rozpakuj go i umieść w folderze „Biblioteki” Arduino. Następnie zmień nazwę wyodrębnionego folderu na IRremote.
- Następnie wypal poniższy kod do Arduino, podłącz niestandardową osłonę, jak pokazano powyżej, i umieść pilota do zdekodowania przed odbiornikiem TSOP IR. Otwórz monitor szeregowy odpowiadający temu Arduino i naciśnij dowolny przycisk na pilocie. Zobaczysz kilka informacji wyświetlanych na terminalu, te informacje dotyczą typu kodu, jego wartości i ilości bitów z nim związanych. Oto jak to wygląda:
#zawierać
Gdy skończysz z żądaną częścią dekodowania, zanotuj wszystkie wartości dekodowania i inne informacje, naciskając odpowiadającą im nazwę przycisku. Będzie to służyć jako baza danych dla następnej fazy Arduino. Powyższy program pochodzi z folderu „przykłady” biblioteki IRremote. Możesz sprawdzić więcej przykładów, aby dowiedzieć się więcej o korzystaniu z pilota na podczerwień. Tak więc zdekodowaliśmy wyjście pilota IR.
Teraz wypal Kod, podany w sekcji Kod na końcu, na tej samej tablicy. Gratulacje, pierwsza połowa tego projektu została ukończona.
Tworzenie aplikacji na Androida dla IR Blaster:
Nadchodzi druga połowa, tworzenie aplikacji na Androida. Po prostu wolę używać aplikacji Inventor-2 firmy MIT do tworzenia tego rodzaju aplikacji. Jeśli jesteś amatorem kodowania Androida, pozwoli to zaoszczędzić czas i zapewni dobre wyniki. Główne komponenty użyte do stworzenia tej aplikacji to niewiele, tylko kilka przycisków i pakiet klienta Bluetooth. Podczas kodowania aplikacji podaj odpowiedni tekst, który zostanie wysłany dla każdego przycisku naciśniętego na ekranie, który poprosiłby Arduino o mrugnięcie diodą podczerwieni w taki sam sposób, jak zrobiłby to indywidualny pilot; upewnij się również, że podałeś prawidłowy adres modułu Bluetooth HC-05. Tak będzie wyglądać ostateczna aplikacja na smartfonie z systemem Android:
Oto proces tworzenia aplikacji krok po kroku:
KROK 1:
Zaloguj się do tego linku: ai2.appinventor.mit.edu lub spróbuj wyszukać MIT appinventor-2 w Google. Logowanie do AI2 wymaga konta Google, więc jeśli go nie masz, utwórz je.
KROK 2:
Po zalogowaniu się na swoje konto Google zostaniesz przekierowany na działającą stronę internetową AI2, która wygląda następująco:
Rozpocznij nowy projekt klikając zakładkę „Projekty” u góry i wybierz „Rozpocznij nowy projekt”. Kiedy skończysz z częścią nazywania i wszystkim, zostanie wyświetlony pusty ekran, na którym możesz umieścić przyciski i tekst, jak pokazano powyżej. To jest ekran GUI, na którym decydujesz, jak aplikacja będzie wyglądać dla użytkownika.
Aby użyć pakietu przycisków, wybierz zakładkę „Przycisk” po lewej stronie ekranu w sekcji „Interfejs użytkownika”. Po prostu przeciągnij dowolny pakiet z menu po lewej stronie i upuść go na ekranie roboczym. Podobnie, aby wyświetlić dowolne treści związane z tekstem, użyj pakietu „Label”.
KROK 3:
Po ułożeniu wszystkich przycisków i etykiet nadszedł czas na stworzenie kodu dla tej aplikacji. Ale wcześniej musimy również wybrać pakiet Bluetooth do komunikacji z Arduino.
Zauważysz, że ten pakiet nie jest wyświetlany na ekranie, a znajduje się w sekcji „Niewidoczne komponenty”. Są to komponenty, które nie mają znaczenia w tworzeniu GUI.
KROK 4:
Następnie przychodzi sekcja kodowania, w której zdefiniujesz funkcję dla wybranych komponentów, z którymi chcesz pracować.
Po lewej stronie ekranu zauważysz wszystkie pakiety, które wybrałeś w sekcji GUI. Powyższy obrazek pokazuje, jakie są wszystkie komponenty w konkretnym pakiecie, z których możesz skorzystać. Zwróć także uwagę, że adres modułu Bluetooth musi być podany w formacie tekstowym.
ZESTAW 5:
Gdy uznasz, że aplikacja jest gotowa do użycia i nie ma również żadnych błędów, kliknij kartę „Kompiluj”, jak pokazano powyżej, i wybierz drugą opcję. Spowoduje to pobranie własnej aplikacji na komputer w formacie „.apk”. Następnie po prostu prześlij ten plik.apk na dowolne urządzenie z systemem Android i kliknij go, aby zainstalować.
W ten sposób możesz sterować dowolnym urządzeniem sterowanym na podczerwień za pomocą swojego smartfona, wystarczy zdekodować pilota dowolnego urządzenia, którym chcesz sterować za pomocą telefonu i zamienić zdekodowany kod HEX przycisków pilota w kodzie Arduino.