This is an old revision of the document!
Digital Dice
Author: Voicu Teodora-Andreea, 333CA
Introduction
Generates 2 random numbers between 1 and 6, displays them on an LCD screen, and plays a dice-roll sound.
Provides a practical example of integrating sensors and audio/video modules with an Arduino microcontroller in an interactive and educational project.
I wanted to create a digital dice that uses an accelerometer to detect shaking and an LCD to display the result, complemented by a realistic sound effect.
Demonstrates embedded hardware and software concepts, is fun to use, and can be extended to other applications involving motion detection and multimedia playback.
Geneal Description
Hardware:
Arduino Uno – unitatea centrală care primeşte date de la accelerometru, generează numărul şi controlează LCD-ul şi modulul audio.
Modul accelerometru (MPU-6050) – detectează gestul de „shake” pentru a declanşa aruncarea zarului.
Display LCD 16×2 – afișează rezultatul numeric al aruncării zarului.
Modul SD card + difuzor – stochează şi redă fişierul audio WAV cu efectul sonor de aruncare a zarului.
Breadboard şi cabluri de conexiune – realizează legăturile electrice între toate modulele.
Software:
Citire accelerometru – cod care monitorizează acceleraţiile şi identifică gestul de „shake”.
Generare număr aleatoriu – funcţie pentru obţinerea unui număr între 1 şi 6.
Driver LCD – librărie şi funcţii pentru afișarea numerelor pe ecranul LCD.
Redare audio de pe SD – iniţializare sistem de fişiere FAT şi playback al fișierului audio WAV.
1. Utilizatorul zguduie dispozitivul → MPU-6050 transmite semnale Arduino-ului.
2. Arduino detectează gestul, generează un număr aleatoriu şi îl afişează pe LCD.
3. În paralel, Arduino citeşte fişierul WAV de pe cardul SD şi trimite semnalul către difuzor.
4. La următorul gest de „shake”, ciclul se reia.
Hardware Design
Components List:
Functional Overview:
When you shake the LIS2DH12 accelerometer, it detects the motion and triggers the Arduino to generate a random number from 1 to 6. That number is drawn on the SSD1306 OLED display, while simultaneously the Arduino plays a “dice-roll” WAV file from the microSD card through the passive buzzer.
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
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF