Pro M5stack jednotky lze zakoupit různé rozšiřovací moduly, kdy jedním ze základních je IR. Tento modul obsahuje 2 IR diody, kdy jedná slouží k příjmu a druhá k vysílání signálů.
Pro jeho spojení s M5stack deskou stačí propojit 4 vodiče. Připojíme GND s GND, OUT s pinem D36, IN s pinem D35 a VCC s pinem 5V. Piny IN a OUT můžete připojit i na jiné volné GPIO piny, jen je nutné provést změnu také na začátku programu.
Ukázkový program najdete níže, přičemž jeho popis můžete najít na videu, které je připojeno na konci návodu. Je v něm uvedena ukázka dekódování přijímaného signálu z ovladače na televizi:
// M5 stack a jednotka IR
// Jednotka s IR vysílačem a přijímačem
// navody.dratek.cz
// připojení potřebných knihoven
#include <M5Stack.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
// nastavení propojovacího pinu vstupu
#define irIn 35
// vytvoření objektu přijímače z knihovny
IRrecv irrecv(irIn);
// vytvoření objektu pro dekódování příkazů z knihovny
decode_results results;
void setup() {
// zahájení komunikace s M5 stack
M5.begin();
// zahájení komunikace s napájecím čipem
M5.Power.begin();
// vypnutí reproduktoru
dacWrite(25, 0);
// povolení příjmu IR signálu
irrecv.enableIRIn();
// výpis informace na displej
M5.Lcd.setTextSize(2);
M5.Lcd.setCursor(0, 0);
M5.Lcd.print("Test pro IR prijimac: ");
}
void loop() {
// kontrola příchozího signálu
if (irrecv.decode(&results)) {
// vymazání předchozího tisku
M5.Lcd.setCursor(0, 25);
M5.Lcd.fillRect(0, 25, 150, 25, BLACK);
// načtení výsledku ve formě textu
String vysledek = uint64ToString(results.value, HEX);
// dekódování známých kódů na tlačítka
// a jejich výpis na displej
if (vysledek.indexOf("E0E020DF") != -1) {
M5.Lcd.print(" 1");
}
else if (vysledek.indexOf("E0E0A05F") != -1) {
M5.Lcd.print(" 2");
}
else if (vysledek.indexOf("E0E0609F") != -1) {
M5.Lcd.print(" 3");
}
else if (vysledek.indexOf("E0E0E01F") != -1) {
M5.Lcd.print(" Vol Up");
}
else if (vysledek.indexOf("E0E0D02F") != -1) {
M5.Lcd.print(" Vol Down");
}
// vytištění celého příchozího kódu, pokud je neznamý
else {
M5.Lcd.print(vysledek);
}
// obnovení příjmu signálu
irrecv.resume();
}
// krátká pauza před novým během smyčky
delay(100);
}
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.