Cuprins:

Înțelegerea protocolului IR al telecomenzilor aerului condiționat: 9 pași (cu imagini)
Înțelegerea protocolului IR al telecomenzilor aerului condiționat: 9 pași (cu imagini)

Video: Înțelegerea protocolului IR al telecomenzilor aerului condiționat: 9 pași (cu imagini)

Video: Înțelegerea protocolului IR al telecomenzilor aerului condiționat: 9 pași (cu imagini)
Video: Kernel Router Secrets: Unveiling Windows 11/Server 2022's Route Table! 2024, Iulie
Anonim
Înțelegerea protocolului IR al telecomenzilor aerului condiționat
Înțelegerea protocolului IR al telecomenzilor aerului condiționat

Învăț despre protocoalele IR de ceva timp acum. Cum să trimiteți și să primiți semnale IR. În acest moment, singurul lucru care rămâne este protocolul IR al telecomenzilor AC.

Spre deosebire de telecomenzile tradiționale ale aproape tuturor dispozitivelor electronice (să zicem un televizor) în care sunt trimise doar informațiile unui singur buton în acel moment, telecomenzile AC sunt codate și trimise simultan. Prin urmare, poate fi puțin dificil să decodezi semnalul de la un microcontroler.

În acest instructable, vă voi explica cum putem decoda cu ușurință protocoalele IR ale oricărei telecomenzi AC. Voi folosi tastatura IR HID pentru a citi și decoda semnalele IR scriind un nou program. dar puteți utiliza aproape orice microcontroler cu care sunteți familiarizați, atâta timp cât acceptă întreruperi externe, cuplate cu un demodulator TSOP IR.

Pasul 1: Instrumente necesare

Stație de lipit (de ex. ACEASTA)

Deși puteți folosi fiare de călcat mai ieftine, dar este recomandată o stație de lipit de bună calitate dacă vă interesează electronica.

Pickit 2. (ex. ACEASTA)

De asemenea, puteți utiliza un PICKIT 3, dar va trebui să utilizați un convertor USB-UART separat pentru a citi ieșirea din microcontroler.

Un osciloscop

Ei bine, nu am. dar dacă aveți unul, vă va face viața mult mai ușoară. Cu siguranță cumpărați unul, dacă vă puteți permite unul.

Un calculator

Ei bine.. Duh

Pasul 2: Componente necesare

  • PIC18F25J50 (de ex. AICI)
  • Receptor IR TSOP (de ex. AICI)
  • Regulator LM1117 3.3v. (De ex. AICI)
  • Condensatoare 2x220nf.
  • Rezistor de 470 ohm.
  • Rezistor de 10k ohm.

Acestea sunt componentele necesare pentru realizarea proiectului meu de tastatură IR HID.. dacă aveți orice altă placă de dezvoltare pic sau un arduino, veți avea nevoie doar de modulul decodor TSOP IR.

O telecomandă AC

Telecomanda care trebuie decodificată. Voi folosi telecomanda Videocon AC. Acesta nu are afișaj, dar funcționează similar cu alte telecomenzi cu afișaje.

Pasul 3: Cum funcționează (protocol IR)

Cum funcționează (protocol IR)
Cum funcționează (protocol IR)

Înainte de a continua, Să înțelegem câteva elemente de bază.

Telecomandele IR utilizează un led IR pentru a transmite semnalul de la telecomandă la receptor prin aprinderea și oprirea rapidă a LED-ului. Dar multe alte surse de lumină produc și lumină IR. Deci, pentru a face semnalul nostru special, un semnal PWM este utilizat la o anumită frecvență.

Frecvențele utilizate în aproape toate telecomenzile IR sunt 30khz, 33khz, 36khz, 38khz, 40khz și 56khz.

Cu toate acestea, cele mai frecvente sunt 38khz și 40khz.

Modulul TSOP demodulează semnalul purtător (de exemplu, 38 kHz) într-o logică TTL mai adecvată pentru GND și VCC.

Durata logicii HIGH of LOW denotă bitul '1' sau '0'. Durata variază în funcție de fiecare protocol la distanță (de exemplu, NEC)

Pentru a înțelege în detaliu protocolul IR, puteți consulta ACEST document.

Pasul 4: Telecomanda

Telecomanda
Telecomanda

Telecomanda pe care o folosesc aparține unui aparat de aer condiționat destul de vechi montat în camera mea. Deci, nu are niciun afișaj elegant, dar funcționează cam la fel ca orice telecomandă AC cu afișaj.

Putem schimba următoarele setări folosind telecomanda.

  • Pornire / oprire
  • Modul de repaus activat / dezactivat
  • Mod turbo activat / dezactivat
  • Porniți / dezactivați
  • Viteza ventilatorului (scăzută, medie, mare)
  • Selectare mod (rece, uscat, ventilator)
  • Temperatura (de la 16 la 30 de grade Celsius)

Pasul 5: Captarea probelor RAW

Captarea probelor RAW
Captarea probelor RAW
Captarea probelor RAW
Captarea probelor RAW

În imagine, puteți vedea mostrele RAW scuipate de receptorul TSOP ir. numerele denotă durata rafalei, iar semnul +/- denotă MARCA și SPAȚIUL semnalului.

aici 1 unitate înseamnă 12us (microsecunde.)

Deci, o explozie de 80 denotă 960us și așa mai departe.

următoarea bucată de cod captează datele și ieșirile către monitorul serial al pickit2. (IDE este MikroC PRO pentru PIC)

Din anumite motive, editorul instructabil se încurcă cu eticheta de cod. Deci, tocmai am atașat captura de ecran a codului, vă rugăm să consultați a doua imagine a acestui pas.

Aș fi atașat întregul dosar al proiectului, dar este o mizerie acum și nu este încă pregătit pentru ceea ce încerc să realizez.

Pasul 6: Observarea probelor RAW și convertirea acestuia într-un format citibil de către om

Observarea eșantioanelor RAW și convertirea acestuia într-un format citibil de către om
Observarea eșantioanelor RAW și convertirea acestuia într-un format citibil de către om
Observarea eșantioanelor RAW și convertirea acestuia într-un format citibil de către om
Observarea eșantioanelor RAW și convertirea acestuia într-un format citibil de către om
Observarea eșantioanelor RAW și convertirea acestuia într-un format citibil de către om
Observarea eșantioanelor RAW și convertirea acestuia într-un format citibil de către om

Dacă ne uităm atent la eșantioanele RAW, putem observa cu ușurință că există patru game de durate de explozie.

~80

~45

~170

~250

Ultimele trei valori sunt întotdeauna +250 -250 +250. Prin urmare, putem presupune în siguranță că este bitul STOP al datelor de rafală. Acum, folosind următorul fragment de cod, putem împărți aceste patru durate de rafală în '-', '.' și „1”.

Consultați a treia imagine a acestui pas pentru fragmentul de cod.

Este posibil să fi observat că am ignorat numărul ~ 80 de rafală din cod. asta pentru că fiecare plasare ciudată a codului este nesemnificativă. Prin imprimarea matricei _rawprocess pe monitorul serial, (așa cum puteți vedea în a doua imagine a acestui pas.) Avem o imagine mult mai clară a datelor primite. Acum, prin apăsarea diferitelor butoane de pe telecomandă, putem observa modificările modelului din date, așa cum se explică în pasul următor.

Pasul 7: Observarea modelelor prin compararea mai multor probe brute

Observarea modelelor prin compararea mai multor probe brute
Observarea modelelor prin compararea mai multor probe brute
Observarea modelelor prin compararea mai multor probe brute
Observarea modelelor prin compararea mai multor probe brute
Observarea modelelor prin compararea mai multor probe brute
Observarea modelelor prin compararea mai multor probe brute

Prin tipărirea doar a datelor decodificate, putem obține o imagine mult mai clară despre ce biți sunt folosiți pentru a trimite ce date.

Setarea POWER SLEEP și TURBO utilizează doar un bit. adică fie „.” sau un „1”.

SWING folosește trei biți adiacenți unul cu celălalt. care merge fie ca „…”, fie ca „111”.

Selecția Fan și Mode folosește, de asemenea, câte 3 biți fiecare „1..” „.1.” și „..1”

Temperatura folosește patru biți care trimite valoare utilizând biți codați binari cu un offset de 16 care înseamnă „…”. trimite valoarea de 16 grade celsius în timp ce „111.” trimite 30 de grade celsius.

Pasul 8: IEȘIȚI datele decodate pe monitorul serial

IEȘIȚI datele decodate pe monitorul serial
IEȘIȚI datele decodate pe monitorul serial

După cum puteți vedea în imagine, am decodat cu succes toți biții trimiși de telecomanda AC.

De aici înainte, cei care au experiență în tratarea protocoalelor ir știu deja cum să recodifice semnalul și să înceapă să-i trimită la AC. Dacă doriți să vedeți cum se poate face acest lucru, așteptați următorul meu instructabil pe care îl voi posta într-o săptămână sau cam așa ceva.

Pasul 9: Terminați

Mulțumesc pentru timpul acordat.

vă rugăm să lăsați un comentariu dacă v-a plăcut proiectul. sau dacă este posibil să fi observat vreo greșeală.

O zi plăcută.

Recomandat: