Proiectul presupune construirea unui cub format dintr-o retea de leduri, capabile sa ofere diverse jocuri de lumini. Astfel, este creata o “simfonie” a luminilor, avand totodata si scop educativ, intrucat va ajuta la aprofundarea cunostintelor din cadrul cursului “Proiectarea cu Microprocesoare”.
Reteaua de led-uri va forma un cub 4 x 4 x 4 (64 de led-uri in total). Initial, am resupus ca pentru controlul ledurilor se vor folosi butoane, insa am renuntat la idee si am ales implementarea mai multor jocuri de lumini. Astfel, am implementat 9 jocuri diferite de lumini, capabile sa creeze “simfonia luminilor”, mentionata anterior.
Aceasta ilustreaza simplist modul in care utilizatorul interactioneaza cu microprocesorul si cum poate controla jocul de lumini. Schema bloc a fost actualizata cu ultimele modificari in ceea ce priveste implementarea.
Denumire | Cantitate |
---|---|
Kit-ul cu componentele de baza | 1 |
LED colorat | 64 |
Placa de Test | 2 |
Rezistenta 220 Ohm | 16 |
Tranzistor NPN 2n2222 | 4 |
Bareta pini | 8 |
Rezistenta 1k Ohm | 4 |
Fir mama-tata | 21 |
Fir tata-tata | 20 |
Consumabile |
Pe parcursul implementarii proiectului, din diverse motive, pot fi adaugate componente aditionale, fapt ce va duce la actualizarea lista de piese ulterior, daca este cazul.
Schema electrica a fost actualizata pentru a reflecta implementarea curenta. Astfel, s-a renuntat la butoane si au fost actualizati pinii corespunzatori.
Asocierea fiecrui pin cu fiecare coloana a cubului este urmatoarea (Orientarile sunt pentru cubul privit din partea pinilor):
Stanga | Centru-Stanga | Centru-Dreapta | Dreapta |
---|---|---|---|
PC0 | PC4 | PA7 | PA3 |
PC1 | PC5 | PA6 | PA2 |
PC2 | PC6 | PA5 | PA1 |
PC3 | PC7 | PA4 | PA0 |
Asocierea fiecarui nivel (rand) al cubului de leduri cu fiecare pin este urmatoarea:
Nivel (de la baza spre partea de sus) | Pin |
---|---|
Nivelul 1 | PD5 |
Nivelul 2 | PD0 |
Nivelul 3 | PD4 |
Nivelul 4 | PD1 |
Din punct de vedere software, proiectul a fost realizat folosind Windows 10. Pentru editarea codului a fost folosit Visual Studio Code, compilarea surselor s-a realizat in terminalul de Ubuntu din Windows, iar incarcarea programului pe microcontroller s-a realizat folosind executabilul cu interfata grafica, pus la dispozitie pe platforma cursului.
Desi fisierul sursa contine un numar considerabil de linii de cod, acesta este destul intuitiv, intrucat pentru fiecare animatie in parte a fost implementata o functie care aprinde ledurile in ordinea dorita. Astfel, animatiile au fost implementate dupa cum urmeaza:
Pentru implementarea acestor animatii, au fost create urmatoarele functii ajutatoare:
Din considerente estetice, am confectionat un suport pentru placa ce suporta cubul, la care a fost atasat si microcontrollerul, in lateral. Alimentarea se face de la o baterie externa situata in interiorul suportului. In continuare au fost adaugate mai multe poze sugestive, ce ilustreaza intreg ansamblul confectionat, dar si 2 demo-uri cu locurile de lumini implementate.
Demo 1: https://www.youtube.com/watch?v=-SYGo5YHUYs
Proiectul a fost unul interesant, intrucat a presupus imbinarea partii hardware (lipirea pieselor, conectarea lor, testarea componentelor, etc) cu cea software (implementarea functionalitatilor dorite). Realizarea acestuia a fost mai dificila la inceput, dar aceasta face ca satisfactia unui proiect realizat de la zero din toate punctele de vedere si pana in stadiul actual sa fie mult mai mare.
Proiectul poate fi imbunatatit prin adaugarea de noi functionalitati (extinderea cubului, adaugarea de animatii pe baza unor sunete, adaugarea unor butoane de control).
Ma declar multumit de ce am realizat in intervalul de timp oferit si iau in considerare adaugarea pe viitor a functionalitatilor mentionate anterior.
Codul Sursa, Readme si Makefile: symphonyoflights.zip
* Datasheet ATMega 324: http://cs.curs.pub.ro/wiki/pm/_media/doc8272.pdf
* https://www.instructables.com/id/LED-Cube-4x4x4/
* https://www.instructables.com/id/LED-Cube-3x3x3-with-ATMEGA8/
* https://www.instructables.com/id/Simple-LED-Cube-4x-with-Arduino328p/
* https://www.youtube.com/watch?v=4pzxR-ZhbJA
* http://www.pyroelectro.com/projects/8x8x8_led_cube/index.html