หุ่นยนต์สำรวจด้วย Arduino (ROBOT EXPLORER)
บทนำ
เทคโนโลยีในปัจจุบันมีความก้าวหน้ามากสามารถใช้เทคโนโลยีมาทำงานแทนคนได้หลายรูปแบบ ซึ่งการทำงานในส่วนของหน่วยกู้ภัยจากตึกถล่มมีความเสี่ยงสูงและลงพื้นที่ค้นหาได้ลำบาก ทำให้ใช้ระยะเวลาในการค้นหาสูงทำให้เสี่ยงอันตรายทั้งผู้คนหาและผู้ประสบภัย
ด้วยเหตุผลดังกล่าวทางกลุ่มจึงจัดทำหุ่นยนต์ค้นหาเพื่อช่วยลดความเสี่ยงที่จะเกิดขึ้น โดยการใช้กระบวนการตรวจจับระยะห่างโดยการเชื่อมต่อwifiจากตัวรถเข้ากับpcหรือsmartphones ซึ่งจะทำให้หน่วยกู้ภัยสามารถทำงานได้สะดวก, ปลอดภัยและรวดเร็วขึ้น
วัตถุประสงค์และเป้าหมาย
-เพื่อให้ความรู้เกี่ยวกับการใช้เทคโนโลยีให้เกิดประโยชน์
-ลดความเสี่ยงในการช่วยเหลือผู้ประสบภัย
-เพื่อเป็นแนวทางสำหรับผู้ที่ต้องการศึกษาหรือพัฒนาต่อยอด
-สามารถทำให้หุ่นยนต์สามารถแสดงภาพและระยะห่างบนsmart phone ได้
รายละเอียดการพัฒนา
1. ภาพประกอบ
2. ทฤษฎีหลักการและเทคนิคหรือเทคโนโลยีที่ใช้ คือ เทคโนโลยีด้านปัญญาประดิษฐ์ที่ใช้ arduino IDE ในการควบคุมคำสั่งการทำงานของหุ่น Arduino Mega 2560 คือบอร์ดไมโครคอนโทรลเลอร์ที่พัฒนาจาก ATmega2560 มี 54 digital input/output โดยมี 14 ขา สามารถใช้เป็น output แบบ PWM ได้ มี analog inputs 16 ขา มี UARTs(hardware serial ports) 4 ขา ทำงานที่ความถี่ 16 MHz สามารถเชื่อมต่อกับคอมพิวเตอร์ด้วยสายเคเบิล USB หรือใช้ adaptor AC-to-DC เพื่อเริ่มต้นใช้งาน และมีปุ่ม reset สามารถต่อเข้ากับ shields ที่ออกแบบเพื่อใช้งานกับ Arduino Duemilanove หรือ Diecimila.
3. เครื่องมือที่ใช้ในการพัฒนา Hardware
E18-D80NK Photoelectric Sensor Infrared
เป็นsensorแบบinfraredใช้ตรวจจับระยะทางด้วยหลักการของการสะท้อนแสงรinfraredที่ตกกระทบวัตถุ และสะท้อนแสงกลับ สามารถปรับย่านการตรวจจับได้ตั้งแต่ 6 cm – 80 cm ให้OUTPUT ออกมาเป็นแบบLogic TTL คือ
0 และ 1 (5v)
NODEMCU ESP8266
โมดูล ESP8266 มาพร้อมกับเฟิร์มแวร์ที่ทำงานในลักษณะเป็น Serial-to-WiFi ช่วยให้อุปกรณ์อื่นอย่างเช่น MCU สามารถต่อเข้ากับระบบอินเทอร์เน็ตผ่านระบบ Wi-Fi โดยสื่อสารผ่านพอร์ต Serial (ขา Tx และ Rx) และใช้ชุดคำสั่งแบบ AT ในการควบคุมการทำงาน ปัจจุบัน มีการพัฒนาเฟิร์มแวร์ที่มีชื่อว่า NodeMCU และจะช่วยในนักพัฒนาสามารถเขียนโค้ดโดยใช้ภาษา Lua เพื่อควบคุมการทำงานของโมดูล ESP8266 ได้ เช่น สามารถใช้งาน GPIO, I2C, SPI, PWM, One-Wire, ADC, Wi-Fi รวมถึงมีการพัฒนาไลบรารี่ (Libraries) เพิ่มมากขึ้นตามลำดับ ให้ใช้งานกับอุปกรณ์อื่นๆได้ เช่น DS18B20, DHT11, WS2812 RGB LED, OLED Display เป็นต้น (ดูตัวอย่างได้จาก NodeMCU API)
Motor Drive Shield (L293D)
อุปกรณ์ตัวนี้สามารถใช้กับบอร์ดทุกรุ่น แต่จะมีขนาดใกล้เคียงกับบอร์ดรุ่น UNO โดยสามารถใช้ชับ DC มอเตอร์ขนาดเล็กได้ 4 ตัว หรือประยุกต์ใช้กับ servo หรือ stepper motor โดยสามารถขับกระแสต่อเนื่องได้ไม่เกิน 600 mA สามารถรับแรงดันที่จ่ายให้กับมอเตอร์ได้ตั้งแต่ 4.5 ไปถึง 36 W
ไอซีที่ใช้เป็นหลักในการทำงานคือ L293D รุ่นนี้จะขับกระแสได้ “น้อยกว่า” รุ่น L298P เป็นไอซีที่ใช้ H-Bridgeเหมือนกัน แต่ข้อดีคือไอซีเป็นแบบ DIP ทำให้สามารถเปลี่ยนเองได้กรณีทำไอซีไหม้ มีหัว Terminal ให้ต่อเรียบร้อยพร้อมใช้งานได้ทันที
4. เครื่องมือที่ใช้ในการพัฒนาSoftware
5.แสดงการต่อวงจรของ Arduino และ Sensors
6. Flowchart ภาพรวมทั้งหมดของโครงงาน
Flowchart ของ Source Code
7. อ้างอิง
https://l.facebook.com/l.php?u=https%3A%2F%2Frobotsiam.blogspot.com%2F2017%2F09%2Fesp8266-nodemcu-v3.html%3Ffbclid%3DIwAR0zbWForgmz67qhTfmXL1Ub6GXkF3fW0K6aImCGw4_aUpav8ARAn-6ZOhY&h=AT1hX9b-veIyB1MnWWwFzKnJu9btyyBGGpN-QOLRDbAsufSYuoCJnLOWFlnHazlBbFGH-U6mx8rnaULytFEO6H8VNw9tPF6SUrYU8XueFOfZZSQ1vzAqTQCSNf8U-HLLqqt9aQ
8. ขอบเขตและข้อจำกัดของโปรแกรมที่พัฒนา
คือ เรื่องงบประมาณและเวลา เนื่องจากโครงการต้องนำเสนออาจารย์ที่ปรึกษาจึงทำให้ระยะเวลาและราคาในการสั่งอุปกรณ์บางชนิดไม่สามารถทำได้
9. กลุ่มผู้ใช้โปรแกรม พร้อมผลการประเมินจากผู้ใช้
อ้างอิงจากนักศึกษาม.กรุงเทพ
10. ปัญหาและอุปสรรค
เรื่องงบประมาณและเวลา เพราะ displayรุ่นov 7660 display 128*168 ของที่ไทยรับค่าของกล้องได้น้อยต้องใช้ของที่อิตาลีในการทำหุ่นยนต์ทำให้ตัวหุ่นยนต์ที่ประดิษฐ์ขึ้นไม่มีการแสดงผลแบบภาพ
11. แนวทางในการพัฒนาต่อในอนาคต สามารถประยุกต์ใช้ร่วมกับงานอื่น ๆ
สามารถใช้วัสดุอุปกรณ์ที่มีคุณภาพให้สามารถตัวหุ่นยนต์ที่ประสิทธิภาพมากขึ้นอีกทั้งยังสามารถพัฒนา Applicationให้มีความก้าวหน้ามากขึ้นกว่าเดิม
12. ข้อสรุปและข้อเสนอแนะ
สำหรับผู้ที่สนใจทำหุ่นยนต์ให้ลองศึกษาตามเว็ปไซส์ต่างๆหรือตามมหาลัยที่สนใจ
จัดทำโดย
นาย ณัฐวุฒิ โพธิ์ทอง
นาย นลทวัฒน์ นาสุขขา
นางสาว ญาณิศา ศรีงามดี
แหล่งที่มาอ้างอิง (Reference)
[1]. TURTLEBOT3 Burger
แหล่งที่เข้าถึง : https://inex.co.th/shop/turtlebot3-burger.html [ 18 ธันวาคม 2017 ]
[2] . Ubuntu (Linux)
แหล่งที่เข้าถึง : https://saixiii.com/linux-ubuntu [ 3 มิถุนายน 2016 ]
[3]. Flowchart
แหล่งที่เข้าถึง : https://www.draw.io [ 3 พฤษภาคม 2017 ]
[4] Nantonos. Arduino Mega2560 R3 pinouts photo. [Online].
แหล่งที่เข้าถึง : http://forum.arduino.cc/index.php?topic=125908.0 [6 ตุลาคม 2012]
[5] turtlebot3 emanual
แหล่งที่เข้าถึง : http://emanual.robotis.com/docs/en/platform/turtlebot3/overview
[ 7 พฤศจิกายน 2017 ]
คลิป youtube