Spisu treści:

Korzystanie z czujnika podczerwieni z Arduino: 8 kroków (ze zdjęciami)
Korzystanie z czujnika podczerwieni z Arduino: 8 kroków (ze zdjęciami)

Wideo: Korzystanie z czujnika podczerwieni z Arduino: 8 kroków (ze zdjęciami)

Wideo: Korzystanie z czujnika podczerwieni z Arduino: 8 kroków (ze zdjęciami)
Wideo: 30. Jak do Arduino podłączyć termometr DS18B20? 2024, Czerwiec
Anonim
Korzystanie z czujnika podczerwieni z Arduino
Korzystanie z czujnika podczerwieni z Arduino

Co to jest czujnik podczerwieni (inaczej IR)?

Czujnik podczerwieni to przyrząd elektroniczny, który skanuje sygnały IR w określonych zakresach częstotliwości określonych przez normy i przekształca je na sygnały elektryczne na swoim styku wyjściowym (zwykle zwanym stykiem sygnałowym). Sygnały IR są używane głównie do przesyłania poleceń w powietrzu na krótkich dystansach (zwykle kilka metrów), jak to, z czym już pracowałeś na pilotach do telewizora lub innych podobnych urządzeniach elektronicznych.

Protokół komunikacyjny IR

Każdy sygnał reprezentuje określony kod. Sygnały elektryczne można przekonwertować z powrotem na rzeczywiste dane/kod, które wysłał nadawca. Po naciśnięciu przycisku na pilocie telewizora generuje on sygnał odpowiadający kodowi przycisku (np. Włącz/Wyłącz, Zwiększanie głośności itp.) i wysyła go do odbiornika (w tym przypadku telewizora). Zarówno nadawca, jak i odbiorca uzgodnili zestaw kodów, aby odbiorca wiedział, co robić na podstawie każdego kodu. Sposób, w jaki kod powinien być modulowany (modelowany) jako sygnał, jest zdefiniowany w innym standardzie i każdy producent czujników zwykle stara się wyprodukować produkt zgodny z nimi, aby mógł być używany w różnych urządzeniach. Jeden z najbardziej znanych standardowych protokołów pochodzi z firmy NEC. Krótką historię protokołów IR można znaleźć na Wikipedii pod tytułem Consumer IR.

Krok 1: Jak wygląda czujnik podczerwieni?

Jak wygląda czujnik podczerwieni?
Jak wygląda czujnik podczerwieni?
Jak wygląda czujnik podczerwieni?
Jak wygląda czujnik podczerwieni?
Jak wygląda czujnik podczerwieni?
Jak wygląda czujnik podczerwieni?

Czujniki IR są dostępne w różnych opakowaniach. Tutaj możesz zobaczyć typowe opakowanie dla odbiornika IR.

Krok 2: Płytka zaciskowa/moduł czujnika podczerwieni

Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni
Płytka zaciskowa/moduł czujnika podczerwieni

Możesz je również kupić jako moduł IR/breakout board na eBayu, Aliexpressie lub Amazonie. Takie moduły zwykle zawierają jeden z wyżej wymienionych czujników z ładnym opakowaniem przyjaznym dla płytki stykowej wraz z diodą LED, która migałaby, gdy czujnik wykryje sygnał. W ten sposób zauważysz, że jakiekolwiek dane są przesyłane. Gorąco polecam zacząć od jednego z tych modułów.

Uwaga: jeśli masz surowy czujnik podczerwieni, nic się nie zmieni, z wyjątkiem tego, że powinieneś sprawdzić arkusz danych czujnika, aby upewnić się, że jest prawidłowo podłączony, ponieważ w przeciwnym razie możesz mieć piękny niebieski dym o zapachu, który utrzyma się przez godzina. Wiesz co mam na myśli;)

Krok 3: Wymagane części i komponenty

Wymagane części i komponenty
Wymagane części i komponenty

Tutaj znajdziesz listę komponentów potrzebnych do ukończenia tego samouczka:

Łącza do serwisu eBay:

  • 1 x Arduino Uno:
  • 1 x moduł czujnika podczerwieni z pilotem:
  • Rezystory 4 x 220 omów:
  • 4 x LED:
  • 8 x kabel Dupont:
  • 1 x płytka stykowa bez lutowania:
  • 1 x Mini płytka stykowa (opcjonalnie):

Linki Amazon.com:

  • 1 x Arduino Uno:
  • 1 x moduł czujnika podczerwieni z pilotem:
  • 1 x płytka stykowa bez lutowania:
  • Rezystory 4 x 220 omów:
  • 4 x LED:
  • 8 x kabel Dupont:
  • 1 x mini płytka stykowa (opcjonalnie):

Krok 4: Podłączanie czujnika podczerwieni do Arduino

Podłączanie czujnika podczerwieni do Arduino
Podłączanie czujnika podczerwieni do Arduino
Podłączanie czujnika podczerwieni do Arduino
Podłączanie czujnika podczerwieni do Arduino
Podłączanie czujnika podczerwieni do Arduino
Podłączanie czujnika podczerwieni do Arduino

Konfiguracja połączenia czujnika podczerwieni z Arduino jest bardzo prosta. Oprócz pinu VCC i GND czujnik posiada tylko jeden pin wyjściowy, który należy podłączyć do jednego z pinów cyfrowych Arduino. W tym przypadku jest podłączony do pinu 13.

Próbowałem zademonstrować zarówno moduł czujnika podczerwieni, jak i konfigurację czujnika surowej podczerwieni. Jak widać na zdjęciach, położenie pinów VCC i GND na module czujnika jest odwrotne do czujnika surowego. Jednak może nie być w przypadku twojego czujnika, więc jak wspomniano w poprzednim kroku, w przypadku korzystania z surowego czujnika najpierw sprawdź arkusz danych.

Krok 5: znajdź kod odpowiadający każdemu kluczowi na pilocie

Znajdź kod odpowiadający każdemu kluczowi na pilocie
Znajdź kod odpowiadający każdemu kluczowi na pilocie
Znajdź kod odpowiadający każdemu kluczowi na pilocie
Znajdź kod odpowiadający każdemu kluczowi na pilocie
Znajdź kod odpowiadający każdemu kluczowi na pilocie
Znajdź kod odpowiadający każdemu kluczowi na pilocie

Aby zaprogramować Arduino tak, aby coś robił po naciśnięciu klawisza na pilocie, należy najpierw mieć kod odpowiadający temu klawiszowi. Kod klucza to liczba zwykle prezentowana w postaci szesnastkowej. Każdy pilot zdalnego sterowania ma swój własny zestaw kodów kluczy, chociaż możliwe jest, że dwa piloty współdzielą ten sam kod do różnych celów. Posiadanie różnych kodów klawiszy wraz z wykorzystaniem różnych zakresów częstotliwości zapewnia, że dwa piloty różnych urządzeń nie będą miały zakłóceń. Dlatego po zmianie kanału telewizyjnego odtwarzacz DVD w ogóle nie reaguje.

Aby wykryć kody pilota na podczerwień, musisz najpierw uruchomić prosty szkic, który próbuje odczytać kod z czujnika po naciśnięciu klawisza i wysyła go przez port szeregowy do komputera, gdzie możesz uzyskać do niego dostęp za pomocą narzędzi Serial Monitor IDE Arduino. To właśnie robi szkic dołączony do tej sekcji. Lepiej byłoby wciskać każdy przycisk, aby zobaczyć kod i gdzieś zapisać listę kodów, aby nie trzeba było ponownie uruchamiać tego kodu w przyszłości. Lista kodów kluczy, którą widzisz w tabeli na zdjęciu, to w rzeczywistości kody, które otrzymałem po naciśnięciu przycisków na moim tanim pilocie na podczerwień.

Możesz również uzyskać dostęp do rzeczywistego kodu źródłowego udostępnionego w moim edytorze internetowym Arduino w ir-key-code-logger.

Uwaga: Nie bój się, jeśli zobaczysz kod taki jak FFFFFF gdzieś pomiędzy. Oznacza to, że nacisnąłeś i przytrzymałeś przez chwilę przycisk. Wrócimy do tego później. Na razie po prostu je zignoruj i skup się na innych kodach.

Krok 6: Kontroluj zestaw diod LED za pomocą pilota na podczerwień

Kontroluj zestaw diod LED za pomocą pilota na podczerwień
Kontroluj zestaw diod LED za pomocą pilota na podczerwień
Kontroluj zestaw diod LED za pomocą pilota na podczerwień
Kontroluj zestaw diod LED za pomocą pilota na podczerwień
Kontroluj zestaw diod LED za pomocą pilota na podczerwień
Kontroluj zestaw diod LED za pomocą pilota na podczerwień

Teraz, gdy mamy już kod dla każdego przycisku, nadszedł czas, aby skupić się na sposobie, w jaki możemy ich używać. Zwykle używasz pilota na podczerwień do wysyłania poleceń do Arduino, aby zrobić coś takiego jak włączenie lub wyłączenie lampy, przesunięcie robota w określonym kierunku, wyświetlenie czegoś na ekranie LCD/OLED itp. Tutaj staramy się zademonstrować proces za pomocą prostego obwód składający się z 4 diod LED w różnych kolorach. Każdy z nich chcemy włączać lub wyłączać dedykowanym przyciskiem pilota IR. Jak widać na schemacie, Arduino należy połączyć w następujący sposób z diodami LED i czujnikiem:

Arduino GND -> GND czujnika podczerwieni.

Arduino VCC -> Czujnik podczerwieni VCC.

Arduino 13 -> wyjście sygnału czujnika IR.

Arduino 2 -> Anoda diody niebieskiej (krótszy pin diody niebieskiej)

Arduino 3 -> Anoda zielonej diody (krótszy pin zielonej diody)

Arduino 4 -> Anoda żółtej diody (krótszy pin żółtej diody)

Arduino 5 -> Anoda czerwonej diody (krótszy pin czerwonej diody)

Arduino GND -> Katoda wszystkich diod LED poprzez rezystor 220 omów (dłuższy pin diod)

Kod odpowiadający temu obwodowi można znaleźć w załączonym pliku lub w moim edytorze stron Arduino pod adresem ir-led-control.

Krok 7: Rozwiązywanie problemów

Podczas konfigurowania projektu i wykonywania kolejnych kroków możesz napotkać wiele dziwnych sytuacji. Oto lista niektórych typowych błędów, które mogą wystąpić podczas pracy z czujnikiem podczerwieni.

Uzyskiwanie FFFFFF po naciśnięciu klawisza

Po naciśnięciu przycisku możesz zauważyć, że przez większość czasu zgłasza kod taki jak FFFFFF. Dzieje się tak po naciśnięciu przycisku i przytrzymaniu go przez chwilę, nawet przez krótki czas. Scenariusz polega na tym, że po pierwszym naciśnięciu przycisku pilot na podczerwień wysyła kod przycisku i tak długo, jak przytrzymujesz przycisk, powtarza wysyłanie FFFFFF, co oznacza, że użytkownik nadal naciska przycisk zgłoszony ostatnio. To byłoby w porządku. Możesz je po prostu pominąć. Rzeczywisty kod to ten, który otrzymałeś tuż przed FFFFFF na monitorze szeregowym.

Czujnik podczerwieni w ogóle nie reaguje i wydaje się, że robi się ciepły

Odetnij moc!!! Jeśli masz pewność, że szkic rejestratora kodu klucza jest poprawny, problem może wynikać z niewłaściwej konfiguracji przewodów. Scenariusz, który mi się przytrafił, polegał na tym, że dla mojego modułu IR (tego dołączonego do płyty) podłączyłem VCC i GND w odwrotny sposób (z powodu niestosowania odpowiednich kolorów dla moich przewodów przyłączeniowych). W ten sposób element czujnika spalił się i uniósł ładny niebieski dym. Kupiłem paczkę surowych czujników IR i próbowałem je wymienić i teraz działa jak czar:). Niestety popełniłem ten sam błąd testując z czujnikiem surowej podczerwieni i tym razem nic się nie stało poza tym, że czujnik się nagrzał. Dlatego zawsze sprawdzaj obwód przed włączeniem zasilania!

Czasami czujnik wykrywa kod, którego nigdy wcześniej nie widziałem

To jeden z najczęstszych problemów. Najprawdopodobniej jest to spowodowane jednym z następujących powodów:

Nie kierujesz pilota na podczerwień bezpośrednio w stronę czujnika

Doprowadzi to do posiadania nowych kodów (głównie dłuższych), których nigdy wcześniej nie otrzymałeś i zwykle nie pasują do długości kodów, które już masz. Pamiętaj więc, aby zawsze kierować pilota w stronę czujnika.

Używasz taniego pilota na podczerwień (takiego jak ten, którego użyłem w tym samouczku)

Zamiast używać tanich, nieprzewidywalnych pilotów, możesz wypróbować ten sam scenariusz, używając pilota do telewizora lub odtwarzacza DVD lub pilota na podczerwień dowolnego posiadanego urządzenia. Zwykle mają dobrą jakość sygnału / sprzętu (i oczywiście są droższe) i zgodnie z moim doświadczeniem zwykle działają dobrze, nawet jeśli nie kierujesz pilota bezpośrednio w stronę czujnika.

Skąd mam wiedzieć, czy zarejestrowany kod nie jest śmieciem?

Kody są zwykle prezentowane w formacie szesnastkowym. Jeśli przekonwertujesz je na odpowiednią wartość binarną, zauważysz, że binarna reprezentacja ostatniego bajtu jest negacją bajtu poprzedzającego go. Jeśli to wiesz, możesz to sprawdzić w swoim kodzie, aby upewnić się, że otrzymany kod jest rzeczywiście prawidłowy, czy nie. Na przykład, jeśli masz FF7A85, jego binarna reprezentacja będzie taka jak poniżej:

1111 1111 0111 1010 1000 0101

Od lewej do prawej każda partia 4 cyfr jest reprezentacją znaku w oryginalnej liczbie szesnastkowej. Jak widać, partia odpowiadająca 7 to 0111, a partia odpowiadająca 8 to 1000, co jest dokładnym zaprzeczeniem tego. Przez negację rozumiem, że wszystkie zera będą jedynkami, a wszystkie jedynki zostaną zastąpione zerami. To samo dotyczy następnego, którym jest A (1010) i 5 (0101).

Krok 8: Co dalej?

Teraz twoja kolej. Wszystko zależy od Twojej wyobraźni, aby zobaczyć, co możesz zrobić z tym małym, prostym czujnikiem w dłoni. Oto kilka pomysłów na początek:

  • Użyj pilota na podczerwień jednego z urządzeń, które masz w domu (TV, Stereo itp.) i spróbuj użyć go w swoim projekcie Arduino
  • Spróbuj włączyć wszystkie diody naraz, naciskając klawisz, a następnie wyłącz je innym klawiszem
  • Użyj przycisku góra/dół na pilocie, aby włączać/wyłączać diody LED jedna po drugiej, aż wszystkie się włączą/wyłączą
  • Stwórz sygnalizację świetlną za pomocą diod LED i steruj nią za pomocą pilota
  • Jeśli masz pod ręką mały silnik prądu stałego, spróbuj uruchomić/zatrzymać lub zmienić kierunek obrotu za pomocą pilota na podczerwień
  • Możesz używać pilota telewizora do sterowania robotem lub włączania/wyłączania niektórych czujników/siłowników na nim

Daj znać w komentarzach, co byś zrobił (lub już zrobiłeś) za pomocą pilota na podczerwień.

Zalecana: