Met hierdie toepassing kan u 'n Magic Cube met 'n robot oplos. Die robot is via Bluetooth verbind.
Die kubus kan met die hand ingevoer word of geskandeer word deur die kamera-funksie te gebruik. Verkeerde bespeurde kubuskleure kan reggestel word. Die draai van die kubus na die volgende gesig kan deur die robot uitgevoer word.
As 'n geldige kubus ingevoer word, word 'n oplossing bereken en kan dit na die robot gestuur word. Die robot kan dan die oplossing uitvoer en jy kry 'n opgeloste kubus terug.
Al wat jy hoef te doen is om die robot te bou!
Die toepassing kan sonder 'n robot gebruik word, maar daar is beter opsies.
Vir robotbouers:
Die toepassing is ontwerp vir 'n Arduino-gebaseerde 2-greep-robot wat die onderkant en die agterkant van die kubus vashou. Vir die Bluetooth-verbinding word 'n HC-06-module gebruik. Hierdie toepassing kan gebruik word vir enige robot wat dieselfde protokol gebruik, sowel as dieselfde UUID as die HC-06-module. Dit stuur nie servobewegings uit nie. Dit stuur opdragte wat deur die robot uitgevoer moet word.
Die proses word in 2 fases verdeel:
Fase 1: Betree/skandeer die kubus
As 'n kubusgesig ingevoer of geskandeer word, beweeg jy na die volgende gesig deur op die aansigknoppie te druk. Deur dit te doen, word die enkele kleinletter begin karakter ("l" vir links, "u" vir op) van die volgende gesig na die robot gestuur. Die robot moet die skuif uitvoer. Die volgorde is regs, agter, links, op, af en agter na voor. In karakters is dit r,b,l,u,d,f.
Fase 2: Oplos
Aangesien die oriëntasie van kardinale belang is vir die suksesvolle oplossing van die kubus, is die oplossing slegs beskikbaar wanneer die vooraansig aktief is. Dit veronderstel dat die robot ook die kubus in die regte posisie gedraai het.
Die oplossing word binne die toepassing bereken. Dit word nie van enige bediener of so gehaal nie. Sodra dit beskikbaar is, word die oplossingstring na die robot oorgedra. Die oplossnaar is die volgorde van bewegings geskei deur 'n spasie. Die bewegings word soos volg gegee:
L - draai die linker gesig kloksgewys
L' - draai die linker gesig antikloksgewys
L2 - draai dit 180°
F-Voor, R - Regs, B-agter, U-op en D-af.
Deur die volgorde op hierdie manier te volg, word die kubus opgelos.
Hoe jou robot die bewegings uitvoer, is aan jou. Met hierdie toepassing kan u daarop fokus om die robot te beheer en hoef u nie bekommerd te wees dat die kubus self oplos nie.
Die kommunikasie is net een manier. Daar is geen terugsending van die robot na die slimfoon nie.
Ek hoop dit laat jou begin met jou eie projek.
Sterkte!
Krediete:
Krediete gaan na:
Kas in die Arduino-forum om die projek te inspireer en die belangrikste werk in Arduino-programmering te doen, asook om 'n eerste toepassing vir die robot te verskaf.
https://forum.arduino.cc/index.php?topic=271827.0
Herbert Kociemba vir die geweldige werk om die oplossingsalgoritme te ontwikkel en die gratis oplossings- en gereedskapbiblioteek te verskaf.
http://www.kociemba.org/cube.htm
Na cs0x7f op GitHub vir die verskaffing van 'n geoptimaliseerde 2-fase-oplossingsbiblioteek onder GPL.
https://github.com/cs0x7f/min2phase
Opgedateer op
10 Jun. 2025