หุ่นยนต์ 4WD มัลติฟังก์ชั่น Arduino UNO R3

ผมเคยทำโปรเจกต์ เรียนรู้บอร์ด Arduino เกี่ยวกับ IOT มาหลายอย่าง อาจจะทำสำเร็จบ้าง ไม่สำเร็จบ้างก็ทดลองทำไปเรื่อยแหละครับ อีกอย่างหนึ่งที่ผมสนใจก็คือหุ่นยนต์ เมื่อตอนเด็กๆก็มีของเล่นหลายประเภทอยู่เหมือนกัน เช่น รถบังคับวิทยุ โดรนบังคับ ที่คุณพ่อคุณแม่ซื้อให้ในโอกาสพิเศษ แต่ก็ไม่ค่อยได้ศึกษาถึงข้างในของมันว่ามันทำงานได้อย่างไร แล้วก็เว้นช่วงหายไปนานเพราะไปสนใจแต่คอมพิวเตอร์ Internet และ เกมส์เสียมากกว่าครับ
ผมเริ่มจะกลับมาให้ความสนใจอีกครั้งก็เมื่อเริ่มเข้าสู่ ม.4 เพราะต้องเลือกเรียนสายวิทย์ – คณิต เพื่อต่อในระดับปริญญาตรีได้ และที่สนใจเป็นพิเศษก็คือ คอมพิวเตอร์ และหุ่นยนต์นี่แหละครับ ผมเคยเห็นเขาฝึกใช้หุ่นยนต์ LEGO Mindstorms Ev3 ใน Internet เขาว่ามันช่วยเสริมทักษะในการเรียนรู้เรื่อง Robot Coding ไปจนถึง Robot & Automation อีกหลายๆด้านที่เกี่ยวกับหุ่นยนต์ได้ ด้วยข้อจำกัดหลายอย่างผมจึงไม่มีโอกาสได้เรียนรู้ในแบบนั้นครับ

แต่ในปัจจุบันนี้ (ปี 2022) ร้านค้า Online มีความน่าเชื่อถือกันมากขึ้น ทำให้ผมมีทางเลือกในการค้นหาสิ่งประดิษฐ์พวกชุดเรียนรู้ Robot & Automation ที่หลากหลายเพื่อนำมาศึกษาเรียนรู้ด้วยตัวเอง ด้วยงบประมาณที่ไม่มากจนเกินไปและผมก็ได้เจ้า ชุดเรียนรู้บอร์ด Arduino UNO R3 V2.0 รถหุ่นยนต์แขนกลอัจฉริยะรวมหลายฟังก์ชั่นในตัวเดียวนี้มาครับ (7-in-1 Multi-Function Robot Arm Smart Car) ชุดเรียนรู้บอร์ด Arduino UNO R3 V2.0 นี้ผมชอบ เพราะมีหลักในการเขียนชุดคำสั่ง Coding ผ่าน Arduino IDE ที่ผมเคยทำมาก่อนนั้นแล้ว จึงไม่ใช่ปัญหา อีกอย่างเขาก็มีบทเรียนให้เราได้ศึกษาและลงมือทำด้วยตัวเองได้

ทำไมถึงอยากทำโปรเจกต์นี้
* ช่วยเพิ่มทักษะแล้วก็ได้เรียนรู้ วิธีการประกอบหุ่นยนต์ กับอุปกรณ์จริง (เพราะผมยังไม่เคยทำ)
* ผมได้เรียนรู้ การทำงานของตัว Sensor ต่างๆ ของหุ่นยนต์ ที่รับเอาข้อมูลแล้วนำไปประมวลผลให้ทำตามคำสั่ง
* หุ่นยนต์นั้นสามารถตัดสินใจได้ เพราะการรับรู้จากตัว Sensor และการเขียนโปรแกรม
* ผมได้รู้วิธีการ Coding ลงใน Arduino UNO R3 ที่เป็นตัวประมวลผลข้อมูลของหุ่นยนต์ ด้วย Arduino IDE

ผมค้นหาข้อมูลใน Internet และพบว่าส่วนประกอบหลักของหุ่นยนต์นั้นมีด้วย 3 ส่วนหลักๆดังนี้ครับ
ส่วนของการควบคุม:
คือส่วนที่เป็นเทคโนโลยีเกี่ยวกับการออกแบบลักษณะของชิ้นส่วน ในการประกอบหุ่นยนต์ การควบคุมการเคลื่อนที่ของหุ่นยนต์ครับ
ส่วนของการรับรู้:
คือส่วนที่เป็นเทคโนโลยีของการรับรู้ข้อมูลของหุ่นยนต์ จากชุดอุปกรณ์เซ็นเซอร์ต่างๆ ตรวจสอบระยะใกล้ไกลของวัตถุ รวมทั้งเทคโนโลยี Computer Vision (ระบบคอมพิวเตอร์ที่ทำให้หุ่นยนต์ มองเห็นและสามารถเข้าใจภาพ หรือวิดีโอในรูปแบบเดียวกับที่ระบบการมองเห็นของมนุษย์) โดยข้อมูลที่ได้มานั้นจะนำมาประมวลผลและส่งคำสั่งต่อไปยังตัวขับเคลื่อนต่างๆ อีกต่อหนึ่ง
ส่วนของการเข้าใจ:
คือส่วนที่เป็นเทคโนโลยีที่ของการพัฒนาระบบการตัดสินใจของหุ่นยนต์ เมื่อหุ่นยนต์ได้รับข้อมูลจากตัวตรวจจับ โดยใช้หลักการทางด้านวิศวกรรมคอมพิวเตอร์ และเทคโนโลยีปัญญาประดิษฐ์ (AI) รวมทั้งการสอนให้ระบบคอมพิวเตอร์ทำการเรียนรู้ได้ด้วยตนเองโดยการใช้ ข้อมูล (Machine Learning: ML)

มาดูสรุปขั้นตอนที่เขาให้ทำตาม จากคู่มือรถหุ่นยนต์อัจฉริยะ มีขั้นตอนดังนี้ครับ
1. วิธีการติดตั้งโปรแกรม Arduino IDE (Integrated Development Environment) เพื่ออัพโหลดโปรแกรม
2. การควบคุม Servo ติดตั้งและปรับแต่งกลไก ให้ได้องศาเพื่อควบคุมตำแหน่ง
3. การทดสอบ ความเร็วของมอเตอร์และการควบคุมทิศทาง
4. การอัพโหลดโปรแกรม การตรวจติดตามเส้น ขาว-ดำ (Line Tracking Sensors)
5. การอัพโหลดโปรแกรม ป้องกันการตกจากที่สูง (Anti-Drop Sensors)
6. การอัพโหลดโปรแกรม หลบหลีกสิ่งกีดขวางด้วยอัลตราโซนิก (Ultrasonic Sensor)
7. การอัพโหลดโปรแกรม ติดตามวัตถุด้วย อัลตราโซนิก (Ultrasonic Sensor)
8. การอัพโหลดโปรแกรม ควบคุมรถหุ่นยนต์จากระยะไกลด้วย รีโมทอินฟราเรด (Infrared Remote )
9. การอัพโหลดโปรแกรม สามารถควบคุมรถหุ่นยนต์ได้ทั้งระบบ ด้วย Application จากมือถือ

LAFVIN 4WD Multi Robot Arm Smart Car Kit for Arduino UNO R3
รถหุ่นยนต์อัจฉริยะของ LAFVIN ชุดนี้ เป็นชุด Kit ที่ต้องนำมาประกอบเองครับ ส่งมาเป็นกล่อง ส่วนภายในก็แยกมาชิ้นๆตามภาพเลยครับ ดังนั้นผู้ที่สนใจที่จะสั่งซื้อมาประกอบควรมีความรู้พื้นฐานทาง Computer ด้วยจะดีมากครับ หรือไม่ก็มีที่ปรึกษาคอยให้ความรู้ ให้คำแนะนำในระหว่างที่ลงมือทำก็จะดีมากครับ เพราะบางขั้นตอนต้องอาศัยความรู้ทางด้านอิเล็กทรอนิกส์ร่วมด้วยครับ

ผมว่าเขาได้ออกแบบมาดีเหมาะกับผู้ที่อยากเรียนการเขียนโปรแกรม STEM (Science+Technology+Engineering+Mathematics) เพราะสามารถช่วยให้ผู้เริ่มต้นได้เรียนรู้ ได้รับประสบการณ์จริงจากการลงมือทำทั้งการประกอบกลไกของรถ ได้รู้วิธีติดตั้งเครื่องมือช่วย Arduino IDE อย่างเป็นขั้นตอน ได้ทดลองโปรแกรม หรือการแก้ไขหรือปรับแต่ง Coding ซึ่งเป็นภาษา C++ ลงในอุปกรณ์อิเล็กทรอนิกส์ (Arduino UNO R3) ผ่านทาง Arduino IDE เพราะทั้งหมดนี้ผมว่าเป็นหัวใจสำคัญสำหรับ ชุดเรียนรู้หุ่นยนต์ แขนกลตัวนี้เลยครับ

ขั้นตอนการประดิษฐ์ ให้ทำตามบทเรียน
1. วิธีการติดตั้งโปรแกรม Arduino IDE (Integrated Development Environment) เพื่ออัพโหลดโปรแกรม

– วิธีการติดตั้ง Arduino IDE
วิธีการติดตั้งไดรเวอร์ Arduino
วิธีเพิ่มไลบรารี
ทดสอบสถานะจากไฟกะพริบ (ทดสอบการทำงานของโปรแกรมครั้งแรก)

2. การควบคุม Servo ติดตั้งและปรับแต่งกลไก ให้ได้องศาเพื่อควบคุมตำแหน่ง
ในบทเรียนนี้เรียนรู้วิธีควบคุมการหมุนของข้อต่อ servo.each ของแขนหุ่นยนต์ ที่ถูกควบคุมโดย Servo

3. การทดสอบ ความเร็วของมอเตอร์และการควบคุมทิศทาง
ในบทเรียนนี้จะเรียนรู้วิธีการควบคุมทิศทางและการควบคุมความเร็ว Motor Driver ของรถหุ่นยนต์อัจฉริยะ

4. การอัพโหลดโปรแกรมให้รถหุ่นยนต์ทำงาน การตรวจติดตามเส้น ขาว-ดำ (Line Tracking Sensors)
ในบทเรียนนี้จะเรียนการทำงานของอินฟราเรด TCRT5000 ในการตรวจจับเส้นสีดำ และการทำงานร่วมกับมอเตอร์เพื่อควบคุมรถหุ่นยนต์ให้สามารถวิ่งไปตามเส้นได้

5. การอัพโหลดโปรแกรมให้รถหุ่นยนต์ทำงาน ป้องกันการตกจากที่สูง (Anti-Drop Sensors)

6. การอัพโหลดโปรแกรมให้รถหุ่นยนต์ทำงาน หลบหลีกสิ่งกีดขวางด้วยอัลตราโซนิก (Ultrasonic Sensor)

7. การอัพโหลดโปรแกรมให้รถหุ่นยนต์ทำงาน ติดตามวัตถุด้วย อัลตราโซนิก (Ultrasonic Sensor)

8. การอัพโหลดโปรแกรมให้รถหุ่นยนต์ทำงาน ควบคุมรถหุ่นยนต์จากระยะไกลด้วย รีโมทอินฟราเรด (Infrared Remote )

9. การอัพโหลดโปรแกรมให้รถหุ่นยนต์ทำงาน สามารถควบคุมรถหุ่นยนต์ได้ทั้งระบบ ด้วย Application จากมือถือ

หลังจากได้ประกอบเสร็จและได้ทดลองทำดู สิ่งที่ได้ประโยชน์จากหุ่นยนต์ตัวนี้พอจะบอกได้ว่า
เป็นผลิตภัณฑ์ที่ดีในการเรียนรู้หรือเสริมสร้างความรู้ด้านการเขียนโปรแกรมของด้วย Arduino UNO ซึ่งช่วยให้เราเข้าใจการทำงานของแต่ละโปรแกรมที่เราเขียนใส่ลงไปให้หุ่นยนต์ทำงาน ตามระบบคำสั่งที่เขียน อีกทั้งยังช่วยพัฒนา ความคิด ฝึกสายตาให้ช่างสังเกตุ ฝึกสมาธิเพราะการลงมือประกอบอย่างระมัดระวัง เพราะอุปกรณ์ค่อนข้างบอบบาง ทำให้ต้องใช้สมาธิประสานกันระหว่างมือและสายตาตลอดเวลา และช่วยพัฒนาทักษะการประกอบหุ่นยนต์ได้เป็นอย่างดี

ผมชอบที่มันมีโหมดการทำงานให้เราได้เรียนรู้หลายอย่าง แยกออกเป็นแต่ละส่วนๆตาม Module ที่เขามีมาให้ ทำให้เราได้ทดลอง ศึกษาเรียนรู้การทำงานของโปรแกรมคำสั่ง (Coding) ที่เขาให้มาและเราสามารถแก้ไข ปรับแต่งได้หากเราเข้าใจการทำงานของ Coding เหล่านั้นครับ

นอกจากนี้ ยังมีชุดคำสั่งที่รวมทุกอย่างเอาไว้ด้วยกัน โดยการควบคุมผ่าน App ที่ให้มา นามสกุล .apk (apk นั้นหมายถึง android package kit หรืออาจเรียกว่า android application package) และไม่มี Google Play Store เวลาเราติดตั้งมันจะฟ้องให้เราอนุญาตก่อนเสมอ และจากที่ได้ทดลองดูก็ถือว่าดีมากเลยครับ

ผมใช้เวลานานเหมือนกันในการประกอบรถหุ่นยนต์ตัวนี้ เพราะทำในช่วงเวลาที่ว่าง ค่อยๆทำทีละขั้นตอนครับ ทำหลายๆครั้งก็จะเกิดความเข้าใจได้เอง ถือว่าไม่ยากครับ ต้องใช้สมาธิ และช่างสังเกตุมากกว่าปกตินิดหนึ่ง เขามีคลิปวีดีโอแบบภาพกราฟฟิก พร้อมขั้นตอนต่างๆมาให้ค่อนข้างจะครบครับ แต่ต้องระวังเรื่องน๊อต สกรู บางตัวให้ดีเพราะมันเล็กมาก ถ้าหายไปคงหาซื้อลำบาก มีไขควง มีประแจขันมาให้ครบ ส่วนเรื่องการลงโปรแกรมเขาก็จะสอนเป็นแบบไฟล์ pdf (ภาษาอังกฤษ) ต้องมาแปลเอาและทำตาม เขามีทฤษฎีอธิบายเป็นหลักการมาให้ด้วย แต่ไม่ค่อยละเอียด ต้องมาค้นหาอ่านเพิ่มเติมจากใน Internet จะทำให้เข้าใจการทำงานของอุปกรณ์แต่ละตัวได้ดีขึ้น อาจจะยากนิดหนึ่งสำหรับบางคนที่ไม่เคยทำ ในส่วนของการลงโปรแกรม Coding ต่างๆ ส่วนตัวผมเคยทำ IOT มาก่อนแล้ว จึงไม่มีปัญหาอะไรในการติดตั้งครับ ถ้าใครสนใจผมจะแปะ Link ไว้ท้ายบทความนี้นะครับ

สรุปส่งท้าย ถามว่าได้อะไรจากการทำโปรเจกต์นี้บ้าง เอาไปใช้ทำอะไรได้บ้าง
ขอตอบว่า ผมได้ความรู้เยอะมาก ไม่ใช่เพราะผมประกอบมันได้ ลงโปรแกรมได้ แต่ที่ได้มากกว่านั้นคือความรู้ ความเข้าใจเกี่ยวกับรถหุ่นยนต์ที่ผมต้องค้นหาใน Internet เพื่อมาตอบข้อสงสัยในขณะที่ผมได้ลงมือทำอยู่และเกิดปัญหาขึ้น เพราะผมไม่มีคนที่จะคอยให้คำปรึกษา บางหัวข้อผมก็ต้องใช้เวลานาน บางครั้งต้องพักเอาไว้ก่อน พอหาคำตอบได้ก็จะรีบมาทำต่อ และเมื่อทำมันได้สำเร็จ มันคือความภาคภูมิใจ ในสิ่งที่ตัวเองทำได้ครับ

แล้วจะเอาไปทำอะไรต่อได้ ผมมีความคิดว่า ส่วนของการควบคุมระบบของรถหุ่นยนต์ มันน่าจะพัฒนาต่อได้อีก เช่น เอาไปควบคุมทำรถตัดหญ้า หรืออะไรทำนองนั้นเพราะผมคิดว่าหลักการมันก็ไม่น่าจะแตกต่างกันมาก เพียงแต่ขนาดของมอเตอร์น่าจะใหญ่มากยิ่งขึ้น การควบคุมก็ย่อมซับซ้อนมากขึ้นตาม แต่คิดว่าน่าเป็นโปรเจกต์ในอนาคตครับ

Link1: LAFVIN Mechanical 4WD Robot Arm Car Kit for Arduino Robot Car Robot Arm
Link2: LAFVIN Mechanical 4WD Robot Arm Car Kit for Arduino Robot Car Robot Arm
Link: เครื่องชาร์จถ่าน LiitoKala Lii-600 รองรับ Li-ion 3.7V NiMH 1.2V 18650
Link: ถ่านชาร์จ Vapcell 18650 ทอง K30 3000mAh 15A /30A