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