M5stack Earth a Relay moduly

Pro M5stack či M5stick jednotky lze zakoupit různé rozšiřovací moduly. Já jsem zde použil dohromady modul Earth pro měření odporu půdy a Relay s jednoduchým relátkem pro spínání zátěže. Při jejich kombinaci tedy můžeme ještě připojit čerpadlo s nádobou na vodu, které pak na základě naměřených hodnot Earth modulem můžeme spínat pomocí Relay modulu.

M5stack Earth a Relay moduly

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 rovnou spojeno využití chování Earth modulu a ovládání Relay:

// M5 stack a jednotky Earth + Relay
// Měření odporu půdy a spínání relé
// navody.dratek.cz

// připojení potřebné knihovny
#include <M5StickC.h>
// nastavení čísel propojovacích pinů
#define PIN_AOUT 33
#define PIN_DOUT 32
#define PIN_RELE 26
// proměnné pro ukládání načtených dat
uint16_t analogRead_value = 0;
uint16_t digitalRead_value = 0;

void setup() {
  // zahájení komunikace s M5 stack
  M5.begin();
  // zahájení komunikace s napájecím čipem
  M5.Power.begin();
  // nastavení typů propojovacích pinů
  pinMode(PIN_AOUT, INPUT);
  pinMode(PIN_DOUT, INPUT);
  pinMode(PIN_RELE, OUTPUT);
  // výchozí vypnutí relé
  digitalWrite(PIN_RELE, LOW);
  // výpis základních informací na displej
  M5.Lcd.setRotation(1);
  M5.Lcd.setTextColor(YELLOW);
  M5.Lcd.setCursor(25, 2);
  M5.Lcd.printf("Zalevac kvetinn");
  M5.Lcd.setCursor(10, 30);
  M5.Lcd.print("Analog:");
  M5.Lcd.setCursor(10, 50);
  M5.Lcd.print("Digit: ");
}

void loop() {
  // vypsání starých údajů na displej černou
  // barvou pro jejich vymazání
  M5.Lcd.setCursor(80, 30);
  M5.Lcd.setTextColor(BLACK);
  M5.Lcd.printf("%dn", analogRead_value);
  M5.Lcd.setCursor(80, 50);
  M5.Lcd.printf("%dn", digitalRead_value);
  // načtení nových údajů z modulu
  analogRead_value = analogRead(PIN_AOUT);
  digitalRead_value = digitalRead(PIN_DOUT);
  // vypsání nových údajů žlutou barvou
  M5.Lcd.setTextColor(YELLOW);
  M5.Lcd.setCursor(80, 30);
  M5.Lcd.printf("%dn", analogRead_value);
  M5.Lcd.setCursor(80, 50);
  M5.Lcd.printf("%dn", digitalRead_value);
  // pokud je načtená analogová hodnota
  // větší než naše mez (max 4095),
  // tak sepneme výstup na relé
  if (analogRead_value > 3000) {
    digitalWrite(PIN_RELE, HIGH);
  }
  // v opačném případě vypneme relé
  else {
    digitalWrite(PIN_RELE, LOW);
  }
  // krátká pauza před novým během smyčky
  delay(100);
}

Celý záznam:

Na eshopu můžete tyto M5stack moduly zakoupit zde:
https://dratek.cz/arduino/20926-m5stack-esp32-grey-vyvojovy-kit-pro-iot.html
https://dratek.cz/arduino/20872-m5stack-rele-modul-3a.html
https://dratek.cz/arduino/20870-m5stack-senzor-pudni-vlhkosti.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.