Operácie

Diaľkové ovládanie spotrebiča pomocou infračerveného signálu: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentMIPS (diskusia | príspevky)
StudentMIPS (diskusia | príspevky)
Riadok 28: Riadok 28:
*PIN pre IR prijímač je nastavený ako vstup s interným pull-up rezistorom, čo zabezpečuje stabilný logický stav, keď IR prijímač neodovzdáva signál
*PIN pre IR prijímač je nastavený ako vstup s interným pull-up rezistorom, čo zabezpečuje stabilný logický stav, keď IR prijímač neodovzdáva signál
*PIN pre LED diódu je nastavený ako výstup
*PIN pre LED diódu je nastavený ako výstup
[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]]


[[Súbor:GeminiAI-image3.jpg|400px|thumb|center|Celkový pohľad na zariadenie.]]
[[Súbor:GeminiAI-image3.jpg|400px|thumb|center|Celkový pohľad na zariadenie.]]
Riadok 43: Riadok 46:
*výsledkom je 32-bitové číslo, ktoré reprezentuje príkaz z diaľkového ovládača.
*výsledkom je 32-bitové číslo, ktoré reprezentuje príkaz z diaľkového ovládača.


[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]]
 





Verzia z 18:24, 16. máj 2025

Záverečný projekt predmetu MIPS / LS2025 - Meno Priezvisko


Zadanie

Cieľom môjho zadania bolo vytvoriť program, ktorý umožní ovládať pomocou infračerveného diaľkového ovládača spotrebič, svietidlo, v mojom príklade som na demonštráciu použil LED diódu. Podmienkou bolo, že nie je povolené použiť žiadne externé knižnice na spracovanie IR signálu, ako je napríklad IRremote, ktorá by úlohu výrazne zjednodušila.

Vývojová doska Arduino UNO.

Literatúra:



Analýza a opis riešenia

Pre komunikáciu pomocou infračerveného signálu som použil prijímač AX-1838HS a IR ovládač Car MP3, ktoré sú bežne dodávané v sete s Arduino UNO.

IR prijímač AX-1838HS
IR ovládač Car MP3

Zapojenie a nastavenie

  • IR prijímač je pripojený na vstup Arduina (PIN PD3)
  • LED dióda je pripojená na výstup (PIN PB0)
  • PIN pre IR prijímač je nastavený ako vstup s interným pull-up rezistorom, čo zabezpečuje stabilný logický stav, keď IR prijímač neodovzdáva signál
  • PIN pre LED diódu je nastavený ako výstup
Schéma zapojenia.


Celkový pohľad na zariadenie.

Teoretický úvod do IR signálu

Infračervený prijímač neprodukuje priamo dekódované kódy, ale vysiela digitálny signál, ktorý predstavuje modulovaný IR svetelný impulz. V tomto prípade ide o NEC protokol, ktorý prenáša 32-bitové správy s pevnými časovými intervalmi pre logické 0 a 1.

NEC IR protokol

Manuálna implementácia dekódovania NEC protokolu

Keďže nebolo možné použiť hotovú knižnicu, bolo potrebné napísať funkciu, ktorá:

  • čaká na začiatok signálu (dlhý LOW pulz – tzv. lead pulse)
  • meria časové úseky LOW a HIGH úrovní na vstupe, aby rozpoznala jednotlivé bity (0 alebo 1)
  • spočíta postupne 32 bitov dát
  • výsledkom je 32-bitové číslo, ktoré reprezentuje príkaz z diaľkového ovládača.



Algoritmus a program

Po zapnutí sa vykoná inicializácia pinov – LED pin sa nastaví ako výstup a IR pin ako vstup s aktivovaným pull-up odporom. Hlavná slučka programu neustále čaká na infračervený signál pomocou funkcie ir_receive. Táto funkcia najprv zachytí úvodný signál (LEAD PULSE a SPACE) a potom načíta 32 bitov kódu vyslaného z diaľkového ovládača. Každý bit je určený dĺžkou trvania signálu – krátka doba znamená logickú nulu, dlhšia logickú jednotku. Po úspešnom prijatí kódu sa porovná s preddefinovanými hodnotami pre tlačidlá 1 a 2. Ak bol prijatý kód pre tlačidlo 1, LED dióda sa zapne, ak pre tlačidlo 2, LED sa vypne.


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip

Overenie

Na ovládanie LED diódy stačia dve tlačítka, pri prijatí kódu tlačidla „1“ sa nastaví stav LED diódy na zapnutý, pri prijatí kódu tlačidla „2“ sa stav LED diódy nastaví na vypnutý. Iné kódy sú ignorované.

Na konci uvádzame fotku hotového zariadenia.

Aplikácia.

Video:



Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.