Introducere

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.

Descriere generala

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:

Hardware Design

Pe langa placa de baza a proiectului am mai folosit urmatoarele componente:

  • LCD text de 16 caractere
  • Tastatura cu 14 taste alfa-numerice
  • Difuzor
  • Condensator de 100pF


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:



04062010046.jpg

SChema de conectare difuzor:



04062010059.jpg

Conectare uC ATMega16:

schema_atmega16.jpg
04062010051.jpg

Simulare in Proteus
pozaaa.jpg

Proiectul finalizat:

04062010045.jpg

04062010050.jpg

\\04062010047.jpg

Software Design


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.

Rezultate Obtinute

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.

Jurnal

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.

Bibliografie

Datasheet ATMega16 http://www.datasheetcatalog.org/datasheet/atmel/2466S.pdf Laboratoarele de PM elf.cs.pub.ro/pm

pm/prj2010/dtudose/hangman.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