Autorul poate fi contactat la adresa: Login pentru adresa
<fc #000080>Memory Game pe lcd Nokia 3310</fc>
Am implementat jocul Memory Game pe lcd, designul l-am facut sa arate cat mai clasic, are 6 butoane de control: ENTER, RESET, RIGHT, LEFT, UP, DOWN.
In implementarea proiectului am folosit un display de Nokia 3310. Deoarece acesta este alimentat de tensiunea 3.3v, am folosit un modul cu stabilizator 5v → 3.3v si am divizat tensiunea pe firele de semnal digital folosin 2 tipuri de rezistente, 1k8 si 3k3.
Pentru contol am 6 butoane: ENTER(selectez sau incep jocul), RESET(se opreste jocul curent si se reincepe unul nou genereaza random o noua plansa, a nu se confunda cu Reset dupa placa de PM), RIGHT, LEFT, UP, DOWN.
Lista de piese
<fc #008080>1) Componente de baza:</fc>
- 1 X placa de pm 2016;
- 1 X ATMEGA324PA-PU;
- 1 X USB-B Conector USB B Cvilux;
- 1 X 16MHZ QMIM016 Quartz 16MHz;
- 2 X Dioda Zener 3v3;
- 2 X led rosu;
- 1 X Soclu Microcontroller DIP40 dil40emf;
- 1 X bareta pini tata 1×40;
- 2 X pushbutton;
- 3 X 470R;
- 2 X 100R;
- 1 X 1k5;
- 2 X 10k;
- 3 X 100nF;
- 2 X 15pF;
- 1 X jumper.
<fc #008080>2) Componente proiect:</fc>
- 1 X LCD Nokia 3310;
- 1 X perfboard 12CM*17CM;
- 5 X rezistenta 1k8;
- 5 X rezistenta 3k3;
- 1 X condensator 4.7uF;
- 1 X bareta mama;
- 6 X pushbutton;
- 1 X modul cu stabilizator 5v → 3.3v;
- fire mama-tata, mama-mama.
Mediul de dezvoltare a fost WinAVR, cum am fost obisnuit in laborator, e simplu de instalat si usor de lucrat in el.
Plansele jocului se genereaza random, am ales un “unsigned int” care creste mereu, deoarece nu pot accesa libraria <time.h>
Am folosit o librarie specifica pentru display-ul de Nokia 3310, avand urmatoarele functii implementate:
<fc #0000FF>void lcd_init(void);
void lcd_contrast(unsigned char contrast);
void lcd_clear(void);
void lcd_clear_area(unsigned char line, unsigned char startX, unsigned char endX);
void lcd_clear_line(unsigned char line);
void lcd_goto_xy(unsigned char x, unsigned char y);
void lcd_goto_xy_exact(unsigned char x, unsigned char y);
void lcd_chr(char chr);
void lcd_str(char* str);</fc>
<fc #000080>Resurse Software</fc>
<fc #000080>Resurse Hardware</fc>
Atmel-8272-8-bit-AVR-microcontroller-ATmega164A_PA-324A_PA-644A_PA-1284_P_summary.pdf