Close

Odpověď na: adresovatelný led pásek, změna efektů

Úvodní stránka Fórum Vaše projekty Arduino adresovatelný led pásek, změna efektů Odpověď na: adresovatelný led pásek, změna efektů

#10483
Vojtěch Vosáhlo
Účastník

Mělo by stačit přidat k přerušení seriovou linkou i přerušení IR příjmem. Na začátku kódu máte v podmínce if toto: „dalkoveOvl.decode(&vysledek)“
Vzhledem k tomu že je v podmínce, nejspíše vrátí 1/true/pravda pokud něco přijme a zvládne dekódovat a 0/false/nepravda pokud nic nepřijme nebo nedekóduje.
Do vašeho while by tedy stačilo přidat logický operátor OR v arduinu jako ||. Ten vám dá 1 pokud alespoň jedna vstupní hodnota je 1. Smyčka by tedy vypadala asi takto while(!(Serial.available() || dalkoveOvl.decode(&vysledek)))...
Serial.available() se podívá jestli je něco dostupného na sériové lince a dalkoveOvl.decode() zjistí zda něco přijímáme. Pokud nic z tohoto neplatí dostaneme 0 která je vykřičníkem znegovaná na 1 a smyčka běží. Pokud bude ale jedna z možností 1, smyčka se zastaví.

Mimo tohle by se dal kód ještě různě optimalizovat ale o tom kdyžtak jindy 😉