Chess

Introducere

Prezentarea pe scurt a proiectului:

  • Ideea principala a fost sa realizam un joc de sah player-vs-player, fiecare dintre jucatori putand sa foloseasca propria sa placuta pentru a muta la runda sa.
  • Cele doua placute urmau sa foloseasca un display color cu o rezolutie suficient de mare pentru afisarea unei table de sah si un set de butoane pentru realizarea facila a mutarilor.
  • Nu am stabilit de la inceput cum anume se va realiza comunicatia intre cele doua placi.

Descriere generală

Proiectul este constituit din 3 parti principale care sunt interconectate. Acestea sunt:

  • componentele centrale sunt reprezentate de placile concepute pentru prima etapa a proiectului. Acestea sunt controlate de microcontroller-ul ATMEGA 16 care se va ocupa cu gestionarea intrarilor de la mediul de input( interactiunea cu utilizatorul): numpad-ul si reprezentarea modificarilor facute de acesta cu ajutorul unui display.
  • display-ul de Nokia 3310( initial 6100) folosit pentru output.
  • numpad-ul 4×3 folosit la preluarea datelor de intrare.
  • Sistemul de interconectare cu cealalta placuta(atat input cat si output).

Hardware Design

Aici puneţi tot ce ţine de hardware design:

  • listă de piese
  • 10 rezistente 3k3
  • 10 rezistente 1k8
  • 2 display-uri nokia 3310
  • 3 display-uri nokia 6100
  • 4 diode 1N4004
  • 2 condensator polar 10μF
  • 1 rezistenta 1k
  • 3 rezistente 1k5
  • cabluri de legatura(UTP)
  • placuta cablaj(pentru nokia 6100)
  • placuta test(pentru nokia 3310)

20110519_005.jpg

Software Design

  • mediu de dezvoltare: gEdit
  • limbaj de programare: C
  • compilator: WinAVR

Pentru ambele display-uri am gasit o serie de api-uri ce pun la dispozitie functii precum:

  • void LCD_init ( void );
  • void LCD_clear ( void );
  • void LCD_update ( void );
  • void LCD_gotoXY ( unsigned char x, unsigned char y );
  • void LCD_writeChar ( unsigned char character );
  • void LCD_writeChar_megaFont ( unsigned char character );
  • void LCD_writeData ( unsigned char data );
  • void LCD_writeCommand ( unsigned char command );
  • void LCD_writeString_megaFont ( char *string );
  • void LCD_writeString_F ( const char *string);
  • void LCD_setPixel ( unsigned char x, unsigned char y);
  • void LCD_clearPixel ( unsigned char x, unsigned char y);
  • void LCD_drawLine ( unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2 );
  • void LCD_drawBorder (void );
  • void LCD_drawSplash (void );
  • void delay_ms ( int millisec );
  • void spi_init(void);

Rezultate Obţinute

  • Initial am pornit de la idea de a conecta la fiecare dintre cele doua placute un display de nokia 6100 (color). Datorita conectorilor extremi de mici si a lipsei de vendori pentru conectorii respectivi, am fost nevoiti sa realizam un mini-pcm pentru conectarea display-ului. Probleme au aparut pe tot parcusul dezvoltarii proiectului si nu s-a putut realiza interfatarea completa cu display-ul de nokia 6100. Neavand alta alternativa, am trecut la modelul 3310(alb-negru) si am avut succes in interfatare, dar anumite defectiuni la pcb-urile pentru etapa 1 au dus la nefinalizarea proiectului.
  • Am reusit sa interfatam un numpad la fiecare dintre cele doua placute, fiind o solutie mult mai eficienta decat conectarea mai multor butoane.
  • Am incercat de asemenea conectarea celor doua placute folosind portul serial, insa nu am reusit sa obtinem o conexiune stabila.

Concluzii

  • Interfatarea display-urilor s-a dovedit mai dificila decat s-a crezut initial si recomandam achizitionarea unei placute(breakout board nokia 6100 lcd) complete de pe sparkfun pentru cei ce doresc sa interfateze un display color cu o rezolutie decenta.
  • Proiectul a fost o oportunitate pentru a castiga experienta si suntem convinsi ca data viitoare cand vom fi pusi in fata unei asemenea provocari rezultatele obtinute vor fi mai concludente.

Download

Bibliografie/Resurse

pm/prj2011/ascurei/chess.txt · Last modified: 2021/04/14 17:07 (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