Spisu treści:

Zrozumienie protokołu IR pilotów klimatyzatora: 9 kroków (ze zdjęciami)
Zrozumienie protokołu IR pilotów klimatyzatora: 9 kroków (ze zdjęciami)

Wideo: Zrozumienie protokołu IR pilotów klimatyzatora: 9 kroków (ze zdjęciami)

Wideo: Zrozumienie protokołu IR pilotów klimatyzatora: 9 kroków (ze zdjęciami)
Wideo: 12. Jak sterować Arduino za pomocą pilota? Podstawowe sterowanie IR (TSOP2236) 2024, Listopad
Anonim
Zrozumienie protokołu IR pilotów klimatyzatora
Zrozumienie protokołu IR pilotów klimatyzatora

Od dłuższego czasu uczę się protokołów IR. Jak wysyłać i odbierać sygnały IR. W tym momencie pozostaje tylko protokół IR pilotów AC.

W przeciwieństwie do tradycyjnych pilotów niemal wszystkich urządzeń elektronicznych (np. telewizora), w których jednorazowo przesyłane są tylko informacje z jednego przycisku, w pilotach AC wszystkie parametry są kodowane i wysyłane jednocześnie. W związku z tym dekodowanie sygnału z mikrokontrolera może być nieco trudne.

W tej instrukcji wyjaśnię, w jaki sposób możemy łatwo dekodować protokoły IR dowolnego pilota AC. Będę używał mojej HID IR KEYBOARD do odczytywania i dekodowania sygnałów IR, pisząc nowy program. ale możesz użyć prawie każdego znanego mikrokontrolera, o ile obsługuje on zewnętrzne przerwania w połączeniu z demodulatorem TSOP IR.

Krok 1: Wymagane narzędzia

Stacja lutownicza.(np. TO)

Chociaż możesz używać tańszych żelazek, ale dobrej jakości stacja lutownicza jest zalecana, jeśli interesujesz się elektroniką.

Pickit 2.(np. TO)

Możesz również użyć PICKIT 3, ale wtedy będziesz musiał użyć osobnego konwertera USB-UART, aby odczytać wyjście z mikrokontrolera.

Oscyloskop

Cóż, nie mam tego. ale jeśli go masz, znacznie ułatwi ci to życie. Zdecydowanie kup, jeśli możesz sobie na to pozwolić.

Komputer

No cóż.

Krok 2: Wymagane komponenty

  • PIC18F25J50(np. TUTAJ)
  • Odbiornik podczerwieni TSOP (np. TUTAJ)
  • Regulator LM1117 3.3v.(np. TUTAJ)
  • Kondensatory 2x220nf.
  • Rezystor 470 omów.
  • Rezystor 10 kΩ.

Są to komponenty wymagane do wykonania mojego projektu klawiatury HID IR.. jeśli masz jakąkolwiek inną płytkę rozwojową pic lub arduino, potrzebujesz tylko modułu dekodera TSOP IR.

Pilot AC

Pilot, który należy zdekodować. Będę używał pilota mojego Videocon AC. Ten nie ma wyświetlacza, ale działa podobnie do innych pilotów z wyświetlaczami.

Krok 3: Jak to działa (protokół IR)

Jak to działa (protokół IR)
Jak to działa (protokół IR)

Zanim przejdziemy dalej, zrozumiemy kilka podstaw.

Piloty na podczerwień wykorzystują diodę podczerwieni do przesyłania sygnału z pilota do odbiornika poprzez szybkie włączanie i wyłączanie diody LED. Ale wiele innych źródeł światła również wytwarza światło podczerwone. Tak więc, aby nasz sygnał był wyjątkowy, sygnał PWM jest używany z określoną częstotliwością.

Częstotliwości używane w prawie wszystkich pilotach IR to 30 khz, 33 khz, 36 khz, 38 khz, 40 khz i 56 khz.

Jednak najczęstsze to 38 khz i 40 khz.

Moduł TSOP demoduluje sygnał nośny (np. 38 kHz) do bardziej odpowiedniej logiki TTL GND i VCC.

Czas trwania logiki HIGH lub LOW oznacza bit '1' lub '0'. Czas trwania różni się w zależności od protokołu zdalnego (np. NEC)

Aby szczegółowo zrozumieć protokół IR, możesz zapoznać się z TYM dokumentem.

Krok 4: Pilot

Zdalny
Zdalny

Pilot, którego używam, należy do dość starego klimatyzatora zamontowanego w moim pokoju. Nie ma więc żadnego wymyślnego wyświetlacza, ale działa prawie tak samo, jak każdy pilot AC z wyświetlaczem.

Za pomocą pilota możemy zmienić następujące ustawienia.

  • Zasilanie włącz / wyłącz
  • Włączanie/wyłączanie trybu uśpienia
  • Włączanie/wyłączanie trybu Turbo
  • Huśtawka wł./wył.
  • Prędkość wentylatora (niska, średnia, wysoka)
  • Wybór trybu (chłodzenie, osuszanie, wentylator)
  • Temperatura (od 16 do 30 stopni Celsjusza)

Krok 5: Przechwytywanie próbek RAW

Przechwytywanie próbek RAW
Przechwytywanie próbek RAW
Przechwytywanie próbek RAW
Przechwytywanie próbek RAW

Na obrazie widać próbki RAW wypluwane przez odbiornik podczerwieni TSOP. cyfry oznaczają czas trwania serii, a znak +/- oznacza ZNACZENIE i PRZESTRZEŃ sygnału.

tutaj 1 jednostka oznacza 12us (mikrosekundy.)

Tak więc seria 80 oznacza 960 us i tak dalej.

następny fragment kodu przechwytuje dane i dane wyjściowe do monitora szeregowego pickit2. (IDE to MikroC PRO dla PIC)

Z jakiegoś powodu edytor Instructable miesza się ze znacznikiem kodu. Właśnie załączyłem zrzut ekranu kodu, proszę odnieść się do drugiego obrazu tego kroku.

Dołączyłbym cały folder projektu, ale teraz jest bałagan i nie jest jeszcze gotowy na to, co chcę osiągnąć.

Krok 6: Obserwacja próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka

Obserwowanie próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka
Obserwowanie próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka
Obserwowanie próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka
Obserwowanie próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka
Obserwowanie próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka
Obserwowanie próbek RAW i konwertowanie ich do formatu czytelnego dla człowieka

Jeśli przyjrzymy się uważnie próbkom RAW, z łatwością zauważymy, że istnieją cztery zakresy czasu trwania burstów.

~80

~45

~170

~250

Ostatnie trzy wartości to zawsze +250 -250 +250. Dlatego możemy bezpiecznie założyć, że jest to bit STOP danych serii. Teraz, korzystając z poniższego fragmentu kodu, możemy podzielić te cztery czasy trwania serii na '-', '.' i 1'.

Fragment kodu znajdziesz na trzecim obrazie tego kroku.

Być może zauważyłeś, że zignorowałem liczbę ~80 burst w kodzie. to dlatego, że każde dziwne umieszczenie kodu jest nieistotne. Drukując tablicę _rawprocess na monitorze szeregowym (jak widać na drugim obrazie tego kroku). Mamy bardzo wyraźny obraz odbieranych danych. Teraz, naciskając różne przyciski na pilocie, możemy obserwować zmiany wzorca w danych, jak wyjaśniono w następnym kroku.

Krok 7: Obserwowanie wzorców poprzez porównywanie wielu surowych próbek

Obserwowanie wzorców poprzez porównywanie wielu surowych próbek
Obserwowanie wzorców poprzez porównywanie wielu surowych próbek
Obserwowanie wzorców poprzez porównywanie wielu surowych próbek
Obserwowanie wzorców poprzez porównywanie wielu surowych próbek
Obserwowanie wzorców poprzez porównywanie wielu surowych próbek
Obserwowanie wzorców poprzez porównywanie wielu surowych próbek

Drukując tylko zdekodowane dane, możemy uzyskać bardzo wyraźny obraz tego, jakie bity są używane do wysyłania danych.

Ustawienie POWER SLEEP i TURBO wykorzystuje tylko jeden bit. czyli albo „.” lub „1”.

SWING wykorzystuje trzy sąsiadujące ze sobą bity. co oznacza „…” lub „111”.

Wybór wentylatora i trybu również wykorzystuje 3 bity każdy '1..' '.1.' i 1'

Temperatura wykorzystuje cztery bity, które wysyłają wartość za pomocą bitów kodowanych binarnie z przesunięciem 16, co oznacza '….' wysyła wartość 16 stopni Celsjusza, podczas gdy '111.' wysyła 30 stopni Celsjusza.

Krok 8: WYŚLIJ zdekodowane dane do monitora szeregowego

WYŚLIJ zdekodowane dane do monitora szeregowego
WYŚLIJ zdekodowane dane do monitora szeregowego

Jak widać na obrazku pomyślnie odkodowałem wszystkie bity wysyłane przez pilota AC.

Odtąd Ci, którzy mają doświadczenie w pracy z protokołami IR, już wiedzą, jak ponownie zakodować sygnał i zacząć wysyłać je do AC. Jeśli chcesz zobaczyć, jak można to zrobić, poczekaj na moją następną instrukcję, którą opublikuję za około tydzień.

Krok 9: Zakończ

Dziękuję za Twój czas.

proszę zostaw komentarz, jeśli podobał Ci się projekt. lub jeśli zauważyłeś jakiś błąd.

Miłego dnia.

Zalecana: