이 앱을 사용하면 로봇으로 매직 큐브를 해결할 수 있습니다. 로봇은 블루투스로 연결됩니다.
큐브는 수동으로 입력하거나 카메라 기능을 사용하여 스캔할 수 있습니다. 잘못 감지된 큐브 색상을 수정할 수 있습니다. 큐브를 다음 면으로 돌리는 작업은 로봇에 의해 실행될 수 있습니다.
유효한 큐브를 입력하면 솔루션이 계산되어 로봇으로 전송될 수 있습니다. 로봇은 솔루션을 실행할 수 있으며 해결된 큐브를 다시 얻을 수 있습니다.
여러분이 해야 할 일은 로봇을 만드는 것 뿐입니다!
이 앱은 로봇 없이도 사용할 수 있지만 더 나은 옵션이 있습니다.
로봇 제작자의 경우:
이 앱은 큐브의 아래쪽과 뒷면을 잡고 있는 Arduino 기반 2그리퍼 로봇용으로 설계되었습니다. Bluetooth 연결에는 HC-06 모듈이 사용됩니다. 이 앱은 HC-06 모듈과 동일한 프로토콜과 UUID를 사용하는 모든 로봇에 사용할 수 있습니다. 서보 동작을 전송하지 않습니다. 로봇이 실행해야 하는 명령을 보냅니다.
프로세스는 2단계로 나뉩니다.
1단계: 큐브 입력/스캔
큐브 면을 입력하거나 스캔한 경우 보기 버튼을 눌러 다음 면으로 이동합니다. 이렇게 하면 다음 면의 단일 소문자 시작 문자(왼쪽은 "l", 위쪽은 "u")가 로봇으로 전송됩니다. 로봇이 이동을 실행해야 합니다. 순서는 오른쪽, 뒤, 왼쪽, 위, 아래, 뒤에서 앞으로입니다. 문자에서는 r,b,l,u,d,f입니다.
2단계: 해결
큐브를 성공적으로 해결하려면 방향이 중요하므로 솔루션은 정면도가 활성화된 경우에만 사용할 수 있습니다. 이는 로봇이 큐브를 올바른 위치로 돌렸다고 가정합니다.
솔루션은 앱 내에서 계산됩니다. 어떤 서버에서도 가져오지 않습니다. 사용 가능한 즉시 해결 문자열이 로봇으로 전송됩니다. 해결 문자열은 공백으로 구분된 일련의 동작입니다. 동작은 다음과 같습니다.
L - 왼쪽 얼굴을 시계 방향으로 돌립니다.
L' - 왼쪽 면을 시계 반대 방향으로 돌립니다.
L2 - 180° 회전
F-전면, R-오른쪽, B-후면, U-위, D-아래.
이러한 방식으로 순서를 따르면 큐브가 해결됩니다.
로봇이 동작을 실행하는 방법은 귀하에게 달려 있습니다. 이 앱을 사용하면 로봇 제어에만 집중할 수 있으며 큐브가 스스로 해결되는 것에 대해 걱정할 필요가 없습니다.
의사소통은 단방향이다. 로봇에서 스마트폰으로 다시 전송되는 것은 없습니다.
이것이 당신의 프로젝트를 시작하는 데 도움이 되기를 바랍니다.
행운을 빌어요!
크레딧:
크레딧은 다음과 같습니다.
프로젝트에 영감을 주고 Arduino 프로그래밍의 주요 작업을 수행하고 로봇용 첫 번째 앱을 제공한 Arduino 포럼의 Kas입니다.
https://forum.arduino.cc/index.php?topic=271827.0
해석 알고리즘을 개발하고 무료 해석 및 도구 라이브러리를 제공하는 엄청난 작업을 수행한 Herbert Kociemba에게 감사드립니다.
http://www.kociemba.org/cube.htm
GPL에 따라 최적화된 2단계 해결 라이브러리를 제공하는 GitHub의 cs0x7f입니다.
https://github.com/cs0x7f/min2phase
Last updated on Oct 6, 2025
Fixed bluetooth permission handling for Android 12 and higher.
App will now detect bluetooth disconnection.