Reklama

Ukryj to w swoim salonie i śmiej się, gdy pudełko TiVo jest pozornie opętane przez demona, który chce oglądać tandetne kanały zakupów. Niezależnie od tego, czy Twoim ostatecznym celem jest wyłączenie każdego telewizora w okolicy, czy zbudowanie uniwersalnego Zdalnie sterowany pilot Siri, ten projekt stanowi świetny punkt wyjścia do nauki podstaw sterowania IR i odbiorniki.

W tym „kawałku” stworzymy urządzenie, które nagrywa, a następnie odtwarza serię zdalnych poleceń na podczerwień. Działa z każdym urządzeniem, które korzysta z pilota na podczerwień, a nawet z wieloma urządzeniami jednocześnie - nagrywa do 10 naciśnięć klawiszy.

składniki

Oto lista rzeczy, których będziesz potrzebować do tego projektu:

  • Arduino i kable krosowe
  • Odbiornik podczerwieni, taki jak TSOP382 - ale powinieneś być w stanie znaleźć kompatybilny w starej elektronice. Wyciągnąłem mój z zapasowego kontrolera oświetlenia RGB. Zazwyczaj mają 3 nogi i są czarne, a jedna strona wygląda jak dioda LED, która została przecięta na pół i przyczepiona. Jestem pewien, że jest na to słowo techniczne.
  • instagram viewer
  • Nadajnik podczerwieni LED, taki jak TIL38 - znowu, są one dość powszechne, ale kupiłem nowy wysokiej mocy od Maplin; wyglądają identycznie jak inne diody LED, więc nie pomieszaj ich w zestawie elektronicznym!
  • Odpowiedni opornik do diody IR LED - użyj tego Kalkulator LED biorąc pod uwagę napięcie zasilania (5 V z Arduino) oraz napięcie i prąd przewodzenia z karty danych LED (zwykle około 1,2 V @ 20 mA). W moim przypadku wyszło to jako 220 omów.
  • Przycisk oraz 10k pulldown i rezystory 100 omów.
  • Pobierz Zdalna biblioteka na podczerwień Ken Shirriff z Github i umieść w swoim Arduino / Biblioteki teczka. Będziemy też używać przykładowego kodu, który powinien być dostępny z Arduino Otwórz -> Biblioteki menu.
składniki

Okablowanie

Rozwiąż ten obwód w trzech częściach - przełącznik jest trochę niespokojny, ale wszystko inne jest łatwe. Pamiętaj, że krótka noga diody LED z płaską powierzchnią jest katodą (ujemną lub uziemioną); długa noga jest anodą (dodatnia).

schemat-ir-prank

Odbieranie sygnałów

Śmiało i otwórz biblioteki / IRremote / IRrecvDemo przykładowy kod. Upewnij się, że RECV_Pin jest ustawiony poprawnie, skompiluj i prześlij, a następnie otwórz konsolę szeregową z szybkością 9600 bodów. Chwyć dowolnego pilota, który masz pod ręką, wyceluj go w odbiornik i zacznij naciskać przyciski. Różne przyciski wytwarzają różne kody; niektóre wskazują wtedy długie naciśnięcie z początkowym kodem FFFFFF, podczas gdy różne piloty mogą po prostu powtórzyć kod ponownie.

irrecv

Aby uzyskać bardziej szczegółowy widok odbieranych danych, spójrz na IRrecvDump zamiast tego przykład, który wskaże zarówno rodzaj odbieranego sygnału (w tym przypadku 32-bitowy NEC), jak i surowe wartości. Dobrze wiedzieć, ale w większości przypadków po prostu chcesz dekodować wartości.

zasypiać

Powtarzanie sygnału

Nie będziemy dziś pisać od zera, więc śmiało i sprawdź IRrecord przykład. Złożoność kodu znacznie wzrasta tutaj, ale przede wszystkim chodzi o obsługę różnych typów kodów IR - zasadniczo, oto co dzieje się wewnątrz pętli:

  • Sprawdź, czy przycisk jest wciśnięty, jeśli to możliwe, odtwórz aktualnie zapisany sygnał i powtarzaj co 50 ms aż do naciśnięcia.
  • Jeśli nie zostanie naciśnięty i wykryty zostanie sygnał, zapisz to.

Największym ograniczeniem tego przykładu jest to, że działa on tylko z jednym kodem na raz, więc jeśli naciśniesz inny przycisk zdalny, zastąpi on ostatni. Przycisk po prostu odtwarza ostatni otrzymany sygnał. Skompiluj i uruchom kod, aby móc wypróbować ten podstawowy repeater sygnału. Do odtwarzania pojedynczego sygnału działa dobrze, ale nie ma praktycznego zastosowania w dowcipie lub w inny sposób.

Prank!

Zmodyfikujmy go nieznacznie, aby zarejestrować 10 lub więcej psotnych sygnałów. Możesz znaleźć pełny zmodyfikowany kod tutaj, ale oto zarys zmian, które wprowadziłem na wypadek, gdybyś chciał sam go zaprogramować:

  • Zdefiniuj 3 nowe tablice o rozmiarze 10 do przechowywania zestawu sygnałów za każdym razem, gdy zostanie wykryty, oraz liczbę całkowitą do przechowywania wielkości tych tablic.
  • Przechowuj indeks tego, gdzie aktualnie jesteśmy w tej tablicy. Zwiększ indeks za każdym razem, gdy sygnał zostanie wykryty - ale nie zwiększaj, jeśli sygnał jest kodem powtarzającym się.
  • Wartość logiczna, która przestaje być rejestrowana po osiągnięciu maksimum.
  • Wartość logiczna wskazująca, czy jesteśmy w trybie odtwarzania, czy nie, zamiast przytrzymywać przycisk; zmodyfikował również logikę przycisku, aby to przełączyć.

Należy pamiętać, że wskaźnik LED na Arduino (pin 13) uaktywni się po zapełnieniu pamięci. W tej chwili musisz nagrać 10 naciśnięć przycisków - nie mniej - a tryb odtwarzania będzie czekał 1 sekundę między powtórkami każdego przycisku. Oto jest w akcji:

Możesz albo grać z większymi psikusami na podczerwień, albo uznać to za dobry początek epickiej przygody projekt automatyki domowej Podręcznik automatyki domowej z Raspberry Pi i ArduinoRynek automatyki domowej jest zalany drogimi systemami konsumenckimi, niekompatybilnymi ze sobą i kosztownymi w instalacji. Jeśli masz Raspberry Pi i Arduino, możesz w zasadzie osiągnąć to samo w ... Czytaj więcej ; i nie zapomnij sprawdzić pozostałych Projekty Arduino. Podziel się swoimi dziełami (lub problemami) w komentarzach i okazuj wdzięczność za ten artykuł, udostępniając go w swoich ulubionych sieciach społecznościowych!

Źródło obrazu: DaGoaty

James ma licencjat z zakresu sztucznej inteligencji i jest certyfikowany przez CompTIA A + i Network +. Jest głównym programistą MakeUseOf i spędza wolny czas grając w paintball VR i gry planszowe. Buduje komputery od dziecka.