Descriere generală

Principalele module ale proiectului sunt:

  • Hardware:
    • Matricea de leduri 2 culori
    • Blocul de control al matricii
    • Interfata de comunicare RS232
    • 3 shiftere 74HC164
  • Software:
    • Afisarea urmatorului cadru al animatiei
    • Protocolul de comunicatie folosit pentru programarea continutului display-ului

Schema bloc

Hardware Design

  • Schema electrica este:

 Schema Electrica

  • Diagrama de semnal pentru Shifter-ul utilizat este:

 Schema Electrica

  • Schema interna a matricii

 Schema Interna

Software Design

  • Mi-am propus sa controlez un anumit set de led-uri. Pentru fiecare led trebuie sa activez 2 pini ce apartin matricei 0 respectiv 1 pe anod si catod.
  • Fiecare din cei 3 shifteri este conectat print-un clock si un pin de date la microcontroller. Pentru a trimite data la shifteri trebui sa am un front de ceas pozitiv, dupa cum se poate observa si în diagrama de semnal a shifterului.
  • De exemplu : daca pun 1 pe pinul 1 si 0 pe pinul 22 → se va aprinde becul verde pe de linia 1 coloana 5).

Pentru programarea ATMega programele vor fi scrise in limbajul C - folosind compilatorul agr-gcc. Pentru compilare am folosit comanda”

 $ avr-gcc -mmcu=atmega16 -Os -g -Wall -o first.elf nume_sursa.c
 $ avr-objcopy -j .text -j .data -O ihex first.elf first.hex

Pentru a scrie .hex -ul pe microcontroler am folosit un convertor RS232-USB si am folosit urmatoarea comanda:

 $ sudo avrdude -c ponyser -p m16 -P /dev/ttyUSB0  -U flash:w:first.hex
  • Programarea va fi facuta in doua etape:
    • se va realiza un program de test pentru afisarea unui mesaj prestabilit folosind matricea de leduri.
    • se va realiza protocolul de comunicare serial pentru a putea modifica continutul afisajului
  • Pentru retinerea mesajului ce va fi afisat cel mai probabil voi folosi un vector de caractere dat fiind ca o coloana a matricei are dimensiune 8 (egala cu numarul de biti ai unei variabile de tip char)
  • Pentru inceput se va seta un timer care sa se activeze la o perioada de timp suficient de mica astfel incat sa poata fi folosita tehnica “persistence of vision”. La fiecare activare a timer-ului se va furniza la iesire pe portul D coloana curenta din cadrul curent al animatiei. Aceasta actiune se va repeta de un numar de ori, dupa care se va trece la urmatorul cadru al animatiei.

Protocolul de comunicare va fi unul de tip stop and wait in care se va trimite o instructiune prin intermediul interfetei seriale, se va astepta raspunsul la instructiune, dupa care se vor putea trimite noi instructiuni.

Rezultate Obţinute (etapa 3)

  • Am reusit sa controlez ledurile matrice-i si sa aprind led-urile acesteia intr-o ordine prestabilita.

Concluzii (etapa 3)

  • Matricea de leduri este o componenta electronică care îți oferă multe oportunități de a o folosi în realizare de multiple joculețe și aplicații, fiind in același timp foarte utilă în scop academic

Bibliografie/Resurse

pm/pm/prj2009/ca/snake8x8.txt · Last modified: 2020/02/14 00:57 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0