Tak se zdá, že asi umíš cčko že. No problém je, že nejsem schopný připojit serial port abych viděl log, protože to je vše namontované. POkud bych to připojil na pc tak bych pak zase neviděl co to dělá na schodech. Pokud by to nevadilo.kiklhorn píše: ↑18. leden 2022, 03:45 Nemám tu žádný pásek, potřeboval bych si to odkrokovat
Ale můžeš hned za řádkydoplnitKód: Vybrat vše
void userLoop() {
a poslat log ze sériového portu s komentářem co to vypisovalo když jsi sepnul čidlo v okamžiku kdy to zhasínaloKód: Vybrat vše
Serial.println((String)"userVar0:"+userVar0+" previousUserVar0:"+previousUserVar0+" wipeState:"+wipeState);
Teoreticky by mělo stačit pak na základě toho výpisu upravit začátek smyčky - podmínka "něco" aby zhasínání změnil na rozsvěcení. Možná ještě s voláním resetTimebase();
Kód: Vybrat vše
if (userVar0 > 0) { if ((wipeState == 3) && něco ) wipeState = 1; if ((previousUserVar0 == 1 && userVar0 == 2) || (previousUserVar0 == 2 && userVar0 == 1)) wipeState = 3; //turn off if other PIR triggered
Včera jsem ale dumal nad tím kodem a pochopil jsem co se tam děje, Já spouštím světla vždy příkazem U0=1 nebo 2 a vypínám vždy U0=0. Což odskočí vždy v kodu někam dolu a pak dochází k zhasínání. Takže nápad bych měl, že pokud by se ještě při zhasínací smyčce udělal další wipeState který by byl zapsán před spuštěním zhasínání a pak po zhasnutí by se přepsal na ten který tam je nyní, tak by se při spuštění příkazu 0 mohlo kontrolovat, zda je hodnota wipeState ta ještě před zhasnutím a na základě toho pak buď znovu spustit kod který ukazuje že je plno rozsvíceno (asi nejjednoduší) nebo udělat kod který by od pozice kde schody zhasínají, se otočil směr a začali se od toho bodu rozsvěcet. Asi by se muselo k kodu nějak spočítat v kterém čase se to při vstoupení do schodiště nacházelo. Co myslíš?