Elektrolab
wz




  • Jedeme pod
  • Firefox
  • Chrome
  • Opera

Rotující LED display

Zde popisuji pomalejší verzi POVu, kterou si zvládne postavit opravdu každý. V podstatě se jedná o řízený 10ti LED diodový blikač, nic složitého.

Jak jsem již v předchozím článku uvedl, na začátku roku 2008 jsme s Davidem dělali pokusy s rotujícími LED diodami.

Princip funkce je jednoduchý. Lidské oko má určitou setrvačnost. To znamená, že obraz zůstává po určitou dobu zaznamenán na sítnici. Tento efekt se nazývá anglickými slovy persistence of vision (POV). Díky tomu se dá vytvořit iluze spojitého pohybu z rychle se střídajících stavů.

Procesorem PIC16F628A ovládám 10 LED diod. Ty se postupně rozsvěcejí, takže při posouvání nebo otáčení se "vypisuje" text, nebo "vykresluje" obrázek. Na DPS mám 10 diod, ale pro vypisování jsem zvolil jen 9. Devítka je liché číslo a její střed, číslo 5, mi ušetří problémy u písmen jako B, E, F a dalších. Desátá LEDka svítí pernamentně a vytváří podtržení textu.

Pro dobré pochopení programu jsem vytvořil jednoduchou animaci.

POV systém


Program jsem psal v PICBasicu.
Nic složitého, pro začátek (ovládání RGB ledky) dobrá věc, ale u této konstrukce jsem zjistil, že je příliš pomalý. 1 milisekunda je příliš dlouhá doba, pomalu přecházím na assembler.
Na ukázku zde popíši část programu, konkrétně písmenko "E". Samozřejmě zde uvedený výstřižek je samostatně nefunkční.

loope:
High led1
High led2
High led3
High led4
High led5
High led6
High led7
GoSub cek1
Low led2
Low led3
Low led5
Low led6
GoSub cek1
Low led4
GoSub cek1
Low led1
Low led7
GoSub cekmp
Return

A teď česky:
High led1 až led7 - rozsvítí celou řadu led diod na dobu jedné milisekundy.
GoSub cek1 - jde k čekací smyčce a čeká tu 1 ms.
Low led2, 3, 5, 6 - zhasne všechny kromě prvního prostředního a posledního řádku.
GoSub cek3 - jde k čekací smyčce a čeká 2 ms.
Low led4 - zhasne prostřední diodu.
GoSub cek1 - jde k čekací smyčce a čeká 1 ms.
Low led1, 7 zhasne první a poslední diodu.
GoSub cekmp - jde na čekací pauzu mezi písmeny (1 ms)
Return - vrací program do jiné části, která ho přesměruje na další písmeno.

Toto "E" je totožné s tím v animaci.

Ve schématu jsem nepsal který vývod ke které LED diodě patří, protože je to šíleně chaotické. Desku jsem několikrát překopával a proto je lepší si vývody určit rozumněji..
Původně mi polohu zařízení snímalo reflexní čidlo CNY70. Není špatné, ale při focení svým svícením vytvářelo druhý kruh a to se mi nelíbilo. Pokud se třeba mírně vychýlilo, začalo vynechávat, nebo nesnímalo vůbec. David mi koupil Hallův senzor TLE4905L. U toho jsem zůstal a nemůžu si ho vynachválit.
Zažízení napájím plochou baterií z mobilního telefonu Siemens A55 (3,7 V! v procesoru nastavit BODEN_OFF, vypnutí podpěťové ochrany) a předřadné rezistory 10 Ω jsou určené pro modré diody.
Co je Hallův senzor?

Schéma V ruce Přiděláno na kolo Na kole


Pro plynulý průběh je potřeba přibližně 24 otáček za sekundu. Při běžném obvodu kola 2 m bych musel uhánět rychlostí 170 km/h a i kdybych tuhle šílenou rychlost na kole vyvinul a program napsal v assembleru, nebylo by to čitelné. Proto je lepší mít nainstalováno víc než jeden POV. Optimální počet jsou 3. Samozřejmě všechny 3 ve stejné vzdálenosti od středu optimálně rozmístěné po obvodu kola.



Otestoval a na web přidal Jerry
17.9.2008



V případě jakýchkoliv připomínek nebo dotazů pište zde.