Menü Bezárás

LED kocka 5x5x5

Készítette: Téglás Tamás

A projectről röviden
Az előző félévben indult (2009 ősz) TTL keretein belül többen is neki indultunk a rögös útnak melyen megismerkedhettünk az AVR-ek világával. Az alap ötlet egy tesztpanel elkészítése volt, melyet később LED kockává alakíthatunk át.

A célom ezzel a projecttel:

  • ha valaki hasonlót szeretne csinálni legyen mire támaszkodni
  • saját magamat képezzem az AVR programozásban
  • egy olyan eszköz elkészítése amit csodálhatnak az emberek8-)
  • újonc project

LED-cube
A kockát úgy kell elképzelni, mintha mátrixokat helyeznénk el egymás mögé, így kialakítva a 3D-s kijelzőt. Például

Alkatrészek
Amit én felhasználtam:

  • LED 125 db
  • 100 ohmos ellenállás 25 db
  • 300 ohmos ellenállás 5 db
  • 1k-s ellenállás 1 db
  • tranzisztor(NPN), 30V, 800mA, B=100 5 db
  • táp szűrő kondi: 100nF 3 db
  • ATmega64A-AU 1 db
  • 1117as5 stab. IC 1 db
  • 100uF-os puffer kondi 1 db

Az összeépítés menete

Az első lépés
Az építést a ledek lábainak hajtogatásával kezdtem. A ledeket előszőr szintenként, majd a szinteket kell egymáshoz forrasztani. Az első probléma ami felmerült: a 25 db ledet összeforrasztani a levegőben elég nehéz így ajánlott egy sablon elkészítése.

Mikor már készen vannak a szintek össze lehet forrasztani a szinteket is. FONTOS: jó tanácsként érdemes megfogadni, hogy a ledek forrasztgatása közben mindig tesztelni kell!!! Ha minden jól megy ezek után kész a LED kocka.

Összefoglalva a főbb lépések:

  • led lábak hajtogatása
  • szintek összeforrasztása
  • a szintek egymáshoz illesztése

 

Mikor kész a kocka
Kész a remekmű 😀 . Ha mindent jól csináltunk, akkor a szinteknek egy-egy kivezetése lesz (össz. 5 db), míg az oszlopoknak is egy-egy kivezetése lesz (össz. 25 db). Ezekkel csatlakozva a kontrollerre tudjuk majd villogtatni a led-eket. A kocka elkészítése után érdemes erősen elgondolkodni a ledek meghajtásáról. Mivel kontrollerrel hajtjuk meg őket ezért érdemes tranzisztorokat használni a szintek meghajtásánál (25 db led meghajtásáról nem biztos, hogy egy kontroller gondoskodni tud). Végeredményben sikerült úgy összehoznom a vezérlést, hogy a kontroller programozásánál 1-t kell adni arra a kimenetre amelyiket be szeretnénk kapcsolni, legyen az egy szinté vagy épp egy oszlopé.

A programozás
Programozás szempontjából úgy kell tekinteni a led-kockát mintha 5 digites 25 szegmenses kijelző volna, de a szegmensek össze vannak kötve, így multiplexálás szükséges ahhoz hogy valamit megjelenítsünk. Ha sikerül ezt a szemléletet elsajátítani, akkor csak a képzelet és a megfelelő programozói tudás szab határt annak, hogy épp mit jeleztetünk ki vele.
A program lelke:
A vezérlést egy statikusan letárolt tömbbel oldottam meg, mely egy 5×5-ös byte méretű elemeket tartalmazó tömb. Egy-egy elem egy-egy oszlopnyi lednek felel meg. A programkód olyan formátumban lett megírva, hogy ha változik a lábkiosztás akkor csak egy függvényt kelljen módosítani.

Project fejleszthetőségi opciói
Mivel a megvalósításom viszonylag pocsék ledekkel lett megvalósítva ezért lehetséges, hogy kontrollerrel legyen meghajtva az egész kocka. Így az egyik opció a fejlesztésre: normális ledek(diffúz) meghajtása tranzisztor mezővel és latch-el vagy a latch helyett alkalmazható shiftregiszter is(mcu lábspórolás szempontjából). A másik esetleges opció a bonyolultság növelése: hasonló kocka RGB LED-ekkel. Ennek egyik lehetséges megvalósítása shiftregiszteres megoldás.

Kapcsolási rajz:

led_kocka_pic1

Nyákterv:

 

led_kocka_pic2

Letölthető források: led_kocka

Related Posts