- Pracovní vysvětlení:
- Dekódování signálů IR dálkového ovládání pomocí Arduina:
- Popis obvodu:
- Popis kódu:
Dříve jsme pokryli mnoho typů domácích automatizací pomocí různých technologií, jako je domácí automatizace založená na DTMF, domácí automatizace řízená pomocí PC pomocí Arduina, domácí automatizace přes Bluetooth. V tomto projektu používáme bezdrátovou komunikaci založenou na IR pro ovládání domácích spotřebičů. V tomto projektu se Arduino používá pro řízení celého procesu. Některé příkazy odesíláme do řídicího systému pomocí dálkového ovladače IR TV / DVD / MP3 pro ovládání domácích spotřebičů. Po přijetí signálu z infračerveného dálkového ovladače odesílá Arduino související signál do relé, která jsou zodpovědná za zapnutí nebo vypnutí domácích spotřebičů prostřednictvím ovladače relé.
Pracovní vysvětlení:
Práce na tomto projektu je snadno pochopitelná. Když stiskneme libovolné tlačítko IR dálkového ovladače, dálkový ovladač odešle kód ve formě sledu kódovaných pulzů pomocí modulační frekvence 38 kHz. Tyto impulsy jsou přijímány snímačem TSOP1738 a čteny Arduinem a poté Arduino dekóduje přijatý sled pulzů na hexadecimální hodnotu a porovná tuto dekódovanou hodnotu s předdefinovanou hexadecimální hodnotou stisknutého tlačítka. Pokud dojde ke shodě, provede Arduino relativní operaci a odpovídající výsledek se také zobrazí na 16x2 LCD pomocí příslušných příkazů. Tady v tomto projektu jsme použili 3 žárovky různých barev, pro demonstraci, která označuje Fan, Light a TV.
Existuje mnoho typů IR dálkových ovladačů, které jsou k dispozici pro různá zařízení, ale většina z nich pracuje na frekvenčním signálu kolem 38 kHz. Zde v tomto projektu ovládáme domácí spotřebiče pomocí dálkového ovladače IR TV. Pro detekci infračerveného dálkového signálu používáme IR přijímač TSOP1738. Tento snímač TSOP1738 dokáže snímat frekvenční signál 38 kHz. Fungování IR dálkového ovladače a TSOP1738 lze podrobně popsat v tomto článku: IR vysílač a přijímač
Součásti:
- Arduino UNO
- TSOP1738
- IR dálkové ovládání TV / DVD
- ULN2003
- Relé 5 volt
- Žárovka s držákem
- Připojovací vodiče
- Chlebová deska
- 16x2 LCD
- Zdroj napájení
- PVT
- IC 7805
Tady v tomto projektu jsme použili 7, 8 a 9 numerické tlačítko IR dálkového ovladače, pro ovládání ventilátoru, světla a TV, a tlačítko ON / OFF (tlačítko napájení) se používá pro zapnutí a vypnutí všech zařízení současně.
Zde jsme použili přepínací metodu pro ZAPNUTÍ a VYPNUTÍ jednoho domácího spotřebiče. Přepnout metodu není nic jiného, než zjistit, zda je tlačítko stisknuto, i když ne, nebo liché, ne. Zjistíte to tak, že připomenutí získáte po vydělení 2 (i% 2), pokud nějaké připomenutí bude, zařízení bude zapnuto a pokud je připomenutí 0, bude vypnuto. Předpokládejme, že na dálkovém ovladači je stisknuta klávesa 7, pak dálkový ovladač odešle signál do Arduina přes IR přijímač TSOP. Poté jej Arduino dekóduje a uloží dekódovanou hodnotu do proměnné výsledků. Nyní má výsledná proměnná hexadecimální hodnotu 0x1FE00FF, po jejím porovnání s předdefinovanou hexadecimální hodnotou klíče 7 (viz obrázek výše) Arduino zapne ventilátor. Nyní, když znovu stiskneme stejnou klávesu (klávesa 7), IR pošle stejný kód. Arduino dostane stejný kód a shoduje se se stejným kódem jako předtím, ale tentokrát se ventilátor vypnul kvůli přepínání bitu (i% 2).
Dekódování signálů IR dálkového ovládání pomocí Arduina:
Zde je seznam dálkově dekódovaných výstupních kódů typu DVD NEC:
Pokud neznáte dekódovaný výstup pro vaše IR dálkové ovládání, lze jej snadno najít, postupujte takto:
- Stáhněte si vzdálenou IR knihovnu zde
- Rozbalte jej a umístěte do složky Arduino 'Libraries'. Poté přejmenovanou složku přejmenujte na IRremote.
- Spusťte níže uvedený program z vašeho Arduina a otevřete okno Serial Monitor v Arduino IDE. Nyní stiskněte libovolné tlačítko IR Remote a v okně Serial Monitor uvidíte odpovídající dekódovaný hexadecimální výstup.
* IRremote: IRrecvDemo - ukazuje příjem IR kódů pomocí IRrecv * IR detektor / demodulátor musí být připojen ke vstupu RECV_PIN. * Verze 0.1 července 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com * / #include
Výše uvedený program je převzat ze složky „příklady“ knihovny IRremote, můžete si prohlédnout další příklady a dozvědět se více o používání IR dálkového ovladače. Takto jsme dekódovali IR dálkový výstup.
Popis obvodu:
Připojení tohoto obvodu je velmi jednoduché, zde se pro zobrazení stavu domácích spotřebičů používá displej z tekutých krystalů, který je přímo připojen k arduino ve 4bitovém režimu. Datové piny LCD, jmenovitě RS, EN, D4, D5, D6, D7, jsou připojeny k digitálnímu pinu arduino číslo 6, 7, 8, 9, 10, 11. A výstupní pin TSOP1738 je přímo připojen k digitálnímu pinu číslo 14 (A) Arduina. A pin Vcc je připojen k pinu +5 V a GND připojenému na zemnící svorku obvodu. Ovladač relé, jmenovitě ULN2003, se také používá pro řízení relé. 5 voltová relé SPDT 3 se používají pro ovládání LIGHT, FAN a TV. A relé jsou připojena k pinům Arduino číslo 3, 4 a 5 prostřednictvím ovladače relé ULN2003 pro ovládání LIGHT, FAN a TV.
Popis kódu:
V programovací části tohoto projektu Nejprve v programování zahrnujeme knihovnu pro IR dálkové ovládání, která je snadno dostupná na Google. A definujte pin a deklarujte proměnné.
#zahrnout
A pak zahrňte záhlaví pro displej z tekutých krystalů a poté definujeme datové a kontrolní piny pro LCD a domácí spotřebiče.
#zahrnout
Poté musíme inicializovat LCD a určit směr kolíku, který se používá pro ventilátor, světlo a TV.
void setup () {Serial.begin (9600); lcd.begin (16,2); pinMode (ventilátor, VÝSTUP); pinMode (Light, OUTPUT); pinMode (TV, VÝSTUP);
Jak již bylo vysvětleno, níže uvedená část kódu se používá k porovnání přijaté hexadecimální hodnoty s již definovaným hexadecimálním kódem daného tlačítka. Pokud se shoduje, provede se relativní operace pomocí příslušných funkcí, které jsou uvedeny v kódu.
void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); zpoždění (100); lcd.setCursor (0,0); lcd.print („Fan Light TV“); if (results.value == 0x1FE00FF) {i ++; int x = i% 2; digitalWrite (Fan, x);