This is an old revision of the document!
Acest proiect constă în realizarea unui dealer de cărți.
De ce un dealer de cărți și nu altceva? Pentru că mi se pare util și diferit de celelalte proiecte.
Din punct de vedere tehnic, acesta implică:
Utilizare PINI :
Listă de componente:
| Nume componentă | Link | Cantitate | Preț unitar (lei) | Preț final (lei) |
|---|---|---|---|---|
| Placa de dezvoltare Arduino MEGA 2560 | Link | 1 | 72.99 | 72.99 |
| Stepper Motor Nema17 | Link | 1 | 30.44 | 30.44 |
| Motor Driver TMC2209 | Link | 1 | 17.02 | 17.02 |
| USB-C Fast Charge Trigger Board 100W | Link | 1 | 9.60 | 9.60 |
| Motor Driver L293D | Link | 1 | 1.96 | 1.96 |
| DC Motor | Link | 1 | 4.95 | 4.95 |
| Modul DC-DC LM2596 | Link | 2 | 16.49 | 32.98 |
| Ecran | Link | 1 | 14.99 | 14.99 |
| Buton | Link | 2 | 0.36 | 0.72 |
| Rezistor | Link | 2 | 0.10 | 0.20 |
| Preț total: | 185.85 | ||||
|---|---|---|---|---|---|
Proiectul este implementat pe platforma Arduino, folosind limbajul de programare C/C++ specific mediului Arduino IDE.
Biblioteci externe folosite:
SETUP:
Initializează pinii butoanelo
Initializează driverul motorului DC
Initializează driverul motorului stepper
Initializează LCD-ul prin I2C
Initializează variabile
LOOP PRINCIPAL:
// Selectare număr jucători
PENTRU fiecare buton:
DACĂ butonul este apăsat:
setează numar_jucatori corespunzător
Afișează pe LCD: "Jucători: " + numar_jucatori
Așteaptă până se eliberează butonul (debounce)
DACĂ numar_jucatori > 0 && start == 1:
Afișează pe LCD: "Distribuire cărți..."
PENTRU jucator ← 1 până la numar_jucatori:
// Mergi la poziția jucătorului
stepper.move(pași_necesari)
// Lansează cartea
PORNEȘTE motor_DC
AȘTEAPTĂ 100ms
OPREȘTE motor_DC
Afișează pe LCD: "Carte trimisă la Juc. " + jucator
// Resetare poziție
Afișează pe LCD: "Distribuire finalizată"
numar_jucatori ← 0
start ← 0
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.