Pro M5stack jednotky lze zakoupit různé rozšiřovací moduly, kdy jedním ze základních je Light, anglicky světlo. Ve skutečnosti se jedná o fotorezistor uložený v malém modulu.
Pro jeho spojení s M5stack deskou stačí propojit 3 vodiče. Propojíme GND s GND, 5V s 5V a IN s pinem 36. Pro datový pin IN lze použít i jiný volný pin, ale je nutné to provést 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.
// M5 stack a jednotka Light
// navody.dratek.cz
// připojení potřebné knihovny
#include <M5Stack.h>
// nastavení propojovacího pinu pro jednotku Angle
#define aout_pin 36
#define dout_pin 35
// proměnné pro uložení načtených údajů
int hodnota_aout = 0;
int hodnota_dout = 0;
void setup() {
// zahájení komunikace s M5 stack
M5.begin();
// zahájení komunikace s napájecím čipem
M5.Power.begin();
// nastavení pinu jako vstupu
pinMode(dout_pin, INPUT);
// vypnutí reproduktoru
dacWrite(25, 0);
// nastavení barvy a velikosti textu
M5.Lcd.setTextColor(YELLOW);
M5.Lcd.setTextSize(2);
// nastavení kurzoru pro tisk
M5.Lcd.setCursor(65, 50);
// vytištění info zprávy
M5.Lcd.printf("Light modul ukazka: n");
// vytištění popisků na displej
M5.Lcd.setCursor(85, 80);
M5.Lcd.print("Aout:");
M5.Lcd.setCursor(85, 100);
M5.Lcd.print("Dout:");
}
void loop() {
// načtení údajů ze senzoru
hodnota_aout = analogRead(aout_pin);
hodnota_dout = digitalRead(dout_pin);
// vytištění načtených dat žlutou barvou
M5.Lcd.setTextColor(YELLOW);
M5.Lcd.setCursor(175, 80);
M5.Lcd.printf("%dn", hodnota_aout);
M5.Lcd.setCursor(175, 100);
M5.Lcd.printf("%dn", hodnota_dout);
// krátká pauza
delay(100);
// vymazání údajů na displeji černou barvou
M5.Lcd.setCursor(175, 80);
M5.Lcd.setTextColor(BLACK);
M5.Lcd.printf("%dn", hodnota_aout);
M5.Lcd.setCursor(175, 100);
M5.Lcd.printf("%dn", hodnota_dout);
// přepis textu o množství světla
// vyplnění obdélníku za zadaných souřadnicích
// černě pro přemazání předchozího tisku
M5.Lcd.fillRect(15, 120, 305, 40, BLACK);
// nastavení kurzoru pro výpis
M5.Lcd.setCursor(15, 120);
M5.Lcd.setTextColor(WHITE);
// kontrola naměřené hodnoty
// a výpis informací dle naměřené hodnoty
if (hodnota_aout < 500) {
M5.Lcd.printf("V okoli je hodne svetla!");
}
else if (hodnota_aout < 1500) {
M5.Lcd.printf("V okoli je malo svetla!");
}
else if (hodnota_aout < 2500) {
M5.Lcd.printf("V okoli je sero!");
}
else {
M5.Lcd.printf("V okoli je tma!");
}
}
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.