กลับไปหน้ารวมไฟล์
mkr1000-wifi-robot-66ad1a.md

จุดประสงค์ของโปรเจกต์นี้

โปรเจกต์นี้พี่จะโชว์ให้ดูว่าเราจะเอา MKR2UNO Adapter มาเล่นคู่กับ MKR1000 และ [Arduino](https://s.shopee.co.th/7fUgFAWSki) Motor Shield ได้ยังไง งานนี้เราจะรวมพลัง Web Server ของบอร์ด MKR1000 เข้ากับความสามารถของ Motor Shield เพื่อคุมความเร็วและทิศทางของ DC Motor สองตัว จนกลายเป็นหุ่นยนต์จิ๋วที่สั่งงานผ่าน WiFi ได้แบบหล่อเท่เลยน้อง

ไฟล์สำหรับ Laser Cutter

ตัวโครงหุ่นยนต์พี่ใช้ไฟล์จากเครื่องตัดเลเซอร์ โหลดไปตัดตามแบบได้เลย! ส่วนมอเตอร์จะใช้สกรูขันหรือหยอดกาวติดเอาที่สบายใจเลยวัยรุ่น

ถึงฐานไม้จะประกอบง่ายแบบสุดๆ แต่พี่สรุปขั้นตอนการประกอบมาให้ตามนี้:

  • ขันน็อตหรือหยอดกาวติดมอเตอร์สองตัวเข้ากับแผ่นข้าง
  • ใช้กาวร้อนยึดแผ่นข้างทั้งสองด้านเข้ากับแผ่นฐานกลาง
  • เอาลูกแก้ว (Glass ball) ใส่ลงในรูวงกลมแล้วยึดมันไว้ด้วยชิ้นส่วนที่สอง
  • ติดตัวรองรับลูกแก้วเข้ากับฐานกลาง
  • ติดตัวกั้นบอร์ด (Board stops) เข้ากับฐานกลางด้วยล่ะ อันนี้สำคัญนะ บอร์ดจะได้ไม่ไหลไปมาเวลาวิ่ง
  • ติดแผ่นบนปิดท้ายเพื่อให้โครงสร้างมันแข็งแรง (Solid)
  • เอาล้อยางใส่เข้ากับเฟืองมอเตอร์ จะหยอดกาวช่วยนิดนึงก็ได้ ล้อจะได้ไม่หลุดเวลาซิ่ง

การเชื่อมต่อ (Connections)

การต่อสายบอกเลยว่าพื้นฐานมาก ดูตามรูป Fritzing ได้เลย แต่ถ้าต่อเสร็จแล้วมอเตอร์หมุนผิดทิศ (แบบว่ากดสั่งในหน้าเว็บแล้วมันวิ่งไม่ตรงตามใจ) ก็แค่สลับสายมอเตอร์ตัวที่งอแงนั่นแหละ จบงาน!

หน้าจอสั่งงาน (Web interface)

หน้าเว็บคุมหุ่นตัวนี้พี่เขียน Code ฝังไว้ใน MKR1000 เลย ออกแบบมาง่ายๆ ให้เราเลือกกดได้ว่าจะให้หุ่นไปทาง UP (ขึ้น), DOWN (ลง), LEFT (ซ้าย) หรือ RIGHT (ขวา) ตามรูปด้านล่างนี้เลยน้อง

จะเข้าหน้าเว็บยังไง?

เพื่อให้เข้าหน้าเว็บได้ง่ายๆ พี่ใช้ระบบ MDNS ของ MKR1000 เข้าช่วย พอเราต่อบอร์ดเข้ากับ WiFi วงเดียวกันแล้ว ก็แค่พิมพ์ WiFiRobot.local ลงใน Browser เท่านี้ก็เรียบร้อย! พร้อมซิ่งหุ่นยนต์ WiFi ของเราแล้ว

รายละเอียดเทคนิคเพิ่มเติม

แพลตฟอร์มหุ่นยนต์ IoT

หุ่นยนต์ตัวนี้ดึงพลังของ Arduino MKR1000 มาใช้ ซึ่งข้างในมี Microcontroller เบอร์ SAMD21 และชิปความปลอดภัย ECC508 สำหรับการเชื่อมต่อ WiFi ที่เสถียร

  • ศูนย์กลางการควบคุมไร้สาย: ตัวหุ่นสามารถเป็น Local Web Server ในตัว หรือจะเชื่อมต่อกับ Dashboard บน Cloud ก็ได้ คุมการเคลื่อนที่ (เดินหน้า, ถอยหลัง, เลี้ยว) ผ่าน Browser ตัวไหนก็ได้ที่อยู่ใน Network เดียวกัน
  • สถาปัตยกรรมมอเตอร์: ขับมอเตอร์ผ่าน L293D หรือ L298N Motor Driver ทำให้เราคุมความเร็วแบบ PWM ได้ (0-255) มั่นใจได้เลยว่าหุ่นเราจะเร่งเครื่องและเลี้ยวได้นิ่งๆ แน่นอน

ระบบเซนเซอร์ฝังตัว

  • การตรวจจับสิ่งกีดขวาง: พี่แนะนำให้ติด Sensor Ultrasonic รุ่น HC-SR04 เพิ่มเข้าไปเพื่อกันชน ถ้าเจออะไรขวางหน้าในระยะ 15cm เราก็เขียน Code สั่ง Override ให้หุ่นหยุดหรือถอยหลังอัตโนมัติได้เลย ห้ามช็อตนะตัวนี้!
  • การจัดการพลังงาน: ใช้แบตเตอรี่ Li-Po ความจุสูงได้เลย เพราะบอร์ด MKR1000 มีวงจรชาร์จแบตมาให้ในตัวอยู่แล้ว ทำให้งานเราคอมแพคและดูโปรขึ้นเยอะ!

ข้อมูล Frontmatter ดั้งเดิม

title: "MKR1000 WiFi Robot"
description: "This project consists of a small robot controlled via WiFi using an Arduino MKR1000, MKR2UNO Shield Adapter and Arduino Motor Shield!"
author: "Arduino_Genuino"
category: "Internet of Things, BT & Wireless"
tags:
  - "wifi"
  - "robot"
  - "robotics"
views: 57254
likes: 38
price: 2450
difficulty: "Intermediate"
components:
  - "2x Small DC Motor"
  - "1x Battery snap"
  - "1x Laser cutter (generic)"
  - "1x Arduino MKR2UNO Adapter"
  - "1x 9V battery (generic)"
  - "1x Arduino MKR1000"
  - "1x Arduino MotorShield Rev3"
tools: []
apps:
  - "1x Arduino IDE"
  - "1x Arduino Web Editor"
downloadableFiles:
  - "https://create.arduino.cc/editor/Arduino_Genuino/3966efb5-748b-45fc-936f-b1075ffaa18c/preview"
  - "https://create.arduino.cc/editor/Arduino_Genuino/3966efb5-748b-45fc-936f-b1075ffaa18c/preview"
documentationLinks: []
passwordHash: "7282080267a8cf3dd381916109665133db25462218460867cb93e1c5d01028b8"
encryptedPayload: "U2FsdGVkX1/z07OXSAG+FzNzlA5RrOQ+2qJGjojoRgmuUpNi67TSTdqCoMKp5kU8kAzF48TRiwOzPPOqbwWMaxyOREpxE1q2vEmO7advnKHO8EJDeAhQ/O286crUYhaV"
seoDescription: "Build a small robot controlled via WiFi using Arduino MKR1000, MKR2UNO Shield Adapter, and Arduino Motor Shield."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/mkr1000-wifi-robot-66ad1a_cover.jpg"
lang: "th"