Hlídač zhasnutého světla

Tento projekt jsem vymyslel proto, abychom nezapomínali zhasínat na našem WC. Pokud je místnost prázdná a svítí uvnitř světlo, rozsvítí se před záchodem na Arduinu kontrolka, která zhasne po vypnutí vypínače světla. Tak bezpečně víme, že jsme zapomněli zhasnout. Na WC je umístěn fotorezistor zapojený dle schématu.

Celé to napájím 2500 mAh powerbankou, kterou musím jednou za půl dne vyměnit. Střídám periodicky dvě powerbanky. Dalo by se to však po úpravě napájet z větší baterie nebo 5 V nabíječkou ze sítě. Zařízení má odběr pod 10 mA.

Dokáže rozeznat zbytkové denní světlo proudící ze světlíku, který vede do lodžie, od svítící žárovky.

Schéma zapojení senzoru:

Zdrojový kód:

/*
  Může vyžadovat úpravy nastavení prodlev a rozsahu pro konkrétní místnost zvlášť,
  vystup z děliče 10K odporu a fotorezistoru -> A0
*/
void setup() {
  Serial.begin(9600);  //inicializace seriove linky
  pinMode(13, OUTPUT); //inicializace vystupu
}

void loop() {

  int mereni = analogRead(A0); //cteni hodnoty fotorezistoru
  int soucet;
  int prumer;
  for (int i = 0; i < 15; i++); { //provedení 15 měření pro ustálení výsledku
    mereni = analogRead(A0);

    soucet = + mereni; //uložení výsledku pro následné zrpůměrování
    prumer = (mereni / 15); //výpočet průmeru z 15 mereni
    Serial.println(prumer); //odeslani prumeru na seriovou linku
    delay(1000);
  }
  if ((prumer >= 25) and (prumer < 35)) {
    delay(15000);
    digitalWrite(13, HIGH); //svetlo sviti
  }
  else {
    digitalWrite(13, LOW); //je tma nebo pronika denni svetlo
  }
}

Další podobné články

Ovládání teploty pomocí relé a senzoru DS18B20

Tento projekt umožňuje měřit teplotu pomocí senzoru DS18B20, zobrazit ji na I2C LCD displeji, a ovládat relé podle teplotních limitů. Relé bude aktivní, když je teplota mezi 0 a 22 stupni Celsia. Projekt může sloužit k ovládání topení, ventilace nebo jiného zařízení podle okolní teploty.