This is an old revision of the document!
Proiectul constă într-un robot capabil să recunoască culorile fețelor unui Cub Rubik și să le reasambleze în ordinea corectă. Acesta funcționează ca o punte între lumea digitală și cea fizică, primind instrucțiuni și transformându-le în mișcări reale pentru a rezolva cubul.
Scopul principal este realizarea unui sistem interactiv care să poată demonstra vizual etapele de rezolvare ale cubului. Nu este doar o mașinărie care face totul singură, ci un dispozitiv care permite utilizatorului să urmărească și să controleze întreg procesul, pas cu pas.
Totul a plecat de la dorința de a vedea cum concepte precum inteligența artificială pot fi aplicate într-un obiect tangibil. Am pornit de la ideea unui robot care să poată comunica cu noi: el ne spune ce vede pe cub, iar noi îi putem spune ce mișcări să facă, evitând astfel o funcționare rigidă și complet automată.
Pentru mine, utilitatea este practică: învăț să stăpânesc interacțiunea dintre senzori și partea mecanică într-un mod fluid. Pentru ceilalți, robotul are un rol strict didactic. Este mult mai simplu să înveți să rezolvi cubul urmărind o demonstrație fizică, executată în timp real, decât încercând să descifrezi scheme abstracte dintr-o carte sau de pe internet.
PC (Interfața de control): Reprezintă nivelul superior de decizie. Acesta rulează algoritmii de rezolvare a cubului, calculează soluția optimă și transmite instrucțiunile către microcontroler prin protocolul UART.
ATmega328P (Microcontrolerul): Este unitatea centrală de procesare. Acesta acționează ca un interpret între software și hardware: „traduce” comenzile primite prin interfața serială în semnale de comandă pentru motoare și gestionează interogarea senzorilor.
Senzori C (Senzorii de culoare): Șase unități de citire care identifică culorile fețelor cubului. Aceștia convertesc lumina reflectată în date digitale ce sunt transmise către microcontroler prin bus-ul de date I2C.
Modulul I2C (Multiplexor): Deoarece senzorii partajează aceeași adresă sau sunt numeroși, acest modul permite gestionarea lor eficientă folosind doar doi pini de date (SDA/SCL), optimizând astfel fluxul de informații și cablajul.
CNC Shield: Plăci de extensie ce facilitează distribuția semnalelor către drivere. Acestea organizează pinii de control, permițând microcontrolerului să gestioneze simultan cele 6 motoare necesare proiectului.
Drivere: Module de putere care primesc semnalele logice de joasă tensiune de la microcontroler și livrează curentul necesar motoarelor. Acestea interpretează impulsurile primite pentru a executa pașii fizici.
Motoare Stepper: Actuatori de precizie care rotesc fețele cubului. Controlul lor este realizat prin semnale de tip Step/Dir, generate software prin rutine de întreruperi (ISR) pentru a asigura un unghi de rotație exact (90 de grade sau 180 de grade).
LCD: Afișează feedback vizual și starea sistemului în timp real.
Sursa de tensiune & Distribuitorul de putere: Asigură energia necesară întregului ansamblu. Distribuitorul separă ramura de forță (pentru motoare) de cea de control, pentru a evita interferențele electrice.
Regulator de tensiune: Coboară și stabilizează tensiunea pentru componentele logice sensibile (microcontroler și senzori), protejându-le împotriva fluctuațiilor.
Cooler: Sistem de răcire activ care previne degradarea termică a driverelor și a regulatorului în timpul funcționării prelungite.
| Componentă | Cantitate | Categorie | Rol / Detalii tehnice |
|---|---|---|---|
| Motor Pas cu Pas Nema 17 | 6 bucăți | Mișcare / Actuatoare | Asigură acționarea mecanică directă a celor 6 fețe ale cubului. |
| Driver Motor A4988 | 6 bucăți | Mișcare / Actuatoare | Controlul precis al curentului și pașilor pentru fiecare motor Nema 17. |
| Shield CNC v3 | 2 bucăți | Mișcare / Actuatoare | Plăci de extensie pentru interfațarea și montarea rapidă a driverelor. |
| Senzor de Culoare TCS34725 | 6 bucăți | Senzori & Optică | Achiziția de date cromatice (RGB) de pe fiecare fațetă a cubului. |
| Multiplexor I2C (TCA9548A) | 1 bucată | Senzori & Optică | Permite citirea simultană a celor 6 senzori prin izolarea aceleiași adrese I2C. |
| Placă Microcontroler ATmega328p | 1 bucată | Control / Logică | Unitatea centrală de procesare (ex: Arduino Uno) care rulează algoritmul. |
| Placă distribuție putere (9 căi) | 1 bucată | Alimentare / Protecție | Sistem de distribuție 12V echipat cu siguranțe fuzibile pentru protecție la scurtcircuit. |
| Modul Buck Converter | 1 bucată | Alimentare / Protecție | Coborâtor de tensiune reglabil (1.25V - 37V) pentru stabilizarea liniei de logică (5V). |
| Sursă de alimentare | 1 bucată | Alimentare / Protecție | Sursa principală de energie, asigură tensiunea necesară motoarelor (max. 30V). |
| Condensatori Electrolitici | 4 bucăți | Alimentare / Protecție | Filtrarea tensiunii și absorbția vârfurilor de curent pentru protecția driverelor. |
| Ventilator / Cooler (12V) | 1 bucată | Alimentare / Protecție | Răcirea activă a driverelor A4988 pentru prevenirea protecției termice. |
| Breadboard | 1 bucată | Prototipare | Placă de test pentru realizarea rapidă a conexiunilor electrice fără lipire. |
| Cub Rubik | 1 bucată | Altele | Obiectul fizic central supus procesului de scanare și rezolvare mecanică. |
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.