Ovo mi je prvi post nakon predstavljanja pa evo da napišem nešto korisno o osvjetljivaču s kojim sam se bavio ovih dana.
Znam da je ovo bilo 100 puta, ali evo svejedno 101, no ovaj put u malo drugačijoj izvedbi od uobičajne (7-seg u multipleksu ili alfanumerički LCD).
Evo odmah početne šeme s kojom sam krenuo i iz koje je sve jasno:
![Image](http://www.imagesforme.com/thumb/thumb_6713c44a.gif)
Ideja je da se koristi po jedan shift registar za svaki segment. Serijski izlaz iz prvog registra se veže na data ulaz od drugog itd. Sad samo mikrokontroler treba napuniti te registre sa podacima i to se prikaže na izlazu.
Najvažnije prednosti ovakvog pristupa je što se segmenti ne trebaju stalno refreshati, nego samo kada je to potrebno pri promjeni stanja, čime se dobije na svjetlini displeja, eliminira se eventualni flickering i oslobađaju se resursi mikrokontrolera da može vršiti za to vrijeme neke druge kalkulacije. Isto tako potrebne su samo dvije linije za upis podataka, što može biti korisno ako ne raspolažemo sa više I/O linija. Eventualna mana je što ovako segmenti vuku nešto više struje nego u multipleksu.
Na ovu šemu sam još dodao ispravljač napona, relej i piezo.
Konačna šema:
![Image](http://www.imagesforme.com/thumb/thumb_c6cfdb19.gif)
Segmente sam na kraju spojio ovako čudno zato jer mi se tako na PCB-u ne sijeku vodovi pa imam manje kratkospojnika. Ustvari mogu se spojiti bilo kako samo što treba je prepraviti tablicu s brojevima. Još sam dodao i str (store) upravljačku liniju zato jer pri upisu podataka segmenti na djelić sekunde zasvijetle (jedva primjetno, ali me je to kopkalo
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Kod sam pisao u bascomu-avr, koji mi najviše odgovara zbog jednostavnosti, koristeći flag system iliti po naški princip zastavica. Između ostalog u atachmentu ispod su i hex i source kojeg sam se potrudio dobro izkomentirati kako bi bio lakše shvatljiv za eventualne samograditelje.
Slike gotovog uređaja:
Pločice:
![Image](http://www.imagesforme.com/thumb/thumb_a06b5199.jpg)
![Image](http://www.imagesforme.com/thumb/thumb_66dd38c6.jpg)
![Image](http://www.imagesforme.com/thumb/thumb_c6da6af1.jpg)
![Image](http://www.imagesforme.com/thumb/thumb_2aeed51c.jpg)
![Image](http://www.imagesforme.com/thumb/thumb_38143435.jpg)
Kućište:
![Image](http://www.imagesforme.com/thumb/thumb_f66abec1.jpg)
![Image](http://www.imagesforme.com/thumb/thumb_7cc4a68c.jpg)
Funkcije uređaja:
-dvije tipke su za namještanje vremena u koraku od 10s
-treća tipka je start/stop
-timer naravno odbrojava od zadane vrijednosti do nule kada isključi relej i aktivira zvučni alarm
-tipke za podešavanje vremena su onemogućene za vrijeme odbrojavanja
-zadano vrijeme se sprema u EEPROM tako da je dovoljno samo jednom namjestiti vrijeme. EEPROM čuva vrijednost i kad nema struje tako da pri ponovnom uključivanju se odmah prikaže zadana vrijednost.
-mikrokontroler se gasi nakon dvije minute neaktivnosti, tada je ukupna potrošnja manja od 5mA.
-trenutno se budi pritiskom na tipku start/stop
Eto to je to, malo sam se raspisao, nadam se da ne zamjerate.
U atachmentu je cijeli projekt u Eaglu, pcb-i u pdf-u (nije u zrcalu pošto printam na paus) i sve potrebno za programiranje (hex, bascom source i postavke fuseva).