FPT telecom sẽ hướng dẫn bạn cách chế tạo 1 cánh tay Robot tự động giải khối Rubik lập phương. Đây là một trong các công tác nghiên cứu lập trình Rubik. Thiết bị này được làm từ những thanh gỗ y tế, động cơ servo và một bo mạch điều khiển Arduino.
Cách chế tạo cánh tay Robot tự giải khối Rubik

Đây là một trong các mô hình tự động để có thể chế tạo các robot có công nghệ tự động điều khiển như hiện nay, nếu bạn muốn có tay nghề chế tạo hơn hãy nghiên cứu chế tạo robo tự giải khối Rubik này trước.

Đầu tiên ta cần chuẩn bị các dụng cụ sau để chế tạo cánh tay Rubik:

-Động cơ servo.
-Bánh xe bằng gỗ.
-Khăn giấy cuộn.
-Súng bắn keo nóng.
-Dây điện và cáp USB.
-Một tấm ván ép mỏng.
-Bo mạch điện tử Arduino UNO R3.
-Que gỗ dùng trong y tế (que đè lưỡi).
Các phần mềm: Arduino IDE – (thuật toán C++), Python 2.7+ và Tkinter – (GUI), Pyserial.

Sau khi đã chuẩn bị đầy đủ các dụng cụ ta tiến hành chế tạo cánh tay robot tự giải khối Rubik như sau:

Bước 1: Sơ đồ mạch điện trong Robot

-Nối dây màu vàng (tín hiệu) có tính năng quay và đẩy của servo tương ứng với các pin 9 và pin 6.
-Nối dây cực dương và cực âm đến nguồn điện 5V và chân ground.

Cách chế tạo cánh tay Robot tự giải khối Rubik


Bước 2: Thiết kế mô hình hoạt động của Robot

Đây là một robot đơn giản, thiết kế sao cho các động cơ servo hoạt động nhịp nhàng mà không bị cản bởi các que gỗ. Bạn có thể tham khảo hình bên dưới để thiết kế theo gợi ý.

Cách chế tạo cánh tay Robot tự giải khối Rubik


Bước 3: Arduino Sketch – Thuật toán giải khối lập phương rubik

Code: github.com/matt2uy/Cube-Solver
Về cơ bản, ta dùng kết hợp giữa các thuật toán đẩy, giữ và quay để làm cho khối lập phương. Ba thành phần cơ bản trong đoạn mã này là thuật toán, giao diện GUI và kết nối tất cả (Serial Communications).

Cách chế tạo cánh tay Robot tự giải khối Rubik


Về tổng quan cấu trúc của đoạn mã: Cube Decide functions < Cube Algorithms < Cube Move functions < Servo functions < Move Function.

Bước 4: Python GUI

Khác hẳn với các dòng robot được giới thiệu trước đây, nó sử dụng camera để quan sát các mặt của khối rubik. Robot nhập trực tiếp các mặt vào Arduino sketch thông qua GUI. Nếu không muốn làm từ đầu thì bạn có thể sử dụng đoạn mã giao diện Tkinter GUI đã được làm sẵn (tại địa chỉ này).

Cách chế tạo cánh tay Robot tự giải khối Rubik



Bước 5: Kết nối tất cả (Serial Communications)

Một khi sử dụng các thuật toán trong Arduino sketch và giao diện python GUI đã sẵn sàng thì bạn cần phải sử dụng một thứ gì đó để thu thập thông tin từ GUI chuyển vào Arduino sketch, và thuật toán sẽ giúp điều khiển robot giải rubik.

Bạn cần sử dụng Send_Cube_State.py (tại đây) để chuyển dữ liệu màu sắc từ GUI thành chuỗi và sử dụng một cánh tay được điều khiển bởi mạch Arduino (mạch chuyển đổi dữ liệu chuỗi đến các động cơ servo).

Cách chế tạo cánh tay Robot tự giải khối Rubik


FPT telecom vừa hướng dẫn bạn cách chế tạo cánh tay robot tự giải khối Rubik trong vòng 5 bước, chúc các bạn thành công sau bài hướng dẫn của FPT telecom.