Nos, hol is kezdejm....a teljes elõzményét hosszú lenne leírni a dolognak, szóval igyekszem csak röveden.
Olvasgatom idõnként a netes elektronikai fórumokat, fõleg pl. a terminál.hu-n, ahol idõnként felmerülnek
a fórumozók részérõl néha bonyolultabb néha egyszerübb elektronikával megoldandó problémák illetve feladatok.
Néha szinte azonnal láttam a megoldást is a problémára, ami sok esetben egy-két digitális IC-vel év/vagy néhány
tranzisztoros áramkörrel könnyen megoldható volt, azonban ilyenkor mindíg jött valaki és azt mondta (kaján mosollyal):
"hagyd a fenébe ezt a bonyolult áramkört, tegyél be egy PIC-et, és egyetlen IC-bõl meg van oldva a feladat".
Ez ugye rohadtul bosszantó több okból is...
- Ez mindíg akkor jõtt amikor az ember már vette a fáradtságot, hogy tervezzen egy egyszerübb kütyüt.
- A PIC-et fel is kell programozni valahogy, amit ugye nem mindenki tud (hardver kell hozzá és szoftvert kell írni)...
- De a legbosszantóbb, hogy a kaján mosolyú beírogatónak még IGAZA is VAN ! (na nem mindíg, de elég sokszor)
Néha én is úgy érzem, hogy pl. led villogtatásra egy "mini egychipes számítógépet" használni olyan,
mint egy ágyúval verébre lõni... de némelyik mikrovezérlõ annyira filléres árú dolog, hogy sokszor
olcsóbb és egfyszerübb azzal megoldani a feladatot (mint bármi mással).
Szóval az ehez hasonló dolgok, és a mikrovezérlõben rejlõ határtalan lehetõségek láttán döntöttem úgy, hogy ezzel
bizony érdemes foglakozni. Szerintem rendkívül érdekes hobbi összekapcsolni a programozást és az elektronikát.
Ha jól emlékszem Béka honlapján olvastam, hogy úgy játszott gyerekkorában az alkatrészekkel, mint más gyerek a legóval,
vagy a fémépítõvel - épített valamit, szétszedte, épített mást, stb... Nos azthiszem felfedezek némi hasonlóságot...
Nos ennyi rizsa után jöjjön az, amirõl ez az oldal fog szólni - az elektronos dobókocka. Ez egy olyan szerkezet lesz,
mint ahogy a fotón is látható, amin a dobókocka pöttyeit ledek helyettesítik, és gombnyomás hatására megjelenít
egy számot, úgy mint egy valódi dobókocka (1és 6 között). Ez persze megoldható néhány db digitális IC felhasználásával, de
miért ne oldanánk meg inkább egyetlen, kicsi, 8 lábú, IC-vel a feladatot. Sõt ilyen projektet lehet találni készen is
az interneten, csak meg kell építeni. De akkor mi a fenének írogatok most ide? Azért mert a feladatot egy 8lábú PIC
mikrovezérlõvel akarom megoldani, ráadásul úgy, hogy nem másolok valahonnan, hanem saját konstrukciót készítek
gyakorlatilag a nulláról indulva. Többek között mert ezzel is tanulhatok a mikrovezérlõ programozásáról, és azért is mert
nekem ez is a hobbim része - tehát szórakozás.
De mivel azért (most még) mégiscsak az elekronika az elsõ, elõször nézzük a kapcsolási rajzot:
Egy kis segítség a nyáktervezéshez (katt a képre):
Ennél egyszerübb aligha lehetne. Az IC tápfeszültségét, ami 2....5,5V közötti lehet egy kondanzátor "hidegíti",
az ellenállások pedig az IC kimeneteinek az áramát korlátozzák (ez maximum 20mA lehet), az áramkör
tartalmaz még egy nyomógombot, a kocka "dobásához", valamint ugyanez a gomb lesz a ki/be kapcsoló is.
A ledek mutatják a kocka által dobott számot, a hangszóró pedig némi "zajt csap" dobás közben.
Ez utóbbi csak azért került bele az áramkörbe mert még volt az IC-nek egy nem használt lába. :)
A dobokockát 2db AAA-s kicsi ceruzaelemrõl üzemeltetem, ezzel akár évekig is müködhet, ha elég kicsi
áramigényû ledeket használunk fel. Sikerült olyan piros ledeket beszereznem amik már 1,5mA-el is erõsen
világítanak, de persze nagyobb áram is beálítható a ledek elõtétellenállásaival.
Ha más színû (nagyobb nyitófeszültségû) ledet akarunk felhasználni akkor nagyobb tápfeszültségre lehet szükség,
hiszen pl. egy kék led nyitófeszültsége 3,5V körüli lehet, ennél alacsonyabb feszültségrõl pedig nem világít.
Piros ledet felhasználva viszont az áramkör még 2V-ról is mûködik.
Az áramkör "lelke" egy PIC12F508 tipusú mikrovezérlõ, ez manapság olcsón beszerezhetõ, a felprogramozását
a kapcsolási rajzon (és a nyákon is) szereplõ tüskesoron keresztül is meg lehet oldani, de elõre felprogramozott
PIC esetén a tüskesor nyugodtan kihagyható az áramkörbõl.
Az áramkörbe nem terveztem külön ki/be kapcsolót a tápfeszültség megszakítására, ugyanis a PIC programját úgy
írtam meg, hogy ha hosszú ideig nem nyomják meg a dobokocka nyomógombját, akkor SLEEP módba kerül a mikrovezérlõ,
ilyenkor pedig az adatlapja szerinti fogyasztása 0,1uA alattira csökken. Ezt már megmérni is alig lehet egy
átlagos multiméterrel, gyakorlatilag olyan mintha kikapcsoltuk volna az áramkört. A gyakorlatban ez az áramfelvétel,
több mint 2 nagyságrenddel kisebb volt a specifikáltnál, kb. 0,35nA (nanoAmper!) 3V-os tápfeszültség esetén.
Ez nagyságrendileg úgy néz ki, hogy ha rálehelek a nyákra, akkor az kb 10nA-t vesz fel a szigetelés ideiglenes
leromlása miatt. :) Az áramkör nem csak idõzítve kapcsolhat ki, hanem akkor is ha a nyomógombot kétszer egymás után
megnyomjuk (duplakattintás :) :)). A bekapcsolás a gomb ujbóli megnyomásával lehetséges, ilyenkor a ledek
villognak egy darabig (közben a hangszóró is hallat némi hangot), majd megállapodik egy véletlenszerû értéknél.
A gomb újbóli megnyomása "új dobást" jelent. Sajos most nem tudom videóra venni, de talán érthetõ a mûködése.
A dobókocka programja innen letölthetõ: skori_dobokocka.zip
Gondolkoztam rajta, hogy a forrást kiadjam-e vagy sem, mivel elõfordulhat, hogy valaki visszaél vele,
végül úgy döntöttem, hogy kiadom de csak a nyákrajzhoz hasonló formában. Tanulmányozni, így is nyugdtan lehet:
forras_asm
Biztos nem tökéletes a forráskód, és valószinüleg sokkal jobb programot is lehet írni erre a PIC-re,
mindenesetre ez is jól mûködik, és jópofa játék lett ez a dobókocka.
Bizonyára vannak akiknek gondot jelenthet a program beégetése a PIC-be. Érdemes szétnézni a neten, vannak leírások,
és nagyon egyszerüen is lehet építeni PIC égetõt, például PC LPT (nyomtató) portra csatlakozó megoldások is vannak.
Persze készen is kapható viszonylag olcsó PIC égetõ, én pl. vettem egy PICKIT2 USB -re csatlakozó égetõt.
Erõsen korlátozott darabszámban esetleg én is tudok adni mikrovezérlõt, beégetett dobókocka programmal,
de azért ne az legyen az elsõ ha valaki szeretné megépíteni ezt a játékot, hogy kapásból hozzám fordul.
Ide teszek még két letölthetõ fájlt, ami nekem komoly segítséget adott a program elkészítéséhez!
A fájlokat az interneten talátam, eredeti forrásuk a
Tudomány és Technika oldaláról származik.
PIC 12F509 adatok magyarul: PIC12F509 Ez hasznos lehet ha valaki meg akarja ismerni ezt a tipust.
Az 508, 509, és 510 -es tipusok csak a memória méretében különböznek, ill. a PIC12F510 tartalmaz A/D konvertert is.
PIC utasításkészlet magyarázatokkal: PIC utasitaskeszlet (magyarul)
Úgy tünik mégis kerül ide utólag még valami..... Úgy éreztem, hogy az eredeti nyák túl nagyra sikeredett,
és kicsit kisebbre átterveztem, (igy kb. 4cm x 4cm lett). Forrásfájlt errõl sem teszek fel, de méretarányosan
kinyomtatható, 600dpi felbontású GIF képként elérhetõvé teszem. Katt. a képre...
Készült néhány fotó is:
Készítettem egy videófelvételt is mûködés közben, letölthetõ ITT:
Sajnos a fényképezõm csak MOV videót képes készíteni, ami hatalmas fileméretet eredményez,
szerencsére sikerült olyan free programokat találni amivel át lehetett kódolni XviD AVI formátumra,
és kezelhetõ fileméretre.... Skori-Dobokocka.avi