This is an old revision of the document!
Proiectul meu este realizat cu scopul de a oferi utilizatorului o lista de miscari de urmat pentru a rezolva un cub rubik de dimensiune 2x2x2 amestecat aleatoriu. Acesta va utiliza un singur senzor de culoare pentru a creea o lista de culori are fetelor. Astfel se vor utiliza diverse rotatii ale intregului cub (90 grade in jurul axulul propriu centrl + rasturnare intr-o directie) pentru ca senzorul sa poata detecta cele 24 culori. Am ales acest proiect deoarece cand eram mai mic am fost extrem de pasionat de puzzle-uri, implicit de rezolvarea cubului rubik. Aveam cuburi de diferite dimensiuni, chiar si pana la 9x9x9, fiind interesat de cum scaleaza solutia la cuburi de dimensiuni mai mari.
Acest proiect este util si pentru altii deoarece pot invata diferite metode de rezolvare prin urmarirea pasilor, cat si cel mai important lucru din rezolvarea cubului rubik - notatiile miscarilor algoritmilor (L, R, U, D, B, F).
Functionalitatile prezentate mai sus vor fi indeplinite in urmatorul mod: Cubul va sta initial blocat intre 4 margini putin ridicate, cat sa nu permita miscarea lui. In spatele sau se va afla o “rampa” de care se va utiliza pentru a fi dat peste cap. Acest build va fi asezat pe o platforma mai mare care va fi rotita cu cate 90 grade de un servomotor. Astfel vom putea citi cele 4 fete de deasupra. Pentru a putea schimba fata de deasupra, voi folosi un al doilea servomotor care va fi sub forma de brat. Acesta are scopul sa impinga cubul peste cap pe rampa, urmand ca acesta sa alunece inapoi in locul initial. Astfel prin rotatii de platforma + rostogolori voi putea citi toate cele 6 fete ale cubului, urmand ca algoritmul de rezolvare sa dea miscarile necesare.
* Ecran LCD: Vizualizarea miscarilor de urmat pentru rezolvarea cubului.
* Senzor de culoare RGB TCS34725: Utilizat pentru citirea luminii reflectate de o fata si detectarea culorii.
* Motor Pas cu Pas 28BYJ-48 cu Controler ULN2003: Pentru rotirea cu cate 90 grade a platformei. Utilizeaza un driver pentru a putea trage curent suficient fara a arde microprocesorul.
* Servomotor SG90, 180 de grade: Utilizat pentru bratul care va da peste cap cubul rubik.
* Modul tensiune alimentare MB102: Pentru a alimenta driverul ce va da curent motorului ce invarte platforma.
* ATmega324P: Microcontrolerul principal responsabil pentru coordonarea tuturor modulelor.
* LED-uri si Butoane: Atat pentru debug cat si pentru alte utilizari precum pornirea citirii.