V první části návodu „Efektní rozsvěcení schodiště – část první chytrá žárovka“ jsem popsal jak si vytvořit ovládání žárovky pomocí čidel. 

V druhé části najdete jaké komponenty pro ovládání osvětlení schodiště – jednotlivých stupňů lze použít.

Programování ESP32

 jsem provedl v ARDUINO IDE

Pro co největší univerzálnost ovládání jsem se rozhodl použít posílání parametrů v JSON formátu.

MQTT topic jsem zvolil „domek/schodiste/set/“ a jako payload posílám následující data:

 {„smer“:1,“rychlost“:90,“cas“:3000,“intenzita“:20,“schody“:[0,1,1,0,1,0,1,0,1,0,1,0,1,1,1]}

Vysvětlivky:

smer = směr rozsvěcení – bud 1 (ze spodu)  nebo 2 (ze shora)

rychlost = čas v ms mezi rozsvěcením jednotlivých schodů

cas = doba než dojde k zhasnutí (ve směru ve kterém bylo rozsvíceno)

intenzita = intenzita světla jednotlivých LED pásků (0-255)

schody = pole ve kterém je definováno, které schody se mají rozsvítit – pokud jsou samé 1 rozsvítí se všechny 

Určitě by bylo možné přidat ještě nějaké parametry, ale pro reálné každodenní použití postačují tyto.

Zajímavé části kódu pro ESP:

– definice funkcí pro rozsvícení/zhasnutí daného schodu:

void rozsvit (int schod,int intenzita){ 
  Serial.print(„zapinam schod č.: „);
  Serial.println(schod);
  ledcWrite(schod, intenzita);
}


void zhasni (int schod){
  Serial.print(„vypínám schod č.: „);
  Serial.println (schod);
 ledcWrite(schod, 0);
}

pro každý schod je potřeba provést inicializace:

ledcAttachPin(schod[1],1);
ledcSetup(1, 5000, 8); // schod, 5 kHz PWM, 8-bit resolution

a callback funkce, která obsluhuje pokud přijde správný topic:

Pro zapojení PWM

 regulátoru je nutné použít piny ESP32, které to umožňují (označeny červeně):

zapojení MOSFETu je následující:

Takže propojení mezi ESP32 a MOSFETy je velmi jednoduché -> propojení jednotlivých PWM pinů ESP a pin MOSFET signál PWM+ (a GND). 

NODE-RED

Takto vypadá definice (pro přehlednost používám SUBFLOW – „schodiste-podminky“):

SUBFLOW – „schodiste-podminky“:

v první části dojde k vyhodnocení pohybu z čidel (toto může být provedeno klidně i jinde v rámci NODE-REDu) a podle toho k rozdělení :

v druhé části dojde k vyhodnocení jestli je den/noc a poslání správného PAYLOADu v JSON formátu.

Například pro denní rozsvícení všech schodů ze shora: 

{„smer“:1,“rychlost“:90,“cas“:61000,“intenzita“:130,“schody“:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}
Celý kód pro NODE-RED je tady:

Pokud se Vám článek líbil můžete přispět na další podobné články 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

2 komentáře: „Efektní rozsvěcení schodiště – část třetí – zapojení, kód pro ESP a NODE-RED“

  1. Edward avatar
    Edward

    Velmi zajímavé a dobré, ale v současné době to chce něco jako: Vzdálené měření spotřeby elektřiny přes internet, LIW-01

    1. Pokorný Martin avatar
      Pokorný Martin

      pro tento účel mi přijde lepší řešení SDS pro sledování spotřeby elektroměru, vodoměru a plynoměru. Pro sledování dílčích spotřeb elektro(např.v samostatných okruzích) mi přijde jako hodně dobré řešení Shelly PM/EM a jejich integrace přes MQTT – připravuji o tom samostatný článek