Table of Contents

LED Roulette

Nume: Iancu George

Grupa: 332CC

Introducere

Ce face?

Proiectul constă în implementarea jocului de ruletă, folosind 37 de LED-uri.

Ideea de la care am pornit

Îmi place domeniul jocurilor de noroc și când a trebuit să aleg tema pentru proiect, mi-au trecut prin cap două idei, aș putea spune definitorii pentru români: păcănele și ruletă. M-am documentat despre cum ar trebui să implementez cele două idei de proiect și mi s-a părut interesantă folosirea și înlănțuirea shift registers 74HC595. Decizia de a implementa ruleta a fost determinată și de faptul că acest proiect pare mai complicat din punct de vedere hardware decât celălalt și mai ușor din punct de vedere software, căutând o provocare în realizarea montajului.

De ce este util?

Oferă o alternativă a jocului clasic de ruletă, putând juca oriunde și oricând, cu sau fără bani, fără să ai nevoie de un crupier. De asemenea, mă ajută să aplic ce am învățat la PM, dar să învăț și chestii noi, în special pe partea de hardware și realizare a montajului.

Descriere generală

La apăsarea unui buton, LED-urile se aprind pe rând, simulând mișcărea bilei de ruletă. Tranziția de la un LED la altul este din ce în ce mai lentă, până la oprire, având un buzzer care emite un sunet pentru aceste tranziții. Viteza unui spin poate fi modificată folosind un potențiometru. Există și un ecran LCD, folosit pentru a afișa mesaje de ghidare a pariorului, dar și numerele rezultate din ultimele spin-uri. Jucătorii sunt înștiințați de finalul unui spin printr-un mesaj afișat pe ecranul LCD, dar și prin aprinderea și stingerea succesivă a LED-ului corespunzător numărului câștigător. Folosirea unui număr ridicat de LED-uri legate la plăcuța Arduino Uno R3 este posibilă prin înlănțuirea shift registers 74HC595.

Hardware Design

Listă de piese:

Am realizat în Tinkercad o schemă pentru o versiune a proiectului, ce utilizează 16 LED-uri, în plus fiind necesare înca 3 shift registere care trebuie înlănțuite similar cu cele 2 din schema următoare. În plus, în realizarea montajului fizic, am renunțat la rezistențe, curentul de ieșire de la un shift register fiind suficient de mic pentru a utiliza LED-urile fără rezistențe.

Software Design

Pentru a lucra cu display-ul LCD 1602, am folosit biblioteca LiquidCrystal.h, importată din Arduino IDE, prin Library Manager.


setup():


loop():


spin():


clear_shift_registers():


put_last_result(int result):


show_last_results():

Rezultate Obţinute

După ceva muncă, multe lipituri, multe fire, am reușit să fac proiectul să arate ok și să funcționeze cu 32 de LED-uri, ultimele 5 nefuncționând din cauza shift register-ului. Mai jos e un link către demo, dar și o serie de poze, care evidențiază mai multe faze ale proiectului.

Link demo: https://youtu.be/0EE8IKlkDEo

Galerie Foto (1)

Galerie Foto (2)

Concluzii

A fost interesant să lucrez la acest proiect, am învățat și am aplicat chestii noi, cum ar fi: lipitul folosind Letcon, verificarea montajului folosind multimetrul, reducerea numărului de fire realizând legături directe între fire (fără breadboard). Mi-a plăcut că am folosit ceva ce credeam că nu o să mai folosesc după anul 1 (AutoCAD), pentru construcția cutiei. Acest proiect a fost o mare provocare, dar sunt mulțumit de rezultatul final, fiind apropiat de cel dorit, având un shift register cu probleme (5 LED-uri).

Download

roulette.zip

Jurnal

6 Mai 2022: Crearea paginii

11 Mai 2022: Adăugare Introducere, Descriere generală și Hardware Design

14 Mai 2022: Realizare schemă + cod pe Tinkercad

15-16 Mai 2022: Lipit shift registere pe placuță, lipit LED-uri (catod comun), lipit display LCD, lipit buton, prima încercare de testare a montajului (fail parțial), construcție cutie

21-23 Mai 2022: Redus numărul de fire, fără a mai folosi breadboard pentru a multiplexa semnalele comune ale shift registerelor (am lipit firele între ele), lipit potențiometru pentru setarea vitezei de spin, realizarea montajului (aproape perfect)

23 Mai 2022: Finalizare documentație pagină wiki

Bibliografie/Resurse

Export to PDF