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/05/27 22:23]
bogdan.dobrin
pm:prj2021:apredescu:rubiks-mini-cube-2x2x2 [2021/06/01 14:29] (current)
bogdan.dobrin
Line 30: Line 30:
   - Fire   - Fire
 ==== Schema electrică ==== ==== Schema electrică ====
 +{{ :​pm:​prj2021:​apredescu:​rubik_shematic.png?​nolink&​500 |}}
  
 ===== Software Design ===== ===== Software Design =====
-==== Instrucțiunile jocului ==== 
 {{:​pm:​prj2021:​apredescu:​instructions2_p2.pdf|Instrucțiunile jocului}} {{:​pm:​prj2021:​apredescu:​instructions2_p2.pdf|Instrucțiunile jocului}}
-{{ :​pm:​prj2021:​apredescu:​rubiks_instructiuns.png?​nolink&​450 |}}+{{ :​pm:​prj2021:​apredescu:​rubiks_instructiuns.png?​nolink&​500 |}} 
 +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 45: 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 =====
  
 https://​create.arduino.cc/​projecthub/​electropeak/​neopixel-how-to-control-ws2812-rgb-led-w-arduino-46c08f https://​create.arduino.cc/​projecthub/​electropeak/​neopixel-how-to-control-ws2812-rgb-led-w-arduino-46c08f
 +
 +https://​www.arduino.cc/​en/​tutorial/​pushbutton
 +
 +Tutorial YouTube pentru folosirea modulului TM1638:
 +  - https://​youtu.be/​1yBg0HUhKhw
 +  - https://​youtu.be/​wy5FuLZ_PjM
 +  - https://​youtu.be/​m6VfrWVUtEk
 +
 +Demo Rubik'​s Mini Cube YouTube:
 +https://​youtu.be/​0midToTdj9o
 +
 +Cod Rubik'​s Mini Cube GitHub:
 +https://​github.com/​bvdobrin/​rubiks-mini-cube-2x2x2
  
 https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​rubiks-mini-cube-2x2x2 https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​rubiks-mini-cube-2x2x2
pm/prj2021/apredescu/rubiks-mini-cube-2x2x2.1622143408.txt.gz · Last modified: 2021/05/27 22:23 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