- Componente necesare:
- Explicație de lucru:
- Diagrama circuitului:
- Decodarea semnalelor de telecomandă IR folosind Arduino:
- Construirea aplicației Android pentru IR Blaster:
Am început acest proiect pentru a scăpa de diverse telecomenzi de la mine acasă și a construi ceva unic care ar putea încorpora caracteristici ale tuturor. Am avut această idee când am văzut unul dintre telefoanele mobile ale prietenului meu cu blaster IR încorporat, în acel moment am decis să nu cumpăr un telefon similar, mai degrabă să-mi fac propriul dispozitiv care ar trebui să fie compatibil cu receptorul meu existent. Deci, aici vom converti un telefon Android într-o telecomandă IR folosind Arduino pentru a controla diferite dispozitive acasă.
Componente necesare:
- Arduino Uno
- LED IR
- Receptor TSOP-IR (1838T)
- Modul Bluetooth (HC05)
- Dispozitiv Android (telefon, tabletă etc.)
Explicație de lucru:
În general, folosim două telecomenzi pentru a opera televizorul acasă, unul pentru televizor și unul pentru Set-Top Box, așa că în acest proiect vizez aceste două telecomenzi și creez un telefon Android care funcționează ca IR Blaster, astfel încât televizorul să poată fi controlat cu telefonul, fără a atinge niciunul dintre telecomenzi.
Folosind o placă Arduino Uno tocmai mi-a fost mai ușor să mă ocup de partea de decodare și codificare IR. A făcut scut personalizat doar adaugă pe partea comoditatea acestui proiect. Scutul este format dintr-un receptor IR TSOP (1838T), un LED IR și un modul Bluetooth (HC-05), a se vedea imaginea de mai jos:
Puteți construi scutul personalizat sau puteți conecta direct componentele la Arduino așa cum se arată în „Diagrama circuitului” din secțiunea de mai jos.
Înainte de a merge mai departe, să discutăm mai întâi despre „cum funcționează telecomandele IR”. Majoritatea telecomenzilor IR funcționează în jurul frecvențelor de 38 KHz (acesta este motivul pentru care am ales 18 38 T). La implicarea ulterioară în acest subiect, se va recunoaște că nu există o reprezentare fixă pentru zerouri și unele în aceste metode de transmisie a datelor IR. Aceste coduri folosesc diverse tehnici de codificare pe care le studiem în programa noastră de inginerie (deoarece sunt student inginerie electronică). Semnificația 38 KHz este că este frecvența la care semnalul oscilează atunci când este logic, adică aceasta este frecvența purtătoare a semnalului. Aruncați o privire la imaginea de mai jos; acesta este un exemplu de protocol NEC. Acest lucru vă va face conceptul mai clar:
Deci, iată cum funcționează acest IR Blaster; un telefon Android cu aplicația Android personalizată trimite semnalul către circuitul Arduino prin Bluetooth, în continuare Arduino primește semnalul prin receptor TSOP-IR (1838T) și îl analizează. Apoi Arduino comandă LED-ul IR să clipească într-un anumit model, corespunzător butonului apăsat pe acea aplicație pentru dispozitiv Android. Acest model intermitent este capturat de receptorul IR al televizorului sau al set-top boxului și urmează instrucțiunile corespunzătoare, cum ar fi schimbarea canalului sau creșterea volumului.
Dar înainte de asta trebuie să decodăm telecomenzile existente. Așa cum am menționat anterior, în acest proiect am folosit două telecomenzi, una care comunică cu televizorul, în timp ce alta este pentru set-top box-ul conectat la televizor.
Diagrama circuitului:
Decodarea semnalelor de telecomandă IR folosind Arduino:
Aici, placa Arduino funcționează în două faze, una este când o utilizați pentru a decoda codurile IR de la distanță și alta este când o utilizați ca dispozitiv IR blaster.
Să vorbim despre prima fază. Acum, pentru a decoda codurile butoanelor IR, am folosit fișierul de antet IRremote al lui Ken Shirriff . Acest fișier antet are multe exemple / coduri predefinite doar pentru a ne ușura lucrul cu codurile IR:
- Mai întâi trebuie să descărcați și să instalați biblioteca la distanță IR de aici
- Dezarhivați-l și plasați-l în folderul Arduino „Biblioteci”. Apoi redenumiți folderul extras în IRremote.
- Apoi ardeți codul furnizat mai jos în Arduino, conectați scutul personalizat așa cum se arată mai sus și plasați o telecomandă pentru a fi decodată în fața receptorului IR TSOP. Deschideți monitorul serial corespunzător acestui Arduino și apăsați orice buton dorit de pe telecomandă. Veți vedea câteva informații afișate pe terminal, aceste informații implică tipul de cod, valoarea acestuia și cantitatea de biți implicați în acesta. Iată cum arată:
#include
După ce ați terminat cu partea de decodare dorită, notați toate valorile de decodare și alte informații cu numele butonului corespunzător apăsat. Aceasta va servi drept bază de date pentru următoarea fază a Arduino. Programul de mai sus este preluat din folderul „exemple” al bibliotecii IRremote, puteți consulta mai multe exemple pentru a afla mai multe despre utilizarea telecomenzii IR. Deci, așa am decodat ieșirea la distanță IR.
Acum ardeți Codul, dat în secțiunea Cod la sfârșit, pe aceeași placă. Felicitări, ați terminat cu prima jumătate a acestui proiect.
Construirea aplicației Android pentru IR Blaster:
Aici vine a doua jumătate, realizarea aplicației Android. Pur și simplu prefer să folosesc APP inventator-2 al MIT pentru a crea astfel de aplicații. Dacă sunteți un amator în codificarea Android, acest lucru vă va economisi timp și vă va oferi rezultate bune. Principalele componente utilizate pentru realizarea acestei aplicații nu sunt multe, doar câteva butoane și un pachet client Bluetooth. În timp ce codificați aplicația, furnizați textul corespunzător care trebuie trimis pentru fiecare buton apăsat pe ecran, care ar cere Arduino să clipească LED-ul IR în același mod în care ar fi fost făcut de telecomanda individuală; de asemenea, asigurați-vă că furnizați adresa corectă a modulului dvs. Bluetooth HC-05. Acesta este modul în care va arăta aplicația finală în telefonul dvs. inteligent Android:
Iată procesul pas cu pas pentru a construi aplicația:
PASUL 1:
Conectați-vă la acest link: ai2.appinventor.mit.edu sau încercați să căutați MIT appinventor-2 pe Google. Conectarea la AI2 necesită un cont Google, deci dacă nu aveți, creați unul.
PASUL 2:
După ce vă conectați cu contul dvs. Google, veți fi redirecționat către pagina web de lucru AI2, care arată astfel:
Începeți un proiect nou făcând clic pe fila „Proiecte” din partea de sus și selectați „Începeți un proiect nou”. Când ați terminat cu partea de denumire și toate, vi se va afișa un ecran gol în care puteți plasa butoane și text așa cum se arată mai sus. Acesta este ecranul GUI, în care decideți cum ar arăta aplicația pentru un utilizator.
Pentru a utiliza un pachet de butoane, selectați fila „Buton” din partea stângă a ecranului în secțiunea „Interfață utilizator”. Trageți orice pachet din meniul din stânga și plasați-l pe ecranul de lucru. În mod similar pentru a afișa orice lucruri legate de text, utilizați pachetul „Etichetă”.
PASUL 3:
După ce v-ați aranjat toate butoanele și etichetele, acum este timpul să creați un cod pentru această aplicație. Înainte de asta, trebuie să selectăm și un pachet Bluetooth pentru comunicarea cu Arduino.
Veți observa că acest pachet nu este afișat pe ecran, ci se află sub „Componente non-vizibile”. Acestea sunt componentele care nu au nicio semnificație în componența GUI.
PASUL 4:
Urmează secțiunea de codificare, în care veți defini funcția pentru componentele pe care le-ați selectat și cu care doriți să lucrați.
În partea stângă a ecranului veți observa toate acele pachete pe care le-ați selectat în secțiunea GUI. Imaginea de mai sus arată ce componente există într-un anumit pachet pe care îl puteți folosi. De asemenea, observați că adresa modulului Bluetooth trebuie să fie furnizată într-un format textual.
SETP 5:
Când simțiți că aplicația este gata de utilizare și nu există erori, dați clic pe fila „Construiți” așa cum se arată mai sus și selectați a doua opțiune. Aceasta va descărca propria aplicație creată, pe computer, în format „.apk”. Apoi, pur și simplu transferați acest fișier.apk pe orice dispozitiv Android și faceți clic pe acesta pentru instalare.
Deci, astfel puteți controla orice dispozitiv IR controlat de la distanță cu telefonul dvs. inteligent, trebuie doar să decodați telecomanda oricăror aparate pe care doriți să le controlați cu telefonul și să înlocuiți codul HEX decodat al butoanelor de la distanță din codul Arduino.