Arduino telecomandă cu infraroșu și receptor, clasa robotică

1. Telecomandă IR

Ce aveți nevoie pentru a învăța robotul să respecte telecomanda cu infraroșu (IR)? În primul rând, avem nevoie de consola în sine. Puteți utiliza o telecomandă convențională de la televizor sau puteți cumpăra un telecomandă miniatura de pe radioul auto. Aceste console sunt adesea folosite pentru a controla roboții.







Arduino telecomandă cu infraroșu și receptor, clasa robotică

Pe acest panou există 10 butoane numerice și 11 butoane pentru manipularea muzicii: volum, derulare înapoi, redare, oprire etc. Pentru scopurile noastre, mai mult decât suficient.

2. Senzor IR

În al doilea rând, pentru a primi semnalul de la consola avem nevoie de un senzor IR special. În general, putem detecta radiația infraroșie cu un fotodiodă / fototranzistor convențional, dar spre deosebire de acesta, senzorul nostru infraroșu percepe doar un semnal infraroșu la o frecvență de 38 kHz (uneori 40 kHz). Această proprietate permite senzorului să ignore o mulțime de zgomote străine din lămpile de iluminare și de soare.

Pentru această lecție, să folosim senzorul infraroșu popular VS1838B. care are următoarele caracteristici:

  • frecvența purtătoare: 38 kHz;
  • tensiunea de alimentare: 2,7 - 5,5 V;
  • consum de curent: 50 μA.

Puteți utiliza și alți senzori, de exemplu: TSOP4838, TSOP1736, SFH506.

3. Conexiune

Senzorul are trei ieșiri (trei picioare). Dacă vă uitați la senzor din partea laterală a receptorului IR, așa cum se arată în figură,

  • apoi în stânga va exista o ieșire către controler,
  • în centru - contact de putere negativ (masă),
  • și pe dreapta - contact pozitiv de putere (2,7 - 5,5 V).

Diagrama schematică a conexiunii

Arduino telecomandă cu infraroșu și receptor, clasa robotică






Aspectul aspectului

Arduino telecomandă cu infraroșu și receptor, clasa robotică

4. Programul

Prin conectarea senzorului IR vom scrie un program pentru Arduino Uno. Pentru a face acest lucru, folosim biblioteca standard IRremote. care este proiectat doar pentru a simplifica lucrul cu recepția și transmiterea semnalelor IR. Cu ajutorul acestei biblioteci, vom primi comenzi de la consola, iar pentru începători, le vom trimite doar în fereastra de monitor a portului serial. Acest program este util pentru a înțelege ce cod dă fiecărui buton.

Descărcați programul pe Arduino. După aceasta, încercăm să primim comenzi de la consolă. Deschideți monitorul portului serial (Ctrl + Shift + M), luați telecomanda în mână și îndreptați-o spre senzor. Prin apăsarea diferitelor butoane, vom vedea codurile corespunzătoare acestor butoane în fereastra monitorului.

Arduino telecomandă cu infraroșu și receptor, clasa robotică

Problemă la încărcarea programului

În unele cazuri, când încercați să încărcați un program în controler, este posibil să primiți o eroare:

TDK2 nu a fost declarată în domeniul său de aplicare

Pentru a rezolva aceasta, ștergeți doar două fișiere din dosarul bibliotecii. Mergem în dirijor. Ne mutăm la dosarul în care este instalată aplicația IDE Arduino (cel mai probabil este "C: \ Program Files (x86) \ Arduino"). Apoi, în dosarul cu biblioteca:

și ștergeți fișierele: IRremoteTools.cpp și IRremoteTools.h. Apoi, reporniți ID-ul Arduino și încercați din nou să descărcați programul la controler.

5. Controlăm LED-ul cu ajutorul telecomenzii IR

Acum, că știm care coduri corespund cu butoanele de pe consolă, încercăm să programăm controlerul să aprindă și să stingă LED-ul când se apasă butoanele de volum. Pentru a face acest lucru, avem nevoie de coduri (pot varia, în funcție de consolă):

  • FFA857 - crește volumul;
  • FFE01F - micșorați volumul.

Ca LED, folosim LED-ul încorporat pe pinul nr. 13, astfel încât diagrama de conectare rămâne aceeași. Deci, programul:

Descărcați la Arduino și încercați. Apăsați vol + - LED-ul se aprinde. Apăsăm vol. - se stinge. Acum, știind cum funcționează toate, puteți controla motoarele robotului sau alte dispozitive microelectronice auto-create, în loc de LED-uri!







Trimiteți-le prietenilor: