Obsługa czujnika podczerwieni VS1838B za pomocą Arduino

Poradnik prezentuje w jaki sposób podłączyć czujnik podczerwieni do Arduino i odbierać transmisje wysyłane za pomocą pilota. W przykładzie zostanie wykorzystany układ VS1838B.

Potrzebne części

  • Arduino bądź jakikolwiek kompatybilny klon, ja używam Arduino Uno
  • Dioda VS1838B lub jakakolwiek inna
  • Pilot do transmisji – w artykule będzie używany pilot od samochodowego odtwarzacza mp3, może być nawet pilot od telewizora
  • Płytka stykowa i 3 sztuki kabelków połączeniowych

Podłączenie

Podłączamy według schematu:

Arduino IR_bb

VS1838B PInVS1838B NazwaArduino PinArduino Nazwa
1Signal2PD2
2GNDGNDGND
3VCC5V5V

(Uwaga: na rysunku jest przedstawiona jest układ TSOP312 z innym rozkładem wyjść niż mój odbiornik, najlepiej na wszelki wypadek znaleźć w internecie pinout danego układu)

Oprogramowanie

Uruchamiamy Arduino studio i wklepujemy kod:

Następnie kompilujemy całość. Jeżeli dostaniemy błąd typu:

to ściągamy paczkę:

  IRemote (25,1 KiB, 1 666 hits)

i rozpakowujemy ją do katalogu libraries, znajdującego się w głównym folderze gdzie zainstalowano Arduino Studio.

Następnie kasujemy / przenosimy z powyższego folderu katalog o nazwie „RobotIRremote”. Po tej czynności kompilacja powinna odbyć się bezproblemowo:

arduino_infrared_studio

Po poprawnej kompilacji i wgraniu kodu do Arduino przechodzimy do „Szeregowego monitora” (Narzędzia -> Szeregowy monitor). Jeżeli wszystko jest dobrze podłączone, po skierowaniu pilota na diodę i naciśnięciu jakiekolwiek przycisku, powinny pojawiać się odebrane wartości:

arduino_infrared_serial

Kod jest odpowiednio skomentowany, więc nie będzie problemu z dalszą rozbudową wedle własnych upodobań.

2 komentarze

  • Na rysunku nogę 2 podłączasz do 5V, w tabelce noga 2 opisana jest jako GND. To jak w końcu to ma być?

    • Błąd jak się patrzy, tabelka prawidłowa od początku, rysunek poprawiony.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *