M5stack jednotka IR senzor a vysílač

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);
}

Sestřih ze streamu:

Celý záznam:

Na eshopu můžete tento M5stack modul zakoupit zde:
https://dratek.cz/arduino/20928-m5stack-ir-senzor.html

Další podobné články

Motorizovaný kulový ventil CR05

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.