Prezentarea diavolului TV, o telecomandă ușoară Arduino Prank
Ascundeți acest lucru în camera dvs. de zi și râdeți, deoarece caseta TiVo este aparent posedată de un demon care cere să vizionați canale de cumpărături în formă brută. Indiferent dacă scopul dvs. final este de a dezactiva fiecare televizor din vecinătate sau de a construi o telecomandă universală controlată de Siri, acest proiect servește ca un punct de plecare excelent pentru a învăța elementele de bază ale controlerului IR și receptoarelor.
In acest “glumă”, vom face un dispozitiv care înregistrează, apoi redă, o serie de comenzi de la distanță IR. Acesta va funcționa cu orice dispozitiv care utilizează o telecomandă IR sau chiar un mix de dispozitive simultan - înregistrarea a până la 10 apăsări de taste.
Componente
Iată o listă a lucrurilor de care aveți nevoie pentru acest proiect:
- Arduino și cabluri de patch-uri
- Receptor IR, cum ar fi TSOP382 - dar ar trebui să puteți găsi unul compatibil în domeniul electronicii vechi. Mi-am scos mina dintr-un controler de iluminare RGB de rezervă. Ele au de obicei 3 picioare și sunt negre, cu o latură înfățișată ca un LED care a fost tăiat la jumătate și blocat. Sunt sigur că există un cuvânt tehnic pentru asta.
- LED-ul transmițătorului IR, cum ar fi TIL38 - din nou, acestea sunt destul de comune, dar am cumpărat o nouă putere de mare putere de la Maplin; ele arata identice cu orice alt LED, asa ca asigurati-va ca nu le-ati amestecat in kitul de electronice!
- Rezistență potrivită pentru LED-ul dvs. IR - utilizați acest calculator cu LED datorită tensiunii de alimentare (5 V de la Arduino) și a tensiunii și curentului din fișa cu date LED (de obicei, în jurul valorii de 1,2 V @ 20 mA). Acest lucru a ieșit la 220 ohmi în cazul meu.
- Pushbutton și rezistențe de 10k și 100 ohm.
- Descărcați biblioteca IR de la Ken Shirriff de la Github și plasați-o în magazinul dvs. Arduino / Biblioteci pliant. Există, de asemenea, un exemplu de cod pe care îl vom folosi, care ar trebui apoi să fie accesibil de la Arduino Open -> Biblioteci meniul.
Cablarea
Îndepărtați acest circuit în trei părți - comutatorul este puțin fidehic, dar totul este ușor. Amintiți-vă piciorul scurt al LED-ului cu fața plată este catodul (negativ sau masă); piciorul lung este anodul (pozitiv).
Primirea semnalelor
Continuați și deschideți biblioteci / IRremote / IRrecvDemo exemplu cod. Asigurați-vă că RECV_Pin este setat corect, compilați și încărcați, apoi deschideți consola serial la 9600 baud. Luați orice telecomandă pe care o aveți la dispoziție, îndreptați-o spre receptor și începeți să apăsați butoanele. Diferitele butoane vor produce coduri diferite; unele vor indica o apăsare lungă cu codul inițial FFFFFF, în timp ce telecomenzi diferite pot repeta codul din nou.
Pentru o vizualizare mai detaliată a datelor primite, aruncați o privire la IRrecvDump exemplu, care va indica atât tipul semnalului primit (NEC pe 32 de biți în acest caz), cât și valorile brute. Este bine să știți, dar în majoritatea cazurilor veți dori doar valorile decodate.
Repetarea unui semnal
Nu vom scrie zgomotul nostru astăzi de la zero, deci mergeți mai departe și verificați IRrecord exemplu. Complexitatea codului crește foarte mult aici, dar este mai mult ca toate să se ocupe cu manipularea diferitelor tipuri de coduri IR - fundamental, iată ce se întâmplă în interiorul bucla:
- Verificați dacă butonul este apăsat, reluați semnalul memorat în momentul respectiv și repetați-l la fiecare 50 ms până când îl apăsați.
- Dacă nu se apasă și se detectează un semnal, înregistrați-l.
Cea mai mare limitare a acestui exemplu este că funcționează numai cu un singur cod la un moment dat, deci dacă apăsați un alt buton de la distanță, acesta va suprascrie ultima. Tasta redă pur și simplu ultimul semnal pe care la primit. Compilați și rulați codul, astfel încât să puteți merge cu acest repetor de semnal de bază. Pentru a reda un singur semnal, funcționează bine, dar asta nu are o practică practică într-o glumă sau altfel.
Pranzul!
Să o modificăm ușor pentru a înregistra 10 sau mai multe semnale neplăcute. Puteți găsi codul complet modificat aici, dar aici este o schiță a modificărilor pe care le-am făcut în cazul în care doriți să aveți un du-te programare acest lucru pentru tine:
- Definiți 3 matrice noi de mărimea 10 pentru stocarea unui set de semnale de fiecare dată când este detectat un număr întreg și pentru a stoca dimensiunea acelor rețele.
- Stocați un index al locului în care suntem în prezent în acea matrice. Creșteți indicele de fiecare dată când este detectat un semnal - dar nu creșteți dacă semnalul este un cod de repetare.
- O valoare booleană care nu mai este înregistrată după ce am atins maximul.
- Un boolean pentru a indica dacă suntem în modul redare sau nu, mai degrabă decât să țineți apăsat butonul; a modificat de asemenea logica butonului pentru a comuta acest lucru.
Rețineți că LED-ul indicator de pe Arduino (pinul 13) se va activa odată ce memoria este plină. În acest moment, trebuie să înregistrați 10 butoane - nu mai puțin - iar modul de reluare va aștepta o secundă între fiecare repetare a butonului. Aici este în acțiune:
Aveți posibilitatea să jucați fie cu mai multe fărți IR, fie să considerați acest lucru un început bun pentru un proiect de automatizare de origine mai epic. Home Automation Guide Cu Raspberry Pi și Arduino Home Automation Guide Cu Raspberry Pi și Arduino Piața de automatizare a locuințelor este inundată de sisteme scumpe de consum, incompatibile unul cu altul și costisitoare de instalat. Dacă aveți o Zmeură Pi și un Arduino, puteți obține practic același lucru la ... Citește mai mult; și nu uitați să verificați toate celelalte proiecte Arduino. Distribuiți-vă creațiile (sau problemele) în comentarii și vă rugăm să vă arătați aprecierea pentru acest articol, împărțind-o pe rețelele dvs. sociale preferate!
Credit de imagine: DaGoaty
Exploreaza mai multe despre: Arduino, Televizor.