Autorul poate fi contactat la adresa: Login pentru adresa
Jocul X si 0 este pentru 2 jucatori. In cadrul proiectului, fiecare jucator va avea o placuta pm prin cadrul careia vor putea introduce mutari.
Fiecare placuta dispune de cate un ecran LCD de Nokia 5110, de un buzzer si de 2 butoane (unul pentru mutarea cursorului si altul pentru fixarea unui simbol)
Comunicatia dintre cele 2 placute este realizata prin interfata seriala.
La finalul jocului fiecare placuta va genera un sunet de victorie/infrangere. 🔊
Schema bloc
Componente
Index | Denumire | Cantitate | Descriere | Observatii |
---|---|---|---|---|
1 | PM2018 | 2 | Placuta proiect | Lista cu componentele de baza |
2 | Philips PCD8544 | 2 | LCD Nokia 5110 | Datasheet Pinout |
3 | FC-07 | 2 | Buzzer cu modul | Optimus Digital |
4 | Rezistenta 1K | 2 | Rezistenta 0.25W | - |
5 | PUSHBUTTON | 4 | Butoane de control pentru joc | - |
Schema electrica
Sistem de operare: Windows
Editare: Visual Studio Code
Biblioteci AVR și comunicarea cu placa: WinAVR Toolkit
Încărcarea programului: HID Boot Flash (GUI version)
Creare schemă electrică: Autodesk Eagle
Creare schemă bloc: www.draw.io
#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/pgmspace.h> #include <stdio.h> #include <stdlib.h>
#include "lcd.h" #include "usart.h"
Initializarea porturilor utilizate de LCD:
void lcd_init();
Initializarea jocului cu starea “START”:
void init_game();
Setarea baud rate-ului(9600), formatului frame-ului(8 biti de date, 1 biti de stop, paritate para) si pornirea transmitatorului(TX) si receptorului(RX):
USART0_init();
Comunicarea dintre microcontrollere se realizeaza prin protocolul USART, cele 2 dispozitive fiind unite prin 2 fire(RX-TX, TX-RX).
La inceputul jocului un jucator isi alege caracterul cu care va juca: X sau 0. Din momentul alegerii, cele 2 placute vor fi setate corespunzator: o placuta va fi jucatorul X, iar cealalta va fi jucatorul 0.
Fiecare mutare a cursorului si setare a unui caracter vor fi transmise pe seriala(USART).
Asteptarea jucatorilor:
Dupa cateva mutari:
Finalul jocului:
Proiectul a fost interesant, am aplicat ceea ce am invatat in cadrul laboratoarelor si cel mai important am invatat unde sa caut atunci cand vreau sa creez un proiect cu microcontrollere.
Am reusit sa leg 2 placute independente pentru a juca un joc multiplayer.