Denumire proiect: Hangman
Autor: Zvincu Adina Oana
Grupa: 331CC
Acest proiect isi propune sa realizeze jocul Hangman, folosinf ATMega16, o tastatura ca dispozitiv de inrare si un LCD text ca dispozitiv de iesire. Ideea acestui proiect mi-a venit jucandu-ma si am considerat ca este un proiect interesant pe care il voi putea folosi oricand.
Regulile jocului sunt urmatoarele: utilizatorul va apasa pe tasta “*” pentru a incepe jocul.In acest moment pe ecran va fii afisat un mesaj de intampinare si apoi va fii generat un cuvant random dintr-o lista de cuvinte predefinite. Pe LCD vor fii afisate pe primul rand prima si ultima litera si toate aparitiile acestor 2 litere in cuvant si in rest pentru celelalte litere vor fi afisate caractere “_”. Jucatorul va selecta o litera apasand tastele, asemenea scrierii de mesaje de pe telefonul mobil.Daca litera selectata nu este in cuvant va fii scrisa pe a doua linie a LCD-ului si jucatorul va avea mai putine sanse de castig. Daca este in cuvant va fii afisata in cuvant pe pozitia corespunzatoare.
Dupa cum am mai spus folosesc un LCD text de 16 caractere ca dispozitiv de iesire.Acesta este conectat si alimentat de la placa de baza realizata in etapa 1 a proiectului.De asemenea mai folosesc o tastatura cu 12 taste alfa-numerice care este conectata tot la placa de baza si un difuzor ce anunta jucatorul ca a pierdut.
Detalii despre implementarea software se pot gasi la sectiunea Software iar sursele folosite la sectiunea Resurse.
Conectarea componentelor se va face dupa urmatoarea schema bloc:
Pe langa placa de baza a proiectului am mai folosit urmatoarele componente:
In ceea ce priveste hardware-ul, trebuie mentionat ca tastatura este de asa natura incat fiecare tasta are pinul propriu de iesire. Astfel, avand 12 taste, avem 12 pini pentru taste, dispusi pe porturile A si B.
LCD-ul este legat pe portul C, cu pinii de ground si contrast la masa.
Difuzorul este legat pe portul D, la pinul OC1A si in serie cu un condensator de 100pF la masa.
Scheme electrice:
Schema de conectare LCD:
SChema de conectare difuzor:
Conectare uC ATMega16:
Mediu de dezvoltare : AVR Studio; -Limbaj de programare : C.
Jocul porneste de la apasarea tastei “*” a keypad-ului.Apoi va aparea pe prima linie cuvantul in format Hangman: H _ N _ _ _ N.
Apoi utilizatorul va introduce caractere cu ajutorul keypad-ului urmand principiul tastelor de pe telefoanele mobile(tastele 1-9 pot detine mai multe caractere iar ordinea acestora este data de tastele 0,*,#). Se introduce primul caracter care se compara cu fiecare caracter din cuvant.Retin de asemena o variabila score care este setata initial la valoarea 8 si este decrementata de fiecare data cand jucatorul greseste.Daca aceasta a ajuns la 0, jucatorul a pierdut si beeper-ul va anunta asta.
Voi folosi functii pentru citirea tastelor apasate, pentru afisarea pe LCD, functii pentru prelucrarea datelor de la tastatura si functii pentru stabilirea sunetului pentru buzzer.
Atunci cand utilizatorul porneste jocul, acesta este implementat in asa fel incat sa astepte apasarea tastei “*”. Dupa, utilizatorul trebuie sa apese una din tastele 1-9 sau “*” daca vrea sa restarteze jocul. In cazul in care vrea sa aleaga o litera, trebuie sa stie ca acestea sunt impartite cate 3 pe fiecare tasta din intervalul 1-9, mai putin pe 9 unde sunt doar 2 ( z si w ). Dupa ce a selectat treiada de litere, utilizatorul trebuie sa selecteze litera si programul asteapta apasarea uneia din tastele *,0,#. Daca jucatorul s-a razgandit, apasa aceeasi tasta si revine la modul de alegere a treiadei.
Am finalizat hardware-ul, insa spre finalul proiectului, ceva s-a intamplat cu lcd-ul si nu se mai aprinde.Asadar nu am reusit sa testez nici o implementare.Am implementat jocul, conform descrierii din sectiunea Software si o arhiva cu fisierele poate fii gasita la sectiunea Download.
Etapele realizarii proiectului: Etapa 1: Realizarea placutei de baza ce contine microprocesorul si alimentarea Etapa 2: Achizitionarea componentelor. Etapa 3: Montarea componentelor pe placa, cu testarea fiecarui dispoiztiv dupa montare. Etapa 4: Implementarea software a jocului.
Datasheet ATMega16 http://www.datasheetcatalog.org/datasheet/atmel/2466S.pdf Laboratoarele de PM elf.cs.pub.ro/pm