M5Stack jednotka LIGHT s fotoodporem

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

Sestřih ze streamu:

Celý záznam:

Na eshopu můžete tento M5stack Light modul zakoupit zde:
https://dratek.cz/arduino/20935-m5stack-svetelny-senzor-s-fotorezistorem.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.