This shows you the differences between two versions of the page.
pm:prj2021:abasoc:hangman [2021/06/02 20:20] iulia.popa [Hardware Design] |
pm:prj2021:abasoc:hangman [2021/06/02 21:29] (current) iulia.popa |
||
---|---|---|---|
Line 2: | Line 2: | ||
Autor: [[iulia.popa@stud.acs.upb.ro | Iulia Popa ]] | Autor: [[iulia.popa@stud.acs.upb.ro | Iulia Popa ]] | ||
====== Introducere ====== | ====== Introducere ====== | ||
- | Implementarea acestui proiect consta in realizarea jocului Spanzuratoarea folosind butoane, ecran LCD, LED-uri RGB, rezistente, buzzer, placa Arduino UNO. | + | Implementarea acestui proiect consta in realizarea jocului Spanzuratoarea folosind butoane, ecran LCD, breadboard, rezistente, potentiometru, placa Arduino, fire. |
- | Scopul acestuia este de a folosi in mod practic notiuni intalnite in laborator. | + | Scopul acestuia este de a folosi in mod practic notiuni intalnite in laborator. |
====== Descriere generala ====== | ====== Descriere generala ====== | ||
Pentru acest joc, voi utiliza un ecran LCD de 16x2 caractere, un potentiometru pentru a derula literele de la A la Z si un buton pentru a selecta litera. | Pentru acest joc, voi utiliza un ecran LCD de 16x2 caractere, un potentiometru pentru a derula literele de la A la Z si un buton pentru a selecta litera. | ||
Line 9: | Line 9: | ||
Schema bloc: | Schema bloc: | ||
- | {{:pm:prj2021:abasoc:schemabloc.png?600|}} | + | {{:pm:prj2021:abasoc:schema_bloc_iulia.png?600|}} |
====== Hardware Design ====== | ====== Hardware Design ====== | ||
Proiectul va folosi urmatoarele componente: | Proiectul va folosi urmatoarele componente: | ||
Line 22: | Line 22: | ||
Schema electrica: | Schema electrica: | ||
- | {{:pm:prj2021:abasoc:schema_electrica_hangman.png?700|}} | + | {{:pm:prj2021:abasoc:hw_design_iulia.png?700|}} |
====== Software Design ====== | ====== Software Design ====== | ||
- | TODO | + | Pentru acest proiect, a trebuit sa includ biblioteca pentru folosirea LCD-ului: #include<LiquidCrystal.h>. |
+ | |||
+ | Logica implementata este descrisa astfel: | ||
+ | Se alege la intamplare un cuvant dintre "INVINGATOR", "SUPERMAN", "PIROPOPIRCARITA", "ORNITORINC" si "SPANZURATOAREA", afisandu-se prima si ultima litera, iar in rest liniute pentru spatiile libere. | ||
+ | |||
+ | |||
+ | Se parcurge alfabetul, litera cu litera folosind butonul 1, iar cu ajutorul butonului 2 se selecteaza litera dorita. | ||
+ | |||
+ | |||
+ | Daca litera este corecta, se afiseaza mesajul "Good!" si se asaza litera la locul respectiv in cuvant. | ||
+ | |||
+ | |||
+ | Daca litera este gresita, se afiseaza mesajul "Wrong!" si se scade o viata. | ||
+ | |||
+ | |||
+ | La final, daca s-a ghicit cuvantul, se afiseaza mesajul "WINNER!". Daca nu mai exista vieti, se printeaza "LOSER!". | ||
+ | |||
+ | |||
+ | Dupa terminarea unui joc, se reseteaza cuvantul. | ||
+ | |||
+ | Codul se poate gasi aici: {{:pm:prj2021:abasoc:331ca_popa_iulia_hangmangame.zip|}} | ||
====== Rezultate Obtinute ====== | ====== Rezultate Obtinute ====== | ||
- | TODO | + | Jocul functioneaza corect, precum un joc clasic de Spanzuratoarea. Acesta foloseste doua butoane pentru manevrarea literelor si alegerea acestora. |
+ | |||
+ | Daca litera este corecta, aceasta este afisata pe locul respectiv, alaturi de mesajul "Good!". | ||
+ | |||
+ | |||
+ | Daca litera este gresita, se afiseaza mesajul "Wrong!" si se scade o viata din cele 5. | ||
+ | |||
+ | |||
+ | La final, daca se descopera cuvantul, se afiseaza "Winner!", altfel "Loser!". | ||
+ | |||
+ | |||
+ | Dupa terminarea unui joc, se reseteaza cu un alt cuvant. | ||
+ | |||
+ | |||
+ | Functionarea acestui proiect se poate observa in videoclipul urmator: https://youtu.be/blrm76k2X-w | ||
====== Concluzii ====== | ====== Concluzii ====== | ||
- | TODO | + | Mi-a placut sa lucrez la acest proiect, deoarece este un joc de-al copilariei mele si totodata, am invatat sa folosesc elemente pe care nu le mai cunoscusem pana acum. |
+ | |||
+ | ====== Jurnal ====== | ||
+ | - 20 aprilie: Am ales tema proiectului. | ||
+ | - 25 aprilie: Am creat pagina de wiki pe ocw. | ||
+ | - 10 mai: Am comandat piesele. | ||
+ | - 29 mai: Am montat componentele. | ||
+ | - 02 iunie: Am scris codul si am completat documentatia. | ||
====== Download ====== | ====== Download ====== | ||
- | Documentatie pdf: | + | Documentatie pdf: |
https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/hangman?do=export_pdf | https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/hangman?do=export_pdf | ||
Line 40: | Line 81: | ||
https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/hangman | https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/hangman | ||
====== Bibliografie ====== | ====== Bibliografie ====== | ||
- | TODO | + | Schema bloc: https://app.diagrams.net/ |
+ | |||
+ | Hardware design: https://www.tinkercad.com/ |