10 ไอเดียโปรเจกต์ที่เริ่มทำได้วันนี้
ทำตามตัวอย่างใน Quick Start แล้วยังไงต่อ? รวบรวม 10 โปรเจกต์ เรียงจากง่าย (1 ชั่วโมง) ไปยาก (1 สัปดาห์) เพื่อให้คุณต่อยอดได้ทันที
หน้านี้เป็นไอเดียให้เลือกทำ ถ้าอยากได้โค้ดเต็มพร้อมรัน เริ่มที่ เดโม Pick & Place ก่อน แล้วค่อยต่อยอดเป็นโปรเจกต์ด้านล่าง
ภาพรวม 10 โปรเจกต์
เลือกตามอุปกรณ์ที่มี + เวลาที่พร้อมจะใช้ ทุกโปรเจกต์มี Python code skeleton ให้ต่อยอด
| # | โปรเจกต์ | ระดับ | เวลา | ต้องการ |
|---|---|---|---|---|
| 1 | หุ่นโบกธง | ⭐ | 30 นาที | หุ่นเปล่า |
| 2 | หุ่นเต้นตามเพลง | ⭐ | 1 ชั่วโมง | หุ่นเปล่า + ลำโพง |
| 3 | นาฬิกาแขนกล (Analog clock) | ⭐⭐ | 2 ชั่วโมง | หุ่นเปล่า |
| 4 | หุ่น Greeting (ทักทาย) | ⭐⭐ | 2 ชั่วโมง | หุ่น + เซ็นเซอร์/sensor |
| 5 | หยิบของแบนด้วย Vacuum | ⭐⭐ | 2 ชั่วโมง | หุ่น + Vacuum Pump |
| 6 | Sort ลูกบาศก์สี (Vision) | ⭐⭐⭐ | 1 วัน | หุ่น + Gripper + กล้อง |
| 7 | Photo Booth (หมุนตามใบหน้า) | ⭐⭐⭐ | 1 วัน | หุ่น + กล้อง + OpenCV face detect |
| 8 | Tic-Tac-Toe Bot | ⭐⭐⭐⭐ | 3 วัน | หุ่น + Gripper + กล้อง + algorithm |
| 9 | Bin Picking (สุ่มหยิบ) | ⭐⭐⭐⭐ | 5 วัน | AIKit ครบ + 3D camera |
| 10 | หมากรุก / Chess Bot | ⭐⭐⭐⭐⭐ | 1 สัปดาห์ | AIKit + Stockfish engine |
1. หุ่นโบกธง
เวลา: 30 นาที · อุปกรณ์: หุ่นเปล่า + ธงเล็กๆ ติดด้วย LEGO Plugin · ทักษะที่ได้: Loop + send_angles
หุ่นโบกธงต้อนรับผู้มาเยือนที่เคาน์เตอร์ ทำใน 20 บรรทัด
python wave_flag.pyfrom pymycobot import MyCobot280
import time
mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1)
mc.power_on()
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
time.sleep(3)
# โบกซ้ายขวา 10 ครั้ง (J6 คือข้อมือ)
for i in range(10):
mc.send_angle(6, 60, 60)
time.sleep(0.6)
mc.send_angle(6, -60, 60)
time.sleep(0.6)
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
mc.set_color(0, 255, 0) # ไฟ LED เขียว = เสร็จ
print("Welcome!")
เพิ่ม PIR sensor (motion detector) ที่ฐาน โบกอัตโนมัติเมื่อคนเดินผ่าน
2. หุ่นเต้นตามเพลง
เวลา: 1 ชั่วโมง · อุปกรณ์: หุ่นเปล่า + ลำโพง · ทักษะ: List + timing
เก็บ "ท่าเต้น" 8 ท่าใน list แล้ววนเล่นตามจังหวะ
python dance.pyfrom pymycobot import MyCobot280
import time
import subprocess
mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1)
mc.power_on()
# 8 ท่าเต้น — เปลี่ยนได้ตามชอบ
poses = [
[0, 0, 0, 0, 0, 0],
[30, -30, 30, 0, 0, 0],
[-30, 30, -30, 0, 0, 0],
[0, -60, 60, -30, 30, 0],
[60, 0, 0, 60, 0, 60],
[-60, 0, 0, -60, 0, -60],
[0, -45, 45, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
]
# เล่นเพลง (background)
subprocess.Popen(['ffplay', '-nodisp', '-autoexit', 'dance.mp3'])
# เต้น 2 รอบ
for _ in range(2):
for pose in poses:
mc.send_angles(pose, 80)
mc.set_color(0xFF * (_ % 2), 0xFF, 0)
time.sleep(0.5)
3. นาฬิกาแขนกล (Analog Clock)
เวลา: 2 ชั่วโมง · อุปกรณ์: หุ่นเปล่า (วางหน้าปัดกระดาษไว้ใต้แขนได้) · ทักษะ: Math + เวลาจริง
ใช้ตัวแขนชี้บอกเวลาแทนเข็มนาฬิกา หมุนฐาน (J1) ไปตามนาทีทุกๆ 1 นาที
python robot_clock.pyfrom pymycobot import MyCobot280
import time, datetime, math
mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1)
mc.power_on()
while True:
now = datetime.datetime.now()
# คำนวณมุมจากนาที (360° / 60 min)
minute_angle = (now.minute * 6) - 90 # -90 เพื่อเริ่มที่ 12 นาฬิกา
hour_angle = (now.hour % 12 * 30) - 90
# ส่ง J1 (ฐาน) ไปยังมุมที่คำนวณได้
mc.send_angle(1, minute_angle, 30)
print(f"{now:%H:%M} → J1 = {minute_angle}°")
time.sleep(60) # รอ 1 นาทีถัดไป
4. หุ่น Greeting ทักทายอัตโนมัติ
เวลา: 2 ชั่วโมง · อุปกรณ์: หุ่น + กล้อง 2D · ทักษะ: OpenCV face detection
กล้องจับใบหน้าได้เมื่อไหร่ หุ่นโบกมือ + เปลี่ยน LED เป็นเหลือง
python greeter.pyfrom pymycobot import MyCobot280
import cv2, time
mc = MyCobot280('/dev/ttyTHS1', 1000000)
time.sleep(1)
mc.power_on()
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
face_cascade = cv2.CascadeClassifier(
cv2.data.haarcascades + 'haarcascade_frontalface_default.xml'
)
cap = cv2.VideoCapture(0)
greeted = False
while True:
ret, frame = cap.read()
if not ret: continue
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
if len(faces) > 0 and not greeted:
# ตรวจเจอใบหน้า — โบกมือ
mc.set_color(255, 200, 0) # เหลือง
for _ in range(2):
mc.send_angle(6, 60, 80); time.sleep(0.5)
mc.send_angle(6, -60, 80); time.sleep(0.5)
mc.send_angle(6, 0, 30)
greeted = True
elif len(faces) == 0:
greeted = False
mc.set_color(0, 100, 0) # เขียวเข้ม = รอ
time.sleep(0.1)
5. หยิบของแบนด้วย Vacuum Pump
เวลา: 2 ชั่วโมง · อุปกรณ์: หุ่น + Vacuum Pump (มีในชุด) · ทักษะ: GPIO control + Pick & Place
ใช้ปั๊มสุญญากาศดูดของพื้นผิวเรียบที่ Gripper จับยาก เช่น การ์ด แผ่นกระเบื้อง ฝากล่อง แล้วย้ายไปวางอีกจุด
ขั้นตอน:
- เคลื่อนแขนไปเหนือวัตถุ แล้วลงให้หัวดูดแตะผิว
- เปิดปั๊ม (GPIO logic invert:
0 = ON) ดูดวัตถุให้ติดหัวดูด - ยกขึ้น ย้ายไปจุดวาง
- ปิดปั๊ม (
1 = OFF) ปล่อยวัตถุลง - วน loop กับวัตถุชิ้นถัดไป
ใช้โค้ดจาก: บท 13 Demo 2: Vacuum Pump (มีโค้ดควบคุม GPIO + วิธีต่อสายครบ)
6. Sort ลูกบาศก์สี (Vision-based)
เวลา: 1 วัน · อุปกรณ์: AIKit (Gripper + กล้อง) · ทักษะ: HSV color + Pick & Place
หุ่นแยกลูกบาศก์สี 4 สีลงในกล่อง 4 ใบโดยอัตโนมัติ เป็นเดโมคลาสสิกของ Vision robot
Logic:
- กล้องจับภาพพื้นที่ทำงาน
- OpenCV HSV mask ตรวจสีของลูกบาศก์
- คำนวณพิกัด (พิกัดกล้อง พิกัดหุ่น)
- หุ่นไปจับ ไปวางในกล่องตามสี
- วน loop จนพื้นที่ว่าง
ใช้โค้ดจาก: Cheatsheet Vision + บท 13 Pick & Place
7. Photo Booth กล้องหมุนตามใบหน้า
เวลา: 1 วัน · อุปกรณ์: หุ่น + กล้อง 2D ติดที่ปลายแขน · ทักษะ: Face tracking + PID
ติดกล้องที่ปลายแขน แล้วให้หุ่น หมุนตามใบหน้าคน กลายเป็นกล้องถ่ายภาพอัตโนมัติ
Concept:
- OpenCV จับตำแหน่งใบหน้าในเฟรม (ได้ x, y center)
- ถ้าใบหน้าอยู่ซ้าย หมุน J1 ไปซ้าย; อยู่ขวา หมุนขวา
- ใช้ PID controller ให้การหมุนนุ่มนวล
- เมื่อใบหน้าอยู่กลางเฟรม + ตามต่อเนื่อง 2 วินาที ถ่ายภาพ
8. Tic-Tac-Toe Bot
เวลา: 3 วัน · อุปกรณ์: AIKit + กระดาน 3×3 · ทักษะ: AI algorithm + Vision + Manipulation
เล่น OX กับมนุษย์ ระบบครบทั้ง 3 ส่วน
3 ส่วนหลัก:
- Vision: ใช้ ArUco markers ที่มุมกระดาน แปลงเป็น 3×3 grid ตรวจว่ามี X หรือ O ในช่องไหน
- AI: Minimax algorithm หรือ rule-based คำนวณช่องที่ดีที่สุดที่จะลง
- Manipulation: หุ่นหยิบหมาก O จากกอง วางในช่องที่เลือก
9. Bin Picking สุ่มหยิบของจากกล่อง
เวลา: 5 วัน · อุปกรณ์: AIKit ครบ + กล้อง 3D (จำเป็น!) · ทักษะ: 3D Point Cloud + Grasp planning
โปรเจกต์ industrial-grade หุ่นยกของจากกองที่กระจัดกระจาย โดยไม่ต้องเรียงให้
ใช้เทคนิคที่ Amazon/Alibaba ใช้ในคลังสินค้าจริง:
- กล้อง 3D สร้าง Depth Map ของกล่อง
- คำนวณ Surface Normal ของแต่ละจุด
- หาจุดที่ "ดี" สำหรับการจับ (พื้นผิวเรียบ + เข้าถึงได้)
- วางแผน trajectory ที่ไม่ชนของอื่น (ใช้ MoveIt)
- จับและยก วางในกล่องเป้า
10. Chess Bot เล่นหมากรุกได้
เวลา: 1 สัปดาห์ · อุปกรณ์: AIKit + กระดานหมากรุก + ตัวหมาก · ทักษะ: ทุกอย่างรวมกัน
โปรเจกต์ "Demo รวมทุกอย่าง" เป็นเป้าหมายสุดท้ายสำหรับ โครงงานจบของนักศึกษา
Architecture:
Tools:
python-chesslibrary จัดการกระดานหมากรุกstockfishengine คำนวณการเดิน (free!)- YOLOv8 ที่ fine-tune ด้วยภาพตัวหมากของคุณ (~200 ภาพ)
- Calibration กล้อง กระดาน หุ่น (ใช้ ArUco markers ที่มุม)