
Założenia projektu
Na początku planowano użyć dużej ilości jednobarwnych ledów. Jednak autor zrozumiał, że sześcian o wymiarach 16x16x16 oznacza, iż przy takiej konfiguracji całkowita liczba diod wyniesie 2048. Myśl o przetworzeniu tak dużej ilości ledów sprowadziła konstruktora na ziemię i zdecydował się na sześcian o wymiarach 8x8x8, co wcale nie jest prostym zadaniem zważywszy na to, że trzeba wykonać około 2200 lutów. Podczas poszukiwań informacji na temat tego projektu, autor wpadł na pomysł dodania lustra nieskończoności do swojej kostki. Dodanie go tworzy iluzję, która wmawia obserwatorowi, że diody ciągną się w nieskończoność.
Każda z 512 diod RGB posiada 4 nóżki, trzy anody i wspólną katodę, by sterować tak dużą ilością ledów należy użyć techniki nazywanej multipleksingiem. Jej istotą jest sterowanie wieloma elementami za pomocą tych samych linii sygnałowych. W przypadku tak złożonej konstrukcji jak ta, multipleksing uzyskano dwoma różnymi sposobami (każdy dla innej części sześcianu).
Metoda 1 – Przerzutniki typu D
Za pomocą 24 szeregowo połączonych układów sekwencyjnych, możliwe jest stworzenie wystarczającej ilości sygnałów sterujących (192), by kontrolować każdą diodą w segmencie składającym się z 64 ledów (8x8). Jest to wykonalne dzięki temu, że informacja jest „przerzucana” z jednego przerzutnika do następnego poprzez sterowanie wejściem zegarowym i sygnałowym pierwszego flip-flopa (przerzutnika).
Autor skonstruował sterowniki oparte na przerzutnikach w sposób modułowy, by w razie potrzeby powiększenia lub zmniejszenia kostki, była możliwość dodania lub odjęcia kilku flip-flopów. Każda z płytek PCB składa się z 3 przerzutników (74LS273) zdolnych do kontroli nad jednym rządem diod RGB. Znajdują się na nim jeszcze 2 złącza, jedno podłączone do wejść flip-flopów, a drugie do wyjść, co pozwala na szeregowe łączenie opisywanych modułów. Dodano także kilka kondensatorów, aby usprawnić świecenie.
To rozwiązanie pozwala na kontrole 1/8 sześcianu, by uzyskać pełne sterowanie potrzebna jest druga metoda.
Metoda 2 – tranzystory NPN
By sterować wszystkimi segmentami połączono razem katody diod w każdym z nich. Następnie zwarte katody z poszczególnych segmentów poprowadzono do masy przez tranzystory NPN. To rozwiązanie pozwala na zgaszenie lub oświecenie każdej z części kostki za pomocą 8 pinów procesora. Jednak takie podejście sprawia, że w jednej chwili świeci się tylko 1/8 wszystkich diod, a poprzez bardzo szybkie przełączanie pomiędzy segmentami wydaje się, że cały sześcian stale świeci.
Budowa
Podczas składania całej konstrukcji istnieją dwie najbardziej żmudne czynności. Pierwsza to zginanie nóżek ledów, a druga to lutowanie zgiętych diod. Każda z tych działalności wymagała budowy pomocniczych konstrukcji, które pozwoliły zachować jakość wykonania.
Zginanie diod
Na początku wywiercono 5mm dziurę w kawałku drewna i upewniono się, że ledy dobrze w niej pasują. Następnie narysowano linie pomocnicze widoczne na załączonym obrazku.
Należy dodać, że bardzo pomocna przy zginaniu okazała się metalowa linijka.
Krzywienie przebiegało według poniższego schematu:
1. Umieścić diodę w uprzednio wywierconej dziurze jednocześnie upewniając się, że wszystkie piny są ułożone równolegle z linią (B), a katoda jest drugim pinem od prawej.
2. Zgiąć katodę ku dolnej linii, a piny anody zgiąć ku górnej linii, równolegle z prostą (A).
3. Używając metalowej linijki zgiąć katodę w lewo w taki sposób, aby była równolegle z linią (B).
4. Przykładając linijkę do prostej (C) zgiąć anody tak, aby były prostopadle do podłoża.
Proces ten powtarza się tylko 511 razy.
Składanie sekcji 8x8
Aby utrzymać w miejscu łączone ledy wykonano pewnego rodzaju stojak. Został on zrobiony pomocą drukarki 3D i bardzo pomaga w budowie. Podczas projektowania stojaka upewniono się, że odstępy pomiędzy diodami pozwalają na to, żeby końcówka jednej nóżki dotykała początku drugiej.
Wszystkie anody i katody połączono tak jak na zdjęciu poniżej, a podczas lutowania upewniono się, że każde punkty lutownicze są idealne, gdyż jeden błąd mógłby zrujnować cały projekt.
Po połączeniu wszystkich diod przetestowano je w taki sposób, że zwarto wszystkie katody metalową linijką i podłączono do niej masę. Dzięki temu wystarczyło przyłożyć potencjał dodatni do poszczególnych anod. Gdy wszystkie ledy świeciły jak należy, po kolei uwalniano je z ich zacisków, a na końcu wyjęto gotowy segment 8x8.
Łączenie gotowych sekcji 8x8
Po zagięciu wszystkich nóżek i polutowaniu 8 matryc o wymiarach 8x8, nadszedł czas na zbudowanie sześcianu. Najpierw położono pierwszy segment płasko na stole i przylutowano dwa proste druty do każdej z katod (jeden pod nóżki, a drugi nad).
By uzyskać prosty przewód wykorzystano technikę trzymania jego końców za pomocą kombinerek i silnego rozciągania. Ważne jest, aby użyty drut był łatwy do prostowania, a jednocześnie wystarczająco twardy.
Po umocnieniu jednego segmentu, nałożono drugą matrycę i powtórzono proces, a do oddzielenia matryc od siebie, użyto kilku paczek po zapałkach.
Tworzenie podstawy
Sam sześcian złożony z diod i drutów jest w miarę wytrzymały, jednak trochę siły przyłożonej w nieodpowiednie miejsce sprawi, że cały projekt będzie zrujnowany. Do zrobienia podstawki użyto płyty z MDFu i wywiercono w niej odpowiednie dziury oraz wyfrezowano rowki, przez które przejdą nóżki ledów. Na koniec wycięto rów o szerokości 6mm na szklaną obudowę.
Lustro nieskończoności
Do stworzenia tego efektu rozchodzenia się światła w nieskończoność, wykorzystano hartowane szło o grubości 6mm. Na wewnętrzną stronę szyby przyklejono samochodową folię do przyciemniania.
Mózg
Za wszystkie efekty świetlne odpowiedzialny jest 16 bitowy mikrokontroler z rodziny PIC (dsPIC33EP256MU806) zamontowany na gotowym module ECIO40P16. Kod stworzony przez autora będzie działał z większością tego typu procesorów (oprócz tych o architekturze 8 bitowej, jako że nie mogą mieć tablic większych niż 256 bitów). Cała elektronika sterująca (mikrokontroler i tranzystory NPN) została umieszczona na płytce prototypowej. Wszystko zostało zasilane z zasilacza 5V.
Oprogramowanie
Do stworzenia symulacji posłużono się środowiskiem Flowcode, które jest dostępne dla mikroprocesorów PIC, AVR (w tym Arduino) jak i ARM. Odznacza się ono tym, że program jest napisany za pomocą schematów blokowych. Takie rozwiązanie jest lepsze dla początkujących programistów i pozwala na szybsze stworzenie gotowego kodu.
Finalny efekt
Za pomocą Flowcode udało się stworzyć efekty padającego deszczu z piorunami czy kuli ognia. Także jest możliwość wyświetlania tekstu czy wektorowych animacji. W przyszłości planuje się cyfrowe przetwarzanie sygnałów przy użyciu szybkiej transformacji Fouriera (FFT).
źródło: http://www.instructables.com/id/Infinite-RGB-LED-Cube/?ALLSTEPS
Cool? Ranking DIY