Spisu treści:

Uniwersalny pilot na podczerwień AIY: 5 kroków
Uniwersalny pilot na podczerwień AIY: 5 kroków

Wideo: Uniwersalny pilot na podczerwień AIY: 5 kroków

Wideo: Uniwersalny pilot na podczerwień AIY: 5 kroków
Wideo: Arduino 22: PILOT PODCZERWIENI 2024, Listopad
Anonim
Uniwersalny pilot na podczerwień AIY
Uniwersalny pilot na podczerwień AIY

Ta instrukcja opisuje, jak wykonać uniwersalny pilot na podczerwień AIY. Można go używać do sterowania dowolnym telewizorem, soundbarem, digiboxem, odtwarzaczem DVD lub Bluray za pomocą głosu.

Nazywam go uniwersalnym, ponieważ zawiera odbiornik podczerwieni, który można wykorzystać do nagrywania sygnału podczerwieni z dowolnego pilota.

Projekt AIY wykorzystuje program LIRC do nagrywania i przesyłania sygnału IR.

Krok 1: Zrób PCB

Zrób PCB
Zrób PCB
Zrób PCB
Zrób PCB

Lista części:

Dwa emitery LED na podczerwień 940nm 5mm

Jeden odbiornik podczerwieni TSOP38238

Jeden tranzystor 2n3904

Jeden rezystor 10 omów

Jeden veroboard

Cztery pojedyncze złącza (opcjonalnie - przecinam sześciostykowe złącze na pojedyncze złącza)

Kable do podłączenia do czapki AIY.

Upewnij się, że diody podczerwieni mają długą nóżkę w pierwszym rzędzie, a krótką nóżkę w drugim. Druga dioda LED z długą nogą w drugim rzędzie i krótką nogą w trzecim.

Tranzystor powinien mieć bazę na trzecim, kolektor na czwartym, a emiter na piątym. Upewnij się, że płaska strona rezystora jest skierowana w stronę złącza.

Rezystor przechodzi między rzędem piątym a rzędem ósmym.

Użyj krótkiego kawałka drutu, aby połączyć rząd jeden z siódmym.

Podłącz odbiornik podczerwieni do rzędu siódmego, ósmego i dziewiątego.

Dodaj złącza do rzędów pierwszego, czwartego, ósmego i dziewiątego.

Złącza to:

Rząd pierwszy - moc + 5 V

Rząd czwarty - sygnał nadajnika

Rząd ósmy - ziemia

Wiersz dziewiąty - sygnał odbiornika

Krok 2: Połącz się z kapeluszem AIY

Połącz się z kapeluszem AIY
Połącz się z kapeluszem AIY
Połącz się z kapeluszem AIY
Połącz się z kapeluszem AIY

Przylutowałem styki nagłówka do mojego AIY, aby znacznie ułatwić łączenie.

Piny, których użyłem to Servo 0 (GPIO 26) i Servo 5 (GPIO 24) dla sygnału. Użyłem również +5V z poziomego pinu nad pinami Servo. Wziąłem uziemienie z GND obok Servo 0, ale możesz użyć dowolnego uziemienia.

Używając odpowiednich kabli podłączyłem czapkę AIY do płytki w ten sposób:

+5 V do pierwszego rzędu

Serwo 0 (GPIO 26) do rzędu czwartego

GND do rzędu 8

Servo 5 (GPIO 24) do rzędu dziewiątego.

Krok 3: Zainstaluj LIRC

Zakładając, że już skonfigurowałeś i przetestowałeś AIY:

Musimy zainstalować LIRC. Postępuj zgodnie z tą cenną instrukcją mirzy irwana Osmana:

www.instructables.com/id/Install-Linux-Infrared-Remote-Control-LIRC-Package

LUB alternatywną instrukcję można znaleźć tutaj Alex Bane:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

UWAGA: do mojej konfiguracji musiałem upewnić się, że plik /boot/config.txt ma następujące elementy:

dtoverlay=lirc-rpi, gpio_in_pin=24, gpio_out_pin=26

Krok 4: Pobierz lub utwórz pliki LIRC dla swoich urządzeń

Następnym krokiem jest utworzenie pliku lircd.conf, który zawiera szczegółowe informacje o zdalnym sterowaniu urządzeniami, których chcesz użyć.

Istnieją dwa sposoby na utworzenie tego pliku:

1. Jeśli masz szczęście, możesz znaleźć istniejący plik na stronach LIRC swojego urządzenia

2. Jeśli nie możesz go znaleźć, musisz nagrać plik za pomocą odbiornika podczerwieni i pilota.

W kroku 1 przejdź do strony głównej LIRC i przejrzyj listę obsługiwanych urządzeń:

www.lirc.org/

Jeśli możesz znaleźć plik dla urządzenia, musisz przenieść informacje z pliku do pliku lircd.conf /etc/lirc

Ponieważ moja AIY nie ma nagłówków, używam WINScP do wprowadzania zmian w lirc.conf.

Potrzebne informacje zaczynają się od „rozpocznij zdalne” i kończą na „zakończ zdalne”

UWAGA: Jeśli chcesz sterować więcej niż jednym urządzeniem, po prostu dodaj dodatkowy kod pilota do tego samego pliku po istniejącym „pilocie końcowym”. Upewnij się, że każdy pilot ma unikalną nazwę. Używam „mytv” do telewizora, „sky” do mojego digiboxa itp.

Jeśli nie możesz znaleźć kodu dla swojego urządzenia, musisz go nagrać.

Postępuj zgodnie z instrukcją, aby dowiedzieć się, jak nagrywać każdy pilot za pomocą LIRC:

www.instructables.com/id/Record-Infrared-Codes-of-Any-Remote-Control-Unit-f/

Po nagraniu pierwszego pilota powtarzaj proces, aż wszystkie piloty zostaną nagrane. Następnie możesz zaktualizować plik lirc.conf o wszystkie zapisane kody. Musiałem to zrobić dla mojego soundbara.

Krok 5: Kod AIY do sterowania urządzeniami

Aby sterować nadajnikiem podczerwieni z AIY, wprowadź niezbędne zmiany w pliku „assistant_library_with_local_commands_demo.py”

Możesz uruchomić "assistant_library_with_local_commands_demo.py" z Start Dev Terminal, aby sprawdzić, czy Twój kod działa.

Mój AIY uruchamia się automatycznie po uruchomieniu, postępując zgodnie z instrukcjami tutaj:

aiyprojects.withgoogle.com/voice/#makers-guide-3-4--run-your-app-automatically

Pamiętaj, że jeśli chcesz zmienić swój kod, musisz zatrzymać działanie AIY, a następnie uruchomić go ponownie, używając tych:

usługa sudo my_assistant stop

usługa sudo my_assistant start

Załączony kod zawiera mój aktualny program roboczy.

(Pamiętaj, że ten kod zawiera również dodatkowe funkcje, takie jak radio internetowe).

Kod wykorzystuje warianty wysyłania LIRC send_start i send_stop w celu przesłania wymaganego sygnału IR. Odkryłem, że konieczne jest wprowadzenie przerwy między uruchomieniem a zatrzymaniem sygnału, a to może się różnić w zależności od urządzenia (mój telewizor Panasonic wymaga dłuższego sygnału niż sky box). Na przykład:

subprocess.call('irsend SEND_START mytv KEY_POWER', shell=True)

czas.sen(0.5)

subprocess.call('irsend SEND_STOP mytv KEY_POWER', shell=True)

Aby wysłać kombinacje sygnałów, na przykład kanał Sky TV, stworzyłem listę, która przypisywała frazę do kodu kanału. Zauważ, że czasami AIY nie zawsze usłyszy właściwe słowo, więc dodałem również wariacje tego wyrażenia (takie jak bbc 1 i bbc jeden lub słowo „przewodnik” oraz „dave”, ponieważ AIY zawsze zwracało to, gdy ja powiedział "dave" - to musi być mój akcent!). Następnie użyłem procedury, która pobierała trzyznakowy kod z listy i transmitowała każdą liczbę (patrz moduł ##Sky channel change procedure##)

Możliwe jest również wysyłanie kombinacji sygnałów do kilku urządzeń. Na przykład mam procedurę "włączania systemu", która wysyła zasilanie do telewizora, włącza zasilanie listwy dźwiękowej, uruchamia urządzenie Sky Box i przełącza je na BBC 1.

Gdy nadajnik IR współpracuje z AIY, można wymyślić różne kombinacje, aby go użyć. Na przykład mogę wysłać polecenie czasu, aby dostosować głośność na pasku dźwiękowym.

Szczęśliwego pilota AIY IR!

Zalecana: