This is an old revision of the document!
Dispozitivul are ca scop testarea vitezei de reactie prin intermediul unui joc inspirat din ideea clasică a jocurilor de tip „Whac-A-Mole”.
Scopul jocului este să nimerești sau să atingi (cu degetul, ciocan de jucărie sau alt obiect) gaura din care iese „viermele” cât mai repede, înainte ca acesta să dispară.
Dispozitivul poate fi folosit si in educatia copiilor care implică învățarea culorilor, literelor sau numerelor – viermii având etichete pe ei.
Tabla de joc are mai multe găuri (in cazul nostru 4), aranjate într-o rețea.
În fiecare gaură poate apărea, la întâmplare, un „vierme”
Viermele apare doar pentru o perioadă scurtă ( 1 secunda ), apoi dispare.
Jucatorul trebuie să fie rapid și atent, să „loveasca” sau să atinga gaura exact atunci când viermele apare.
Durata: jocul are o durată fixă (60 de secunde), iar scopul este obtinerea celui mai mare scor posibil.
Gradul de dificultate poate fi crescut sau scazut prin modificarea frecventei cu care apare viermele.
Modul de realizare
Se aplica cunostintele din:
Laboratorul 2- Intreruperi, rutine de tratare a intreruperilo
Laboratorul 3 - Lucru cu timere
Laboratorul 4- Utilizarea conversiei analog-dugitala,
Laborator 5 - Utilizarea comunicatiei cu un periferic prin intermediul protocolului SPI.
Placa de dezvoltare Arduino comanda aleatoriu 4 servomotoare prin intermediul a 2 drivere cu 2 canale care simuleaza iesirea din gaura a viermelui.
Viteza cu care este generata comanda de iesire a viermelui este variabila fiind reglata cu un potentiometru. Tensiunea variabila dependenta de pozitia cursorului potentiometrului este folosita de convertorul analog digital al microcontrolerului care va seta prescalarul ce da intreruperea folosita la comanda servomotoarelor.
Starile de apasat sau neapasat a celor 4 butoane sunt folosite ca semnale de intrare si daca este coincidenta intre apasare si aparitie se incrementeaza un contor.
Durata jocului este stabilita prin intermediul unui timer care valideaza selectarea aleatorie a unuia din cele 4 servomotoare . Timerul este declansat de un buton de start.
Numarul de aparitie a viermelui si a numarului de reusite se memoreaza . Aceste sunt prelucrate (se calculeza rata de reusite) si sunt afisate in timp real prin intermediul protocolului SPI la un display
* servomotor https://www.bitmi.ro/electronica/servomotor-sg90-180-grade-9g-10496.html * placuta https://www.bitmi.ro/electronica/placa-de-dezvoltare-originala-arduino-uno-rev3-11135.html * shield https://www.bitmi.ro/electronica/shield-cu-mini-breadboard-pentru-prototipuri-compatibil-arduino-uno-r3-10387.html* * butoane https://www.bitmi.ro/electronica/modul-4-butoane-compatibil-arduino-11739.html * alimentator https://www.bitmi.ro/produse?c=alimentator+5v * display https://www.bitmi.ro/modul-cu-ecran-lcd-1-8-128x160-tft-spi-serial-10996.html?gad_source=1&gbraid=0AAAAADLag-l-6kiMOONKNep48A8ls224S&gclid=Cj0KCQjwoNzABhDbARIsALfY8VMnb-XmQVW9C1-ztcAgU3pBvpWdiGxeQS6am921yAxkY5ywtsl8uXAaAnVXEALw_wcB
Curentul maxim pe care il consuma montajul este suma urmatoarelor consumuri partiale- Arduino(datasheet) = 100mA- Potentiometru(5V/10kohmi) = 0,5mA- Servomotor (datasheet = 250mA) Observatie importanta: cu toate ca sunt 4 la numar, ele se manevreaza aleatoriu, niciodata simultan.- Dispalay(datashhet) = 100mATOTAL= 450,5mAAvand in vedere ca valoarea maxima recomandata pentru alimentarea din portul USB 2 (laptop)este de cca 500mA rezulta ca montajul poate functiona in siguranta alimentat din portul USB. Pentru siguranta in functionare , protejarea laptopului in caz de scurtcircuit in montaj si realizarea functionarii independente a montajului , acesta dupa incarcarea si testarea programului va fi alimentat de la o sursa externa de 5V si curent maxim mai mare de 1A.
Componente:
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.