Nr. | Componentă | Descriere |
---|---|---|
1 | Arduino UNO R3 | Microcontroller principal |
2 | 2x 28BYJ-48 + 2x ULN2003 Driver | Motoare pas cu pas + drivere ULN2003 |
3 | LCD 1602 I2C | Display pentru afișare moduri desen |
4 | Micro SD Card Adapter | Modul scriere fișiere pe Micro SD |
5 | Buton push | Selectare mod desen |
6 | Breadboard 800 puncte | Pentru conexiuni temporare |
7 | Fire (40 bucăți) | Conexiuni între componente |
8 | Sursă alimentare 5V | Alimentare pentru Arduino |
9 | Bila metalică + magnet neodim | Componente mecanice pentru desen |
Dispozitivul se bazează pe un Arduino UNO, care controlează două motoare pas cu pas 28BYJ-48, fiecare legat la un driver ULN2003. Cele două motoare mișcă un magnet într-un plan XY sub o tavă cu nisip, ghidând o bilă metalică pentru a desena modele.
LCD-ul 1602 comunică cu Arduino prin interfață I2C și afișează modul curent de desen.
Modulul SD este conectat prin interfață SPI și scrie fișiere `.TXT` pe un SD Card log-urile.
Butonul permite utilizatorului să schimbe între diverse moduri de desen.
Componentă | Pin Arduino | Tip conexiune | Detalii tehnice |
---|---|---|---|
Stepper 1 | D8-D11 | PWM | Control IN1-IN4 prin ULN2003 |
Stepper 2 | D4-D7 | PWM | Control IN1-IN4 prin ULN2003 |
LCD I2C | A4 (SDA), A5 (SCL) | I2C | Comunicare I2C standard la 0x27 |
CH376S | D0 (RX), D1 (TX) | SPI | Comunicarea SPI pentru citirea SD Card |
Buton | D12 | Digital Input |
Proiectul „Sand Drawing Machine” a fost o oportunitate excelentă de a combina partea de hardware cu cea software într-o aplicație creativă și interactivă. Utilizând un Arduino Uno, două motoare pas cu pas 28BYJ-48 și un ecran LCD cu interfață I2C, am reușit să construiesc un dispozitiv care poate desena modele precum spirale și zigzaguri într-un strat de nisip, cu ajutorul unei bile metalice ghidate magnetic.
Pe parcursul dezvoltării am întâlnit provocări legate de sincronizarea motoarelor, controlul precis al poziției, citirea de pe cardul SD și afișarea informațiilor pe LCD, dar toate acestea au fost depășite prin testare și implementarea unor soluții personalizate.
Funcționalitățile software, precum controlul PWM al LED-ului, salvarea logurilor pe cardul SD și comutarea modurilor prin buton, au adus un plus de interactivitate proiectului. Am învățat importanța gestionării resurselor hardware limitate ale microcontrollerului, precum și avantajele modularizării codului în funcții clare.
Consider că proiectul poate fi extins în viitor prin adăugarea unor senzori pentru auto-calibrare, integrarea unei aplicații mobile pentru control de la distanță sau adăugarea unor modele mai complexe citite de pe fișiere externe.
În concluzie, Sand Drawing Machine demonstrează cu succes cum pot fi combinate cunoștințele de electronică, programare și design pentru a crea un sistem funcțional, estetic și educativ.