Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in realizarea unei sfere compusa din 64 de led-uri care va permite vizualizarea diferitelor jocuri de lumini preimplementate sau generate in sincron cu o melodie citita de pe un card SD. Pentru demonstratie, imi propun sa implementez in prealabil cateva jocuri de lumini cu posibilitatea rescrierii sau modificarii celor existente pentru obtinerea modelului dorit.
Scopul proiectului este realizarea unui joc iterativ de lumini pe o sfera de led-uri si aprofundarea cunostintelor de proiectare cu microprocesoare acumulate pana in prezent.
Schema bloc:
Datele de input vor fi reprezentate de niste test case-uri pentru jocurile de lumini fara sincronizarea la o melodie anume iar, in cazul in care se doreste sincronizarea cu o melodie, se va citi de pe cardul SD melodia respectiva. Datele de output sunt concretizate prin jocurile de lumini pe sfera si melodia reprodusa pe speaker.
In realizarea proiectului ma voi ghida dupa un proiect mai vechi: ledsphere
Index | Denumire | Cantitate | Cod |
---|---|---|---|
1 | Microcontroller ATMega324 | 1 | ATMEGA324PA-PU |
2 | Soclu microcontroller | 1 | LC40 |
3 | Quartz 16MHz | 1 | Q16.000 MHz HC-49S |
4 | Dioda Zener | 2 | BZX55C3V3 |
5 | Red LED 3mm | 2 | CLL-50221 |
6 | Conector USB-B | 1 | USB B-PCB-R |
7 | Rezistenta 470R | 3 | RW25CF 470R |
8 | Rezistenta 100R | 2 | RW25CF 100R |
9 | Rezistenta 1k5 | 1 | RW25CF 1K5 |
10 | Rezistenta 10k | 1 | RW25CF 10K |
11 | Condensator ceramic 100nF | 3 | CML 100nF 50V NP0 |
12 | Condensator ceramic 15pF | 2 | CML 15pF 50V NP0 |
13 | Push-button | 2 | TS-06E (TS-3) |
Index | Denumire | Cantitate | Cod |
---|---|---|---|
1 | LED verde | 64 | |
2 | Modul Buzzer | 1 | |
3 | Placa de test 10×16 | 1 | |
4 | Rezistente 47ohmi | 8 | |
5 | Tranzistor NPN BC337-40 | 8 | |
6 | Rezistente 10k | 8 | |
7 | Cablu UTP | 1m | |
8 | Furtun transparent | 6m | |
9 | Paie verzi | 16 | |
10 | Barete mama | 20 | |
11 | Barete tata | 20 | |
12 | Panglica fire(m - m) | 40 | |
13 | Panglica fire(t - t) | 3 | |
14 | Suport difuzoare | 2 | |
15 | Tija filetata | 1m |
Jocurile de lumini sunt date de diversi algoritmi prin care se controleaza gruparile de led-uri ce vor fi aprinse, cat si durata lor. In cadrul implementarii mele sunt 7 altfel de functii care genereaza jocuri de lumini plus jocul de lumini sincronizat cu melodia.
Exemplu de astfel de functie:
void functie() { // pinii ce controleaza tranzistorii PORTA = 0x00; // pinii ce controleaza led-urile PORTB = 0x00; int i = 0; float delay = 200; while (delay > 0.00001) { i %= 8; PORTA |= (1 << i); PORTB = 0x0f; _delay_ms(delay); delay /= 1.01; PORTB = 0xf0; _delay_ms(delay); delay /= 1.01; PORTA = 0x00; ++i; } PORTA = 0x00; }