Tai mano VERBARIUS laikrodžio versija. Verbarius tai Lebedevo brandneimas, o šiaip, tai paprasčiausias laikrodis, kuris laiką rodo ne tik skaičiukais, bet ir tekstu. Kaip tik į rankas papuolė VFD ekraniukas kuris stovėjo prie kažkokio kasos aparato. Jis papuolė nelabai išdegęs ir dar buvo su žinomu modeliu. Todėl internete greitai radau jo datašytą.
VFD ekraniukas valdosi per RS232 portą, tačiau aš pašalinau RS232 lygių suderinimo mikroschemą ir sujungiau su mano universalia ATMEGA plokštele TTL lygiais. VFD ekraniukas kiek flegmatiškas ir nors maksimalus ryšio greitis kiek virš 38kbit tačiau kartais nuo karto ekraniukas nepriima komandų. Todėl teko dar vieną laidą panaudoti kaip “hardware handshake”.
Pats ekraniukas turi įprogramuotas Lietuviškas raides, todėl nutariau, kad laikrodis turi šnekėti Lietuviškai. O čia ir prasidėjo problemos, nes Lietuvių kalba tai ne kokia nors Anglų- čia ir linksniai kurie keitaliojasi, ir daugiskaita su vienaskaita ir šiaip skirtumai tarp “pirmos” ir “vienos”. Todėl programos didžioji dalis- Lietuvių kalbos prigulnybės. Net ir dabar, programoje yra keli neatitikimai įdealui. Tačiau aš vėl išvažiuoju keliom dienom į UK ir nieko neturiu ką jums parodyti. Todėl dedu nelabai pabaigta projektą. Tiesa, jis puikiausiai veikia ir panaudojamas.
Dabar įprogramuotas tekstinis laikrodis [1] kuris 5 minučių tikslumų “žmogiškai sako laiką”, minimalistinis [2] kur rodo minutes ir valandas bei flegmatiškai mirksi dvitaškis. [3]- VFD žibinto režimas kuris uždegia gana daug segmentų, kad apšviesti kambarį kaip naktine lempute. Čia galvojų vietoje užrašo įdėti laikroduką vienoje eilutėje.
Skrolerinis laikrodis (beja skrolina ne ATMEGA, o pats VFD ekraniukas) kuris rodo žodžiai tiksliai laiką- viršutinėje eilutėje valandos- minutės, apačioje sekundės kas 10. Nes kiekvieną sekundę nespėja parodyti ekraniukas. [5]- tipinis laikrodukas su sekundėmus. [6]- tas pats kaip ir penktam, tik pridėta savaitės diena. [7]- tai rodo koks paros metas. Dar yra (tik nenufotkinta) režimas kuris rodo kiek sekundžių praėjo per dieną. Tai tik užuomazgos count-down laikrodžiui iki kokios nors datos- tipo liko 87 dienos ir 12 valandų iki kokios šventės. Tačiau tai dar neužprogramuota.
Papildoma prigulnybė- VFD ekranai išdega jei ilgai rodo tą pačia informaciją. Todėl minimalistiniai laikrodukai, kur dega tik keli skaičiai, turi įprogramuota teksto pasislinkimą per kelias pozicijas- kad naudoti įvairesnius segmentus.
Aišku dar įprogramuoti visi setupai- laikrodis naudoja metus, mėnesius ir aišku dienas, valandas, minutes ir sekundes. Nors ir RTC mikroschema naudoja savaitės dienų registrą, programuojant datą savaitės diena automatiškai pasiskaičiuoja pagal formulę.
Ir aišku, kaip visada:
VFD laikrodžio source code ir kompiliuotas hex failas.
Manau tiks daugelis ATMEGų. Svarbu, kad veiktu nuoseklus portas, ADC naudojamas kaip mygtukų nuskaitymas ir softwarinis I2C supaprastintas variantas, nes naudojama primityvi Holtek mikroschema. Manau viskas lengvai perdaroma į bet kokią RTC mikroschemą. Programa kol kas užima tiek:
AVR Memory Usage, Device: atmega16
Program: 6136 bytes (37.5% Full) (.text + .data + .bootloader)
Data: 219 bytes (21.4% Full) (.data + .bss + .noinit)
Tačiau kol kas ne viskas padaryta. Dar galima dalį teksto perkelti į programos dalį, nes ne viskas dar optimizuota.
Super! kaip tik dezej metosi VFD kazkoks ekranas. Reik pagal paskirti panaudoti 🙂