Differences

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

Link to this comparison view

pm:prj2021:apredescu:rubiks-mini-cube-2x2x2 [2021/06/01 13:08]
bogdan.dobrin
pm:prj2021:apredescu:rubiks-mini-cube-2x2x2 [2021/06/01 14:29] (current)
bogdan.dobrin
Line 36: Line 36:
 {{ :​pm:​prj2021:​apredescu:​rubiks_instructiuns.png?​nolink&​500 |}} {{ :​pm:​prj2021:​apredescu:​rubiks_instructiuns.png?​nolink&​500 |}}
 Cod-ul pentru proiect: https://​github.com/​bvdobrin/​rubiks-mini-cube-2x2x2 Cod-ul pentru proiect: https://​github.com/​bvdobrin/​rubiks-mini-cube-2x2x2
 +
 +Pentru realizarea software-ului am pornit de la biblioteca Adafruit_NeoPixel.h,​ pentru lucrul cu matricile RGB LED, și de la header-ele (explicate în tutorialul din bibliografie) TM1638_Iitialization.h,​ readButtons.h și setLED.h pentru comunicarea serială între modulul TM1638 și Arduino Uno. Header-ului setLED.h i-am adaugat functia doTimer care realizeaza funcția de stopwatch a cubului rubik pentru cronometrarea timpului de rezolvare în secunde și afișarea pe dispay-ul de 8 cifre în 7 segmente. În rubiksCube.h se regăsesc funcțiile necesare unui cub rubik: initializarea fețelor în culorile potrivite și funcțiile "de rotire"​ a fețelor (în cazul nostru de permutare a culorilor între led-uri). Informația culorilor pentru cub este reținută în long cube[6][4], această matrice fiind actualizată cu fiecare mutare. În Arduino un long are 4 octeți, astfel ne este suficient un singur long pentru a stoca cele 3 variabile de culoare RGB care se reprezintă pe câte 8 biți. RubiksMiniCube.ino are logica principală a programului. Folosindu-se de funcțiile expuse de headere, actualizează culorile led-urilor în concordanță cu apăsările butoanelor.
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Rezultatul este un proiect complet funcțional,​ care nu doar arată interesant pe orice birou l-ai pune, ci îți poate și ține mintea ocupată atunci când plictiseala impune o scurtă pauză.
 +
 +{{ :​pm:​prj2021:​apredescu:​20210527_234407.jpg?​nolink&​300 |}}
  
 ===== Concluzii ===== ===== Concluzii =====
 +În concluzie, libertatea alegerii proiectului mi-a dat oportunitatea de a lucra la ceva care personal m-a pasionat cu adevărat. Astfel, am învățat să prototipez, să fac lipituri, iar îmbinarea hardware cu software a conturat "o jucărie"​ palpabilă.
 +
 +{{ :​pm:​prj2021:​apredescu:​rubik_result1.png?​nolink&​300 |}}
  
 ===== Download ===== ===== Download =====
Line 46: Line 54:
  
 ===== Jurnal ===== ===== Jurnal =====
 +Cea mai dificilă parte a fost realizarea lipiturilor:​ matricile LED sunt foarte mici iar letconul este imprecis.
 +
 +{{ :​pm:​prj2021:​apredescu:​20210516_201216.jpg?​nolink&​300 |}}
 +
 +{{ :​pm:​prj2021:​apredescu:​20210513_232051.jpg?​nolink&​300 |}}
 +
 +Cum arată cele două piese din matrici LED lipite. Îmbinate una în alta, ca două piese LEGO, vor forma cubul dorit.
 +
 +{{ :​pm:​prj2021:​apredescu:​20210516_231137.jpg?​nolink&​300 |}}
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2021/apredescu/rubiks-mini-cube-2x2x2.1622542127.txt.gz · Last modified: 2021/06/01 13:08 by bogdan.dobrin
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