Rubiks Cube

Automation & Robotik
Projektteam
Leo Stauder
Simon Primisser

Projektidee

Ziel dieses Projektes ist es, einen automatischen Rubik's-Cube-Lösungsroboter zu entwickeln. Dabei soll ein beliebig verdrehter Zauberwürfel in die Maschine eingelegt werden. Anschließend scannt der Roboter den Würfel, berechnet den optimalen Lösungsweg und führt diesen schließlich mechanisch aus.

Funktionsweise

  • 6 Farbsensoren erfassen die Farben des Würfels und übergeben sie an den Microncontoller mit I2C
  • Daten werden mithilfe der seriellen Schnittstelle an den PC übergeben
  • Die Konfiguration des Würfels wird mithilfe eines algorithmus aus den Farbdaten hergeleitet
  • C# Programm auf PC berechnet den optimalen Lösungsweg
  • Einzelnen Würfelbewegungnen werden zurück an den Microcontroller übergeben
  • Lösungschritte werden mithilfe von Stepper- Motoren ausgeführt.

Daten und Fakten

Hardware:
Spannung: 12 V (Motoren), 5 V (Steuerung)
Motoren: 6x NEMA 17 Schrittmotoren
Treiber: 6x A4988 Schrittmotortreiber
Mikrocontroller: ATmega328 (auf Arduino-Nano-Platine)
Farbsensoren: 6x DollaTek GY-33 Sensorplatinen mit TCS34725 Farbsensor
Software
C-Programm (Mikrocontroller):
Kommunikation mit den Sensoren, Motorsteuerung, Berechnung der Beschleunigungskurven
C#-Programm (PC):
Interface zur manuellen Steuerung, Visualisierung des Würfels, Einstellung der Beschleunigungsparameter, Einstellung der Farbparameter

Fotos