První program pro LOLIN D1 s 18650
Zde si ukážeme, jak nahrát jednoduchý program do této desky za pomoci Arduino IDE, který rozbliká Led integrovanou na desce LOLIN (WEMOS) D1 s ESP-WROOM-02.
Hlavním prvkem tohoto infračerveného dálkového ovládání je přijímač HX1838. Tento infračervený přijímač umožňuje ve svém okolí detekovat signály z IR dálkových ovladačů a při jeho připojení k Arduinu můžeme tyto signály převést na proměnné a využít dále. V uvedeném balení se společně s přijímačem nachází také dálkový ovladač s 21 klávesami, kterým můžeme poté přiřadit libovolné funkce v programu. Můžeme ale využít i jiné dálkové ovladače, které máme doma, například od televize či videa.
Pro úspěšné propojení s Arduino deskou stačí propojit 3 vodiče. Připojíme Vcc na +5V, GND na zem a IN na pin 4 nebo jiný volný datový pin na naší Arduino desce.
Pro úspěšné nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu IRremote2, návod jak na to je uveden zde. Ukázkový kód obsahuje na začátku připojení knihovny, nastavení čísla pro pinIN pro propojení IR přijímače s Arduinem, vytvoření instance dalkoveOvl z knihovny IRrecv(IRremote2) a vytvoření proměnné vysledek pro ukládání přijatých hodnot. V podprogramu setup se nachází nastavení komunikace přes sériovou linku a také příkaz pro odstartování komunikace s infračerveným přijímačem. V nekonečné smyčce loop se nachází pouze if funkce s podmínkou, v které se načte nejnovější hodnota z přijímače a pokud se něco přijalo, provede se její obsah. Na začátku této if funkce lze odkomentováním řádku 28 zapnout výpis syrové hodnoty přijatého signálu. Dále se zavolá podprogram detekceKlaves a pro provedení této detekce se opět program vrátí ke komunikaci s IR přijímačem. Uvedený podprogram detekceKlaves obsahuje switch, který při stisku zde definovaných kláves provede vytištění informace o stisknuté klávese na sériovou linku.
// Dálkové ovládání infračervené s HX1838
// připojení knihovny
#include"IRremote2.h"
// nastavení čísla pinu pro propojení s Arduinem
#define pinIN 4
// vytvoření instance dalkoveOvl z knihovny IRremote2
// a proměnné vysledek pro ukládání výsledků
IRrecv dalkoveOvl(pinIN);
decode_results vysledek;
void setup() {
// komunikace přes sériovou linku rychlostí 9600 baud
Serial.begin(9600);
// start komunikace s IR přijímačem
dalkoveOvl.enableIRIn();
}
void loop() {
// v if podmínce je volána funkce decode
// pro načtení dat z přijímače - pokud přišel
// signál, provede se obsah if podmínky
if (dalkoveOvl.decode(&vysledek)) {
// pro zkoušení nového ovladače stačí odkomentovat
// následující řádek a číst data po sériové lince
// Serial.println(vysledek.value, HEX);
// volání podprogramu detekceKlaves pro
// zjištění názvu klávesy
detekceKlaves();
// pokračování v detekci nových stisků
dalkoveOvl.resume();
}
}
// podprogram s překladem syrových hodnot na
// jednotlivá tlačítka
void detekceKlaves() {
switch(vysledek.value) {
// u každé stisknuté klávesy se vždy vypíše
// její název po sériové lince
case 0xFFA25D:
Serial.println("Stisknuto CH-");
break;
case 0xFF629D:
Serial.println("Stisknuto CH");
break;
case 0xFFE21D:
Serial.println("Stisknuto CH+");
break;
case 0xFF22DD:
Serial.println("Stisknuto PREV");
break;
case 0xFF02FD:
Serial.println("Stisknuto NEXT");
break;
case 0xFFC23D:
Serial.println("Stisknuto PLAY/PAUSE");
break;
case 0xFFE01F:
Serial.println("Stisknuto VOL-");
break;
case 0xFFA857:
Serial.println("Stisknuto VOL+");
break;
case 0xFF906F:
Serial.println("Stisknuto EQ");
break;
case 0xFF6897:
Serial.println("Stisknuto 0");
break;
case 0xFF9867:
Serial.println("Stisknuto 100+");
break;
case 0xFFB04F:
Serial.println("Stisknuto 200+");
break;
case 0xFF30CF:
Serial.println("Stisknuto 1");
break;
case 0xFF18E7:
Serial.println("Stisknuto 2");
break;
case 0xFF7A85:
Serial.println("Stisknuto 3");
break;
case 0xFF10EF:
Serial.println("Stisknuto 4");
break;
case 0xFF38C7:
Serial.println("Stisknuto 5");
break;
case 0xFF5AA5:
Serial.println("Stisknuto 6");
break;
case 0xFF42BD:
Serial.println("Stisknuto 7");
break;
case 0xFF4AB5:
Serial.println("Stisknuto 8");
break;
case 0xFF52AD:
Serial.println("Stisknuto 9");
break;
default:
Serial.println("Stisknuta jina klavesa");
}
// pauza pro přehlednější výpis
delay(500);
}
Po nahrání programu do Arduino desky a přijetí signálu z dálkového infračerveného ovladače dostaneme například tento výpis:
Stisknuto PREV Stisknuto 0 Stisknuto 2 Stisknuto 6 Stisknuto 9 Stisknuto 200+ Stisknuto EQ
Infračervené dálkové ovládání s přijímačem HX1838 je jednoduše nastavitelné a můžeme díky němu obohatit své zařízení o dálkové ovládání. K tomuto můžeme využít jak přiložený ovladač v balení, tak i ovladače od jiných zařízení, například televizí, videí či rádií.
Seznam použitých komponent:
http://dratek.cz/arduino-vstupni-periferie/840-arduino-dalkove-ovladani-infracervene.html
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
Zde si ukážeme, jak nahrát jednoduchý program do této desky za pomoci Arduino IDE, který rozbliká Led integrovanou na desce LOLIN (WEMOS) D1 s ESP-WROOM-02.
Motorizovaný kulový ventil. Má široké uplatnění v různých průmyslových a obytných instalacích. Může být integrován do automatických systémů řízení, kde je možné ovládat průtok dálkově nebo automatizovaně podle předem nastavených podmínek.
Motorizované kulové vently s obvodem CR01, CR02, CR03 nebo CR04 je poměrně jednoduché po elektrické stránce správně zapojit.
U ventilu s obvodem CR05 je tomu ale trochu jinak - ventil si sám nehlídá krajní polohy otevření, nebo zavření. Z toho důvodu vznikl tento článek, ukazující některé výhody, použití a především správné zapojení ventilu s obvodem CR05.