This is an old revision of the document!
Autor: Nitu David-Gabriel
Grupa: 336CB
“99% din pariori se opresc inainte de marele lor castig” - Raul Bocanu
“Orice sansa neluata e o sansa ratata” - Bocanu Raul
“Nu risti nu castigi” - tata
“Aschia nu sare departe de trunchi” - din folclor
Acestea sunt citatele care ma motiveaza. Toata lumea imi zice sa ma las de pacanele pentru ca voi deveni dependent, dar eu joc de 5 ani fiecare ban de care fac rost si nu am devenit dependent deci nu stiu ce vor de la mine.
Din aceasta pasiune pentru pariuri si pentru senzatia unica pe care o simti cand ultimii tai bani sunt rulati la pacanea si nu stii daca vei mai avea ce manca ziua urmatoare am ales aces proiect.
Proiectul meu este o pacanea formata din trei led-uri palpaitoare, cu o pusculita in care se pot introduce bani ce vor fi adaugati la balanta. Pacaneaua este actionata de un buton, iar rezultatul este afisat pe un ecran LCD, a carui luminozitate poate fi reglata, pentru ca pacaneaua sa poata fi jucata in orice conditie.
Acest proiect este util pentru altii deoarece pariurile sunt un mod sigur de a face bani cat timp nu te dai batut.
Balanta va fi 0 la inceput, asa ca vor trebui sa fie introdusi mai intai bani(bancnote) in pusculita. Pusculita va fi o cutie de carton cu o gaura pe unde sa intre bancnota si un senzor de distanta in dreptul gaurii care detecteaza cand banii sunt adaugati si updateaza balanta.
Acum ca avem bani in pusculita, putem sa jucam prin apasarea butonului. Odata ce pariul a fost facut, led-urile incep sa palpaie, urmand sa se opreasca pe unul dintre posibilele outcome-uri. Rezultatul este afisat pe ecran. Daca jucatorul nu a pierdut, el are 5 secunde sa parieze iar, caz in care led-urile palpaie iar si alt rezultat va fi afisat. Daca trec 5 secunde de la afisarea rezultatului pe ecran apare optiunea de cash out: PIN-ul de la lacatul ce tine cutia inchisa. Dupa aparitia PIN-ului, balanta este resetata la 0. In cazul in care jucatorul pierde, balanta este resetata direct la 0. Ecranul poate fi reglat prin potentiometru.
Lista de piese:
Senzorul ultrasonic si butonul sunt legate ca input la placuta Arduino nano. Butonul este legat la un rezistor de 10k Ω. LED-urile sunt legate ca output, si necesita folosirea unor rezistori de 330 Ω. Tot ca output este legat si ecranul LCD 1602A, care are nevoie si el de un rezistor de 330 Ω pentru a nu face scurt, si care la randul lui primeste input de la potentiometru. Pentru lipituri am folosit un ciocan de lipit imprumutat de la un prieten:). Arduino nano este alimentat printr-un micro USB de la laptop.
Am folosit libraria LiquidCrystal.h pentru a afisa text pe LCD.
Initial am spus ce pin e input si ce pin e output in setup().
Cam tot se petrece in loop(), in care sunt folosite functii auxiliare precum:
readDistance(int, int) care returneaza distanta citita de senzor.
generateOutcome(int) care este practic toata implementarea ideii de pacanea. Se alege un numar random si in functie de probabilitatile alese, se intra intr-unul dintre if-uri afisandu-se rezultatul si updatandu-se suma.
rollLights() care face LED-urile sa palpaie.
resetLED() care evident opreste LED-urile.
printBank() care afiseaza suma de bani curenta.
printSafeCode() care arata PIN-ul de la lacat.
Asadar flow-ul din loop incepe cu afisarea banilor din banca. Banii pot fi introdusi oricand pacaneaua nu se afla in timpul unui pariu. Astfel se asteapta detectarea banilor. Toata actiunea de pariat se afla dupa label-ul bet_again, care face ca jocul sa poata fi jucat de mai multe ori. Fol