Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:radu_ion.balasa [2026/05/20 19:26]
radu_ion.balasa [Rubik's Cube Solver]
pm:prj2026:radu_ion.balasa [2026/05/20 19:43] (current)
radu_ion.balasa [Software Design]
Line 1: Line 1:
 ====== Rubik'​s Cube Solver ====== ====== Rubik'​s Cube Solver ======
 **Autor:** Balasa Radu-Ion\\ **Autor:** Balasa Radu-Ion\\
-**Grupa:** 331CA+**Grupa:** 331CA\\
 **Link github**: [[https://​github.com/​BalasaRadu/​rubik_solver/​tree/​main]] **Link github**: [[https://​github.com/​BalasaRadu/​rubik_solver/​tree/​main]]
 ==== Introducere ==== ==== Introducere ====
 Proiectul propune realizarea unui robot capabil sa rezolve un cub Rubik de tip 3x3x3, folosind o structura mecanica simpla si procesare externa. Sistemul foloseste puterea de calcul a unui laptop pentru a determina secventa optima de miscari, transmitand ulterior comenzile catre un microcontroler ESP32 care actioneaza motoarele. Proiectul propune realizarea unui robot capabil sa rezolve un cub Rubik de tip 3x3x3, folosind o structura mecanica simpla si procesare externa. Sistemul foloseste puterea de calcul a unui laptop pentru a determina secventa optima de miscari, transmitand ulterior comenzile catre un microcontroler ESP32 care actioneaza motoarele.
- 
-Obiectivul principal este demonstrarea controlului precis al servomotoarelor si al comunicarii seriale intre un PC si un sistem embedded. Sistemul este conceput sa permita introducerea manuala a starii cubului sub forma de text intr-o interfata dedicata. 
  
 ==== Descriere generala ==== ==== Descriere generala ====
Line 54: Line 52:
   - Parsarea comenzilor(open,​ closed, flip, start, cw, ccw) intr-un loop care monitorizeaza buffer-ul UART   - Parsarea comenzilor(open,​ closed, flip, start, cw, ccw) intr-un loop care monitorizeaza buffer-ul UART
   - Controlul PWM al servomotoarelor folosind biblioteca ESP32Servo   - Controlul PWM al servomotoarelor folosind biblioteca ESP32Servo
 +
 +Cele 2 motoare au urmatoarele stari calibrate in functie de unghi:
 +  - Top Cover Servo: gestioneaza pozitia capacului superior in functie de urmatoarele 3 stari: **open** pozitionat la 70 grade pentru a elibera cubul si a il putea misca liber, **closed** pozitionat la 115 grade pentru a fixa cubul in momentul rotatiei stratului de jos, **flip** aflat la 15 grade pentru a rasturna fizic cubul, schimband astfel orientarea sa.
 +  - Cube Holder Servo: roteste stratul de la baza cubului. Initial se afla la pozitia **start**, mentinand baza la pozitia neutra de 90 grade. Pentru miscarile efective se folosesc rotatiile la 90 de grade in cele doua sensuri **cw** (sensul acelor de ceasornic), respectiv **ccw** (sens opus acelor de ceasornic). Pentru a nu mentine motorul in tensiune, acesta se roteste la 0 grade si dupa aceea la 5 grade pentru rotatiile de tip ccw (analog 180, 175 grade pentru cw).
 ==== Bibliografie ==== ==== Bibliografie ====
 * [[https://​github.com/​AndreaFavero71/​CUBOTino_base_version|CUBOTino Base Version Documentation]] * [[https://​github.com/​AndreaFavero71/​CUBOTino_base_version|CUBOTino Base Version Documentation]]
  
 * [[https://​github.com/​hkociemba/​RubiksCube-TwophaseSolver|Hegbert Kociemba Two-Phase Algorithm]] * [[https://​github.com/​hkociemba/​RubiksCube-TwophaseSolver|Hegbert Kociemba Two-Phase Algorithm]]
pm/prj2026/radu_ion.balasa.1779294406.txt.gz · Last modified: 2026/05/20 19:26 by radu_ion.balasa
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0