Nabízím finanční odměnu a displej na hodiny. Tedy 4x číslice 8 a dvojtečka. Výška číslic 78mm. Viz foto.
Další spolupráce na úpravách je možná.
Požadavky:
-zobrazit číslice a znaky z leva a nebo od zadaného indexu bez vymazání okolních zobrazených znaků
-funkce pro rozsvícení, zhasnutí dvojtečky
-funkce pro zhasnutí jednoho znaku, nebo celého displeje
-individuální změna barvy pro každou číslici/znak.
-možnost zobrazit další znaky jako je °, "C" a "F", do budoucna se počítá s dalšími znaky, např.: %, V, A apod. Bude pro ně vyrobena nová deska.
-lze využít knihovnu Adafruit NeoPixel pro zjednodušení ovládání diod.
Deklarace:
-ledsPerSegment = 2; // Počet diod na každý jeden segment číslice. Minimum 1, maximum 255. 7 segmentů na číslici, segment 8 je rezervovaný na tečku za číslem (1led). Bude přítomen u dalšího typu zobrazovačů s desetiným místem pro teploměry, voltmetry atd. Dvojtečka má 2 LED, ale počet diod by se měl taky dát nastavit.
Deklarace pro možné varianty poskládaného displeje:
-displayFormat[] = "88:88"` // pro krátký formát času hh:mm
-displayFormat[] = "88:88:88"` // pro dlouhý formát času hh:mm:ss
-displayFormat[] = "888888"` // například pro 6 místné číslo (záporné 5 místné číslo), "8888" pro 4 místné číslo (záporné 3 místné) atd.
-displayFormat[] = "888.888"; // pro zobrazení teplot jako třeba -12.7°C apod.
Funkce:
-showChars(char myChars[], int index, (volitelně byte R, byte G, byte B)); // Zobrazí skupinu znaků z leva nebo od zadaného indexu.*
-displayClear(volitelně int index**); // Zhasne displej, nastavení barev zůstává uloženo. při zadání indexu bude zhasnut jeden znak na pozici index.*
-setColor(int index, byte R, byte G, byte B); // nastaví barvu jednotlivých číslic/znaků. Pokud možno jednorázově na začátku programu, případně přidat barvu i jako volitelná vstupní proměnná u funkce např. showChars("11:23", 0, 50, 0, 0); // zobrazí čas od prvního znaku, červeně.
-setColon(bool show, byte index, (volitelně byte R, byte G, byte B)); // dvojtečka ON/OFF, index = první až Ntá dvojtečka.
* např: index = 2; // změní třetí číslici tak, aby okolní číslice zůstaly beze změny.
** displayClear() bez předaného indexu vymaže celý displej, nastavené barvy číslic zůstávají. Po předání proměnné index, funkce smaže jeden znak na dané pozici, ostatní zůstanou zachované vč. nastavení barev.
Video funkčního prototypu
