Ona slicica i komentari koji se vec nalaze ovde dali su mi ideju da napravim neki otkaceni, verovatno samo meni razumljiv, sat.
Odavno sam planirao da napravim neki ludi sat, ali nikako nije islo. Odavno planiram da “pokvarim” neki sat i nateram ga da se okrece u suprotnom smeru, ali dok to ne realizujem sastavio sam nesto jednostavnije. Setio sam se jedne stare zezalice koju sam pravio pre par godina. Bio je to neki mini light show, sa LED dioadama a winamp je preko plugina palio i gasio diode, u ritmu muzike (za ples)
U principu jednostavna naprava – prikljucuje se na LPT port racunara (onaj gde se nekada davno, u eri pre USB-a, povezivao stampac). Svaka dioda vezana je za jedan pin prikljucka, i tako 8 komada. Takodje do svake diode dolazi i jos jedna zica ground. Znate vec, da bi diode svetlele a struja proticala morate da imate zatvoreno strujno kolo. Nekada sam to sastavio tako da je sada to dosta olaksalo posao, naravno nije moglo da prodje bez lemljenja jer su se neke zice otkacije. Sve u svemu – buduci sat je brzo dao znake zivota. Evo kako to izgleda spolja:
Jednostavno, da jednostavnije ne moze da bude – 10 LED dioda posatavljenih na stari stoni kalendar. Pretpostavljam da sada mislite kako ovde nista ne lici na sat. O tome kasnije, a pre toga pogled unutra. Malo je haoticno, ali ne vidi se 🙂
Ovo je hardwerski deo novog binarnog sata, ostao je da se napravi jos program koji to pokrece. Odlucio sma se za najjednostavniju verziju, da proradi a kad budem bio raspolozen doteracu je da radi malo bolje.
Ideja za ovo cudo je sledeca – program treba da konvertuje vreme u binarni oblik i poslaje signal do dioda. Sati i minuti bice ispisani LED diodama u binarnom formatu – dioda svetli = 1, dioda je ugasena = 0. Ovaj binarni casovnik prvo prikazuje sate a zatim minute, i tako u krug. Da bi procitali vreme na satu potrebno je svetlece diode konvertovati iz binarnog u dekadni sistem. Hehehe, ne brinite – imate 10-15 sekundi da to uradite, a posle se minuti menjaju u sate i obrnuto.
Jednostavnije receno – kada je upaljena prva LED dioda levo to je broj 1, druga broj 2, treca 4, cetvrta 8, pa 16, pa 32. Da bi dobili broj koji pise – saberite vrednosti za sve diode koje svetle. Upotreba digitrona je dozvoljena 🙂
Evo kako sat izgleda kad radi:
Ovaj raspored dioda pokazuje broj 2+ 16 = 18 (bili su minuti :))
Posle malo egzibicja sastavio sam i program. Ako nekoga interesuje moze da pogleda ovde Program radi u Linuxu, za Windows… pojma nemam, najverovatnije ne moze da radi.
To je otprilke to. Funckionise nekako, ali bas i nije upotrebljivo. U planu je da malo sredim programcic tako da se diode pale drugacije za sate i minute, tj. da se razlikuje raspored svetljenja (u tu fukncuju planiram da koristim ona dva para dioda – levo i desno), takodje hocu da napravim da se program izvesava u pozadini itd itd. Bice jednog dana, za sada samo ovoliko.
ps. I sada neka neko kaze da nije geek
ma znaÅ¡ šta, bolje onaj moj sat što GOVORI vreme. mislim ne moraš da gledaš, samo se obraduješ kad čuješ koliko je sati, ili se možda iznerviraš, nećemo sad u detalje. za ovaj tvoj treba digitron!!! to je previše! svetleo ili ne 😛
Ne mogu da kazem da se ne slazem sa ovim sto si napisala 🙂
Hm, mozda da dodam da ova skalamerija i prica…. jedino ostaje mali problemcic – kako da je naucimd a cita misli i da ne bude dosadna 🙂
to je bar lako…
nocu, pre nego sto legnes da spavas, stavi na glavu one elektrode koje ce sve tvoje mozdane impulse da beleze na HDD… ujutru uz malo dekodiranja (i malo vise srece) dobijes smislene "stringove" misli i voila (fr) dobijes sat koji ce uz tacno vreme na 1000 nacina da ti kaze da ti nisi normalan 😀
i posle kazi kako je meni dosadno 😀
hmmm da vidim da imaš neka pitanja. pa možda ne treba čita misli, nego da bude programirana na određeno vreme ili neki trik momenat, tipa kad zatvoriš oči a glava ti okrenuta ka palfonu hahaha tako sigurno. aj to ćemo još da smislimo, valjda 😉
U bre milane al si napravio beskonacnu petlju :))
Sta fali da to uradis kao
while (1) {
…
}
😀
Pa fali mnogo 😉
Sta ako hocu da se petlja ponovi 5 puta da bih nesto testirao? 🙂
Eeee sad… u tvom kodu pise da ne znas kako drugacije da napravis da se beskonacno ponavlja 😛 Molim lepo, neprecizan ti je zadatak 😀
Izvini… 😛 <— ovo je plez smajli?! Pfffff 🙂
uvedes jos jedan brojac koji ce nakon petog izvrsavanja uvecati tu vrednost na 2… ako sam dobro rastumacio o cemu vi pricate 😀
k=1 // brojac prolaska kroz petlju
if i==1 do { //ispitivanje sanjinog slucaja (valjda)
if k==5 do i=2 else { //koliko se puta proslo kroz petlju
….
inc(k); //uvecaj k za jedan
} else izadji; //ukoliko je pet puta izvrseno izadji
u sustini postoji deset puta elegantniji nacin da se ovo izvede ali kad smo se vec svi upustili u kolektivno teoretisanje o satu koji misli, govori a usput i podgreva picu, moze da posluzi… 😀
Ne Sanja, u kodu (komentaru) pise da nisam smislio nista pametnije 🙂
Nego, vasa logika podseca na cuveki "Hello World" program u razlicitim jezicima. Ne komplikujte bre – kad testiram i eksperimentisem sa programom stavim komentar na taj red, kad ga koristim sklonim komentar i sve radi savrseno. Imate pametniji i jedostavniji predlog da radi u oba slucaja? 🙂
Kad bas hocete da se igrate sa C-om evo vam domaci zadatak – kako da ovo posaljem da se izvrsava u pozadini? (resecnje tipa "./a.out &" ne dolazi u ozbir 🙂 )
jbt ja tek sad vidim da si ti prilozio neki kod 😀
ja do sad "bulaznio" napamet 😀
http://www.ariel.com.au/jokes/The_Evolution_of_a_… http://www.willamette.edu/~fruehr/haskell/evoluti…
🙂
A kako bi bilo da od ovoga napavis budilnik?
A ne, taj deo prepustam vama (fizicarima) experimentalcima 🙂
Da bi napravio sat koji ce da radi u kontra smeru netreba nista da pokvaris-osem da prepravis mehanizam sto nije tesko i naravno uradis novi brojcanik sa kontra smerom , govorim o quartz mehanizmima !
.