Ja LED mirgo 60 Hz un augstākās frekvencēs, tad cilvēkam šķiet, ka tā spīd nevis mirgo. Balstoties uz to var izgatavot dažādas interesantas un arī sadzīviskas ierīces. Piemēram TV arī strādā uz tādu principu – tas ātri nomaina pikseļu rindas, taču cilvēks redz normālu bildi. Septiņu segmentu displejos pārsvarā arī darbojas šis princips – vienlaicīgi parādās tikai viens no cipariem, ātri tos parādot vienu pēc otra cilvēks redz četrus dažādus ciparus.
Es arī, balstoties uz šo cilvēka acu apmānīšanas metodi, izgatavoju savdabīgu rotējošu LED displeju. Tad nu izskaidrošu visu pēc kārtas.
Šim nolūkam var izmantot tikai gaismas diodes, jo tās pēc strāvas pieplūduma ātri iedegas un pēc strāvas atvienošanas tikpat ātri nodziest, atšķirībā no spuldzēm ar diedziņu, kurām vispirms jāuzsilst, lai iedegtos. Ar tādām spuldzēm pavisam noteikti nekas nesanāktu.
Šādam displejam manā gadījumā nepieciešamas tikai 8 LEDi. Taču tā izšķirtspēja būs apmēram 8x100 pikseļi. Apmēram tapēc, ka augstums ir konstants – viens baits – astoņi biti – astoņas diodes, bet platums var būt mainīgs. Var rādīt attēlu tikai redzamajā daļā un var rādīt attēlu visapkārt. Gaismas diodes izkārtotas kolonnā, paralēli asij ap kuru tās rotē. Ātri rotējot un mirgojot attiecīgajām diodēm, cilvēks redz attēlu.
Ierīce galvenokārt tika izgatavota mācību nolūkiem un testiem, kā arī lai labāk apgūtu mikrokontroleru programmēšanu. Šī iemesla dēļ arī netika piedomāts pie vizuālā izskata, galvenais, lai tā funkcionētu, tādēļ arī plates netika kodinātas, bet viss izgatavots uz punktu, līniju un bez vara pārklājuma tekstolīta platēm.
Vēl kas, POV – persistence of vision ;)
Aparatūra
Vispirms bija jāizgatavo aparatūra. Tas prasīja visvairāk laika. Vispirms finiera pamatne. Uz tās līdzstrāvas motors, kas griezīs „displeju”. „Displejs” ir rotējošais elements, kas sastāv no divām daļām. Viena ir piestiprināta motora asij. Uz tās ir 8 spoži zilas gaismas diodes, kontakti no kuriem „barojas” shēma. Motoram darbojoties, pēc šiem kontaktiem spriegums ir saraustīts aiz tiem rodas zudumi. Tādēļ paralēlajā slēgumā pievienots 1500 uF elektrolītiskais kondensators sprieguma stabilizācijai, kas ļoti labi tiek galā ar savu uzdevumu. Šai daļai ir konektors, kam var pievienot otru daļu – displeja kontroleri. Galvenais elements uz šīs plates ir Microchip PIC16F84A mikrokontrolers. Vēl viena svarīga lieta – sensors pēc kura mikrokontrolers „zin” kurā punktā atrodas gaismas diodes.
Izmantotās gaismas diodes

Pa labi gaismas diožu kolonna attēlu veidošanai. Diodes, īpaši neiedziļinoties to kodos, tika pasūtītas no ķīnas un tāpēc sanāca, ka šim projektam tās ir tik mazas. Šīs diodes ir spoži zilas, nav lētas un arī laika vairs nebija tik daudz, lai pasūtītu lielāka izmēra LEDus. Tāpēc nācās knibināties un lodēt šīs pašas. Tolaik vēl nebija lodāmurs ar smalku uzgali – pa kreisi attēls, kur redzams gaismas diodes un lodāmura uzgaļa salīdzinājums uz 5 mm rūtiņu lapas.
LED parametri. 0603 SMD LED
Krāsa: Zila
Tiešais spriegums: 3.2-3.4 V
Tiešā strāva: 20 mA
Gaismas stiprums: 200 – 250 MCD
Skata leņķis: 120 grādi
Izmantoto gaismas diožu parametri ir piemēroti šādai ierīcei. Izstarotajai gaismai jābūt spožai, jo diodes tiks iedegtas tikai uz ļoti īsu brīdi. Tās ir platleņķa gaismas diodes – tām jābūt redzamām no vairākiem skatu punktiem, jo tās rotējot pa riņķa līniju veidos izliekumu. Zilās krāsas gaismas diodes manuprāt vairāk piesaista cilvēku uzmanību – tiek veidots displejs, vajadzīgs, lai tam pievērstu uzmanību.
Konstrukcija
Šeit redzama rotējošā elementa daļa, kas piestiprināta motora asij. Spriegumu stabilizējošais kondensators, barošanas avota kontakti un konektors pie kura pievieno kontrolera shēmu.
.
.
.
.
.

Šī ir kontrolera shēma. Galvenie elementi – mikrokontrolers, kas principā dara visu darbu, kvarca kristāls, kas padod 4 MHz frekvenci mikrokontrolerim un sensors bez kura attēls spontāni parādītos katru reizi citā vietā un nekas nebūtu saprotams.
.
.
.
.
.

Pabeigta ierīce. Apakšā, kastītē iemontēts motors, labajā malā piestiprinātā metāla plāksnīte sensoram arī redzama. Skrūvītes, kas atrodas netālu no LEDiem, domātas atsvaram. Šo „displeju” nepieciešams arī nobalansēt.
.
.
.
.
.
.
Sensors, tā darbības princips
Sensors nepieciešams, lai attēls visu laiku veidotos vienā un tajā pašā vietā. Sensora darbības princips ir vienkāršs. Pats sensors satur divus elementus – infrasarkanās gaismas diodi un fototranzistoru. Infrasarkanās diodes šeit lieto tāpēc, ka infrasarkano gaismu cilvēks neredz, šajā gadījumā nav vajadzīgs lai to redzētu cilvēks, taču aparatūra gan „redz” šo gaismu. Pietuvinot sensoram atstarojošu virsmu, no tās atstarojas infrasarkanie stari un spīd uz fototranzistoru. Fototranzistorā samazinās pretestība, attiecīgajam mikrokontrolera izvadam pieplūst strāva un tā vērtība nomainās no 0 uz 1. Es izmantoju plānu metāla plāksnīti ko piestiprināju pamatnei. Metāls labi atstaro gaismu, tāpēc arī izvēlējos šādu risinājumu lai turpmāk nerastos sarežģījumi ar sensoru. Vēl viens labums šādam sensoram ir, ka metāla plāksnītes var novietot vairākās vietās uz pamatnes, tādejādi iegūstot iespēju vēl precīzāk noteikt gaismas diožu kolonnas atrašanās vietu.
Elektriskā shēma
Shēma, salīdzinājumā ar pašu ierīci, ir vienkārša. Visi elementi, kas atrodas pa kreisi no mikrokontrolera, vajadzīgi paša mikrokontrolera stabilai darbībai. Tie salikti balstoties uz datulapu. Aiz katra B porta izvada seko 120 omu rezistors, tie vajadzīgi lai pasargātu diodes, jo mikrokontrolera izejās ir 5 volti bet gaismas diodēm tas ir par daudz. Izmantotajām diodēm vajag 3,3 voltus un 20 miliampērus. Rēķinos, drošības nolūku dēļ rakstu, ka spriegums ir 5,5 volti. Pēc tā iegūst, ka sprieguma kritums uz rezistoru ir 2,2 volti un pēc Oma likuma dalot to ar 20 miliampēriem iegūst nepieciešamo rezistora pretestību – 110 omi. Man bija 120 omu rezistori, tāpēc lietoju tos. Virknē ar katru rezistoru ir viena gaismas diode, kopā astoņas, kas veido kolonnu. No A porta izmantots tikai viens izvads, kas ir iestatīts kā ieeja, un pie tā pievienots sensors. Sensora infrasarkanās gaismas diodei nav jābūt īpaši spožai, tādēļ ar to virknē saslēgts strāvu pazeminošs 470 omu rezistors. Fototranzistora emiters ar 3,3 kilomu rezistoru pievienots tranzistoram lai pasargātu tranzistora bāzi. Savukārt tranzistora emiters ar 560 omu rezistoru pievienots mikrokontrolerim lai tas tiktu pasargāts. Mikrokontrolerim šajā gadījumā tranzistoru drīkst slēgt klāt pa tiešo, taču drošības nolūkos tiek lietots rezistors. Gan fototranzistora, gan tranzistora emiters ar 100 kilomu rezistoriem pievienoti „zemei”. Tie nepieciešami lai sīkas izmaiņas fototranzistorā (telpu apgaismojums, dienasgaisma) neietekmētu sensora darbību un arī lai tad, kad uz fototranzistoru nekrīt gaisma un tranzistora bāzei nepieplūst spriegums, to emiteri atbilstu vērtībai 0 jeb „zems”. Ja šie rezistori nebūtu, tad mikrokontrolers ieejas signālu „redzētu” kā „peldošu” punktu un tas šajā gadījumā, visticamāk, mikrokontrolerim uzrādītos kā 1 jeb „augsts”.
Šeit var lietot praktiski jebkuru NPN tranzistoru, jo tas tiek izmantots tikai kā slēdzis.
Par ierīces barošanas avotu der jebkurš datora barošanas bloks. Shēmai nepieciešami 5 volti un motoram 12. Šai ierīcei esmu pielicis diskešu lasītāja barošanas konektoru un to ērti pieslēgt datora barošanas blokam.
Mikrokontrolera programma

Programmu uzrakstīju vienkāršu, neliku nekādus efektus, kā piemēram teksta „tīšanu”, sašaurināšanu, paplašināšanu, tas viss arī ir iespējams ar šo ierīci, bet es visu centos taisīt saprotamu, vienkāršu un viegli uzskatāmu. Programmas kodam esmu pierakstījis piezīmes un paskaidrojumus. Programma rakstīta BASIC valodā.
.
.
.
Attēla veidošana
Izskaidrošu, kā notiek burta attēlošana. Viss tiek attēlots ar „zilajiem pikseļiem” un „neredzamajiem pikseļiem”. Piemērā – zilā krāsa parādīta melna, neredzamā – balta. Tiek skaidrota A burta attēlošana.
If char = "A" then str CharCache=6,$E0,$3C,$23,$23,$3C,$E0
A burta attēlošanai operatīvajā atmiņā tiek ievietoti 7 baiti. Pirmais ir skaitlis (1-13), kas norāda, cik daudz kolonnu satur konkrētais burts/simbols, pārējie baiti uzrakstīti hex kodā lai programmas kods saturētu mazāk teksta un šie baiti ir burta/simbola kolonnas. Lai vieglāk saprast, A burts tiek „apgāzts”.

Tagad ir vienkāršāk burtu pārvērst kodā. Melnie pikseļi ir 1, bet baltie – 0.

Ir iegūts 6 baitu binārais kods. Windows XP kalkulatorā jāizvēlas zinātniskais kalkulators un jāatzīmē binārais režīms. Ieraksta bināro kodu un tad atzīmē heksadecimālo režīmu. Iegūtais kods veido vienu burta kolonnu.
Kolonnas nomainās ik pēc 200 mikrosekundēm jeb ik pēc piectūkstošās sekundes daļas. Attēlu aptuvenais nomaiņas ātrums ir 15 FPS (attēli sekundē). Tas ir uz pusi mazāk kā digitālajai kamerai, tātad diezgan lēni. Ātrumu šai ierīcei iespējams palielināt, samazinot rotējošā elementa svaru, padarot to kompaktāku lietojot smd elementus, taisot to pēc iespējas simetriskāku un precīzāk nobalansējot, lietojot bezkontaktu strāvas pārvadīšanas metodes kā arī lietojot ātrāku motoru.
Rezultāts
Pacietīgi visu taisot rezultāts arī sanāca labs. Ierīce bez aizķeršanās jau pirmajos testos pildīja savas funkcijas. Protams, pēc tam, gan paša ierīce, gan programma tika nedaudz uzlabota. Ierīci izgatavoju pats un arī visu mikrokontrolera programmu rakstīju pats. Ideja gan nav paša, bet aizgūta no citiem elektronikas entuziastiem. Izprotot šādu ierīču darbības principus gribējās arī pašam tādu izgatavot. Esmu to izdarījis un esmu ieguvis pieredzi, informāciju kā arī savdabīgu, interesantu displeju, kas noderēs turpmākiem projektiem. Piemēram, viens no turpmākajiem projektiem varētu būt, izmantojot kādu no bezvadu komutācijas metodēm, savienot mikrokontroleri ar datoru vai citu mikrokontroleri, kas darbotos kā ievadierīce. Vēl šo ierīci varētu izmantot kā pulksteni attiecīgi pārprogrammējot mikorkontroleri.
Gan pati ierīce, gan elektriskā shēma, iespējams, satur nevajadzīgus elementus un pārlieku masīvas konstrukcijas, bet tā kā šis bija testu variants un mans pirmais izgatavotais šāda tipa displejs, vērā tika ņemts Mērfija likums.

Aplūkot oriģinālo rakstu