Friendship Roulette

Introducere

Aceasta simulare electrica a jocului European Roulette are rolul de a delecta grupuri de prieteni fara a implica partea de gambling. Ruleta europeană este un joc de cazino iconic și captivant, în care jucătorii pariază unde va ateriza o minge. Roata este împărțită în 37 de buzunare numerotate de la 0 la 36. Jucătorii pot plasa pariuri pe numere individuale, grupuri de numere, culori (roșu sau negru) sau dacă numărul va fi impar sau par. După ce toate pariurile sunt plasate, crupierul lansează bila în roată și jucătorii așteaptă cu sufletul la gură să vadă unde se va opri. Este un joc de noroc fascinant, în care emoția și anticiparea sunt la ele acasă. Aceasta varianta digitalizata inlocuieste mingea cu leduri, cupierul cu un buton de start al rundei si pariatul cu prietenie si distractie.

Descriere generală

Atunci cand este conectata ruleta porneste o animatie de intampinare a jucatorului. Butonul Spin va porni o runda de joc. Ledurile se vor aprinde pe rand simbolizand slotul in care se afla bila la momentul actual. Viteza de joc a unei runde este setata cu ajutorul potentiometrului. Numarul castigator este ultimul led aprins, numar care va fi anuntat si pe ecran. La fiecare schimbare de slot, buzzerul produce un set pentru a crea o atmosfera captivanta. Ledul prezinta mereu numele jocului, iar intre runde un mesaj de idle.

Hardware Design

  • Placuta Arduino Nano, 37 de leduri, speaker, 5 rezistoare, 1 buton, ecran I2C, potentiometru
  • Pentru a folosi un numar redus de pini folosesc tehnica charlieplexing.
  • Tabla este impartita in 4 zone formate din 9 leduri plus ledul 0, care reprezinta culoarea verde.
  • Catodul ledurilor este conectat in serii consecutive de cate 9 la pinii A0 - A2
  • Datorita unei impartiri initiale gresite a trebuit sa renunt la un set de 9 leduri. (Pinii A6 si A7 de

placuta nu suporta operatii de I/O)

  • Anodul pinilor este conectat in 9 de serii de cate 4 la pinii digitali (D2 - D10)
  • Pinul 0 conectat pe D11
  • Un ecran cu suport I2C trebuie conectat la pinii A4 si A5 pe Arduino Nano
  • Potentiometru conectat pe A6
  • Buzzer conectat pe A3
  • PushButton conectat pe pinul D12

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate
  • Mediul de dezvoltare folosit este Arduino IDE pentru simplitate. Pentru a aprinde ledul X din

cadranul Y trebuie ca restul de cadrane sa fie setate pe LOW, cadranul Y pe HIGH si ledul X pe HIGH conform chalieplexing.

  • Pentru ecran folosesc biblioteca LiquidCrystal I2C.
  • Valoarea potentiometrului este salvata intr-o variabila globala, in functie de aceasta setandu-se viteza de joc.
  • Am folosit switch case-uri pentru a face legatura dintre numarul de pe tabla si pinii corespunzatori ledului.
  • Pentru a imita un joc fluid am folosit un for pentru a stabili durata rundei si un switch case pentru a schimba cadranul.

Rezultate Obţinute

Rezultatul obtinut este unul satisfacator. Datorita unui miscalculation initial legat de numarul de pini analogici, un cadran nu functioneaza. Il voi numi Cadranul Sigur-Pierd. Butonul corespunzator culorii verzi nu se aprinde pentru a nu promova un stil de joc cu risc prea mare. Produsul final este o varianta digitalizata a jocului traditional care se joaca pe 3 cadrane, cu viteze de joc schimbabile din potentiometru, cu ledul initial ales aleator si numarul aleator de leduri, un ecran si un buzzer care creaza o atmosfera captivanta.

Concluzii

In final, am ramas cu un joc functional care sigur va aduce amuzament intr-o seara cu prietenii.

Download

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2024/vstoica/vasileios.gkourasis.txt · Last modified: 2024/05/27 14:28 by vasileios.gkourasis
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