mBot Neo หรือ mBot2 เป็นหุ่นยนต์เพื่อการศึกษาที่ออกแบบมาเป็น Generation 2 จากหุ่นยนต์ mbot1 รุ่นที่ผ่านมาของบริษัท MakeBlock และที่ผ่านมาได้เคยรีวิวชุดหุ่นยนต์ Ultimate 2.0, mBot Neo มาพร้อมกับบอร์ดควบคุม Cyberpi ด้วยการเพิ่มความสามารถในการเชื่อมต่อ WiFi สามารถต่อยอดเทคโนโลยีด้าน IoT และรวมถึง AI ได้ มีเซ็นเซอร์ Ultrasonic รุ่น 2 ที่มีความแม่นยำในการตรวจจับวัตถุที่ดีขึ้นและมีไฟแสดงสถานะ มีเซ็นเซอร์จับเส้นแบบ RGB แบบ 4 ch ที่สามารถตรวจจับสีได้ในตัว มีมอเตอร์ขับเคลื่อนรุ่นใหม่ที่มาพร้อมกับ Encoder เพื่อการควบคุมการเคลื่อนไหวได้แบบแม่นยำมากขึ้น อีกทั้งชุดหุ่นยนต์ mBot Neo สามารถใช้งานร่วมกับชิ้นส่วนโลหะของ Makeblock รุ่นอื่นๆได้ สามารถเพิ่มเติมโมดูล mBuild และโมดูลอิเล็กทรอนิกส์ต่างๆ ได้ อีกทั้งยังสามารถต่อยอดชิ้นส่วนโครงสร้างต่างๆของบริษัทอื่นได้อีกด้วย โดยชุดหุ่นยนต์ mBot Neo สามารถเรียนรู้ได้ตั้งแต่ระดับประถม ไปจนถึงระดับมัธยมศึกษาตอนปลาย ด้วยการเขียนโปรแกรมแบบ Block-Base Programming แบบลากวาง ไปจนถึงการเขียนโปรแกรมระดับสูงคือภาษา Python
รายละเอียดของหุ่นยนต์ Makeblock mBot Neo
หุ่นยนต์ mBot Neo ทำจากโครงสร้างโลหะอลูมิเนียมชุบสีฟ้าด้วยอโนไดซ์ มีสีสันสวยงาม แข็งแรง ทนทานต่อการใช้งาน
บอร์ดควบคุมหลัก CyberPi
เป็นบอร์ดควบคุมหลักที่พัฒนาโดย Makeblock ด้วยโครงสร้างที่กะทัดรัด ใช้ไมโครคอนโทรลเลอร์ ESP32 ที่สามารถเชื่อมต่อสัญญาณแบบไร้สายได้ มีจอแสดงผลแบบสีขนาด 1.44 นิ้ว มีเซนเซอร์วัดความเอียงในตัว มีการแสดงผลไฟ LED แบบ RGB ที่สามารถเปลี่ยนสีได้ถึง 16 ล้านสี มีลำโพงแบบ Buzzer Passive ที่สามารถสร้างความถี่ในการเล่นเสียงได้ มีเซนเซอร์วัดแสงอยู่ภายในตัว มีไมโครโฟนที่เอาไว้รับค่าเสียงจากการพูดหรือจังหวะต่างๆได้ มีจอยสติ๊กแบบโยกที่เป็นรูปแบบของ Analog มีปุ่มกด AB เอาไว้ในการเลือกโปรแกรมและยกเลิกต่างๆ มีปุ่ม Home เอาไว้เลือกโปรแกรมต่างๆของ CyberOS มีพอร์ต USB แบบ Type-C ที่สามารถจ่ายกระแสไฟฟ้าจากคอมพิวเตอร์หรือแหล่งจ่ายไฟ 5V และสามารถอัพโหลดโปรแกรมได้จากพอร์ต USB อีกด้วย
บอร์ดขยาย mBot Neo Shield
มีการติดตั้งแบตเตอรี่ลิเธียมไอออนแบบชาร์จไฟได้ในตัว ซึ่งสามารถจ่ายพลังงานให้กับ CyberPi ได้ มีพอร์ตมัลติฟังก์ชั่น 2 ช่องสามารถเชื่อมต่อเซอร์โวและมอเตอร์กระแสตรงได้ในช่องนี้ มีช่องต่อเซอร์โวเพิ่มอีก 2 ช่อง มีช่องต่อมอเตอร์กระแสตรงเพิ่มอีก 2 ช่อง มีช่องต่อมอเตอร์แบบ Encoder 2 ช่อง มีช่องต่อกับ CyberPi 1 ช่อง ที่จะได้เชื่อมต่อกับ mBot Neo ได้เพียงวางลงไป รวมถึงมีไลบารี่รองรับการเขียนด้วยภาษา Block-Base และ ภาษา Pyhton
Quad RGB Sensor
เซ็นเซอร์ Quad RGB มีเซนเซอร์วัดแสงจำนวน 4 ตัว ระยะในการตรวจจับ 5 – 15 มม. มี LED เพื่อลดแสงที่จะมารบกวนจากภายนอกกับเซนเซอร์ นอกจากนี้ยังมีฟังก์ชั่นในการจดจำค่าสีในเวลาใช้งานอีกด้วย
มีโหมดการวัดค่าแสงแบบ Auto สามารถ Calibrate เพื่อเปรียบเทียบค่าสี 2 สี โดยกดปุ่มที่อยู่บริเวณตรงกลางของเซนเซอร์ 2 ครั้ง ไฟที่เซนเซอร์จะกระพริบเร็วๆ จากนั้นให้เลื่อนเซนเซอร์ไปมาทั้ง 2 สีจนกว่าไฟ LED จะดับลงใช้เวลาประมาณ 2.5 วินาที เซนเซอร์จะจำค่าสีทั้ง 2 สีแบบอัตโนมัติ
Ultrasonic Sensor 2
เซนเซอร์อัลตราโซนิครุ่นที่ 2 ของบริษัท makeblock ได้รับการปรับปรุงในการเพิ่มศักยภาพในการตนวจจับที่ดีขึ้น มีเคสครอบเพื่อความสวยงาม มีไฟ LED สีน้ำเงิน สามารถใช้เพื่อตรวจจับระยะห่างของวัตถุได้
โดยฝั่งซ้ายของเซนเซอร์จะเป็นตัวส่งคลื่นอัลตราโซนิค และฝั่งขวาจะเป็นตัวรับคลื่นอัลตราโซนิค เมื่อกระทบกับวัตถุก็จะทราบถึงระยะทาง จะมีความผิดพลาดของค่าเอาต์พุตอยู่ที่ +- 5%
Encoder Motor
มอเตอร์กระแสตรงมี Encoder แบบ Optical สามารถนับรอบในการเคลื่อนที่ของมอเตอร์ได้ สามารถปรับความเร็วรอบต่อนาทีได้ โดยมีความเร็วสูงสุด 180 รอบต่อนาที ทำให้การควบคุมมอเตอร์ของหุ่นยนต์ mBot Neo เป็นไปได้อย่างแม่นยำ ในการยึดกับโครงสร้างมีรูเกลียวแบบ M4 จำนวน 2 รู ในแต่ละด้าน ทำให้สามารถเชื่อมต่อกับชิ้นส่วนกลไกของ Makeblock ได้อย่างง่ายดาย
ข้อมูลจำเพาะ
- อัตราทดเกียร์ : 39.6
- แรงดันไฟฟ้า : 7.4 โวลต์
- กระแสไฟขณะไม่มีโหลด : 240 mA
- กระแสไฟขณะมีโหลด : ≤750 mA
- ความเร็วรอบขณะเดินเครื่องเปล่า : 350 ± 5% (รอบต่อนาที)
- ความเร็วต้นกำลัง : 14,000 ± 5% (รอบต่อนาที)
- แรงบิดเริ่มต้น : 5 g·cm
- แรงบิดสูงสุด : 800 g·cm
- ความยาวของเพลา : 9 มม
- กำลังไฟฟ้า: 3.7 วัตต์
- การหมุนของ Encoder : 360°
คุณสมบัติของหุ่นยนต์ Makeblock mBot Neo
- Control board: CyberPi
- Processor: ESP32-WROVER-BSPI
- Flash memory: 8MB
- Store 8 programs simultaneously
- Support multi-threading
- Comes with 1 x 18650 Li-ion Rechargeable battery (pre-soldered on the mainboard)
- Wireless communication:
- Bluetooth
- Wi-Fi and Wi-Fi LAN
- Inputs and onboard sensors
- 5-way joystick
- Button x2
- Reset button
- Light sensor
- Microphone
- Gyroscope-accelerometer
- Outputs
- 1.44″ full-color display
- Speaker
- RGB LED x5
- Expandable electronic modules
- mBuild port x1
- connect 10+ components in series
- Additional interfaces
- 2-pin interface x2
- 3-pin interface x4
รายการอุปกรณ์ที่มาในชุดของหุ่นยนต์ mBot Neo
- CyberPi x 1
- mBot Neo Shield x 1
- USBCable(type-C) x 1
- Ultrasonic Sensor2 x 1
- Chassis x 1
- QuadRGBSensor x 1
- EncoderMotor x 2
- Motor Cable x 2
- WheelHub x 2
- M2.5*12mmScrew x 4
- SlickTyre x 2
- MiniWheel x 1
- Screwdriver x 1
- Line-following Track Map x 1
- mBuild Cable (10cm) x 2
- mBuild Cable (20cm) x 1
- M4*25mm Screw x 6
- M4*14mmScrew x 6
- M4*8mmScrew x 6
โปรแกรมที่ใช้พัฒนาหุ่นยนต์ Makeblock mBot Neo
mBlock 5 Editor เป็นแพลตฟอร์มการเขียนโค้ดที่พัฒนาโดยใช้ Scratch 3.0 ได้รับการออกแบบมาเป็นพิเศษสำหรับวิทยาการหุ่นยนต์, STEAM และการเรียนรู้การเขียนโค้ด รองรับภาษาแบบ Block และภาษา Python ทำให้ mBlock 5 ช่วยให้ผู้เรียนสามารถสร้างเกมและแอนิเมชั่นได้อย่างอิสระ อีกทั้งยังสามารถเขียนโปรแกรมหุ่นยนต์ ของบริษัท Makeblock และฮาร์ดแวร์โอเพ่นซอร์สได้มากขึ้น ซอฟต์แวร์นี้มีเทคโนโลยีมีมากมาย เช่น AI และ IoT ทำให้เป็นซอฟต์แวร์การเขียนโค้ดที่สมบูรณ์แบบสำหรับนักการศึกษา นักเรียน ผู้สร้าง และเด็กๆ
ภาษา Scratch เป็นเครื่องมือการเขียนโปรแกรมที่ MIT พัฒนาขึ้นมาและได้รับการยกย่องว่าเป็นภาษาการเขียนโปรแกรมที่นิยมระดับโลกมากที่สุดสำหรับเด็ก นอกจากนี้ mBlock 5 ยังมีฟีเจอร์ต่างๆ เช่น การเขียนโปรแกรมด้วย Python, AI และ IoT และอีกมากมาย
การเขียนโปรแกรมให้กับหุ่นยนต์ mBot Neo โดยใช้ mBlock5 Editor
การเชื่อมต่อหุ่นยนต์ mBot Neo กับคอมพิวเตอร์ สามารถใช้สาย Type-C เสียบจากช่อง USB ที่อยู่บริเวณข้างขวาของ CyperPi
การเพิ่ม Device โดยเลือกที่ “add” จากนั้นเลือกที่ “CyberPi” และ “mBot2”
จากนั้นจะมีชุดคำสั่งของหุ่นยนต์ mBot Neo เพิ่มเข้ามา
การเชื่อมต่อกับหุ่นยนต์ mBot Neo โดยคลิ๊กที่ “Connect” จากนั้นจะมีหน้าต่างขึ้นมาให้เลือก Port จากนั้นคลิ๊กที่ “Connect”
หากขึ้นคำว่า “Connected” แสดงว่าเชื่อมต่อสำเร็จแล้ว
ทดสอบการเขียนโปรแกรมแสดงผลออกทางหน้าจอ ของ Makeblock mBot Neo
ในการทดสอบเราได้เขียนโปรแกรมแสดงข้อความออกทางหน้าจอเป็นคำว่า “CNX Software” โดยมีการเล่นสีต่างๆด้วย
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 |
import event, time, cyberpi @event.start def on_start(): cyberpi.display.set_brush(255, 0, 135) cyberpi.display.show_label("C", 32, int(30), int(30), index = 0) cyberpi.display.set_brush(0, 182, 255) cyberpi.display.show_label("N", 32, int(51), int(30), index = 1) cyberpi.display.set_brush(76, 255, 0) cyberpi.display.show_label("X", 32, int(71), int(30), index = 2) cyberpi.display.set_brush(255, 208, 0) cyberpi.display.show_label("Software", 24, int(7), int(60), index = 3) |
ทดสอบการเขียนโปรแกรมแสดงไฟ RGB
ในการทดสอบเราได้เขียนโปรแกรมแสดงไฟ LED แบบ RGB โดยแยกตำแหน่งสีของ LED แต่ละดวง
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import event, time, cyberpi @event.is_press('middle') def is_joy_press(): cyberpi.led.set_bri(30) while True: cyberpi.led.on(255, 0, 0, 1) time.sleep(1) cyberpi.led.on(0, 0, 0, 1) cyberpi.led.on(255, 187, 0, 2) time.sleep(1) cyberpi.led.on(0, 0, 0, 2) cyberpi.led.on(16, 255, 0, 3) time.sleep(1) cyberpi.led.on(0, 0, 0, 3) cyberpi.led.on(76, 0, 255, 4) time.sleep(1) cyberpi.led.on(0, 0, 0, 4) cyberpi.led.on(255, 0, 208, 5) time.sleep(1) cyberpi.led.on(0, 0, 0, 5) cyberpi.led.on(255, 0, 0, "all") time.sleep(1) cyberpi.led.on(0, 0, 0, "all") cyberpi.led.on(255, 187, 0, "all") time.sleep(1) cyberpi.led.on(0, 0, 0, "all") cyberpi.led.on(42, 255, 0, "all") time.sleep(1) cyberpi.led.on(0, 0, 0, "all") cyberpi.led.on(0, 242, 255, "all") time.sleep(1) cyberpi.led.on(0, 0, 0, "all") cyberpi.led.on(255, 0, 246, "all") time.sleep(1) cyberpi.led.on(0, 0, 0, "all") |
การเขียนโปรแกรมเล่นเสียงเพลง
ในการทดสอบเราได้เขียนโปรแกรมเล่นเสียงเพลงมีทั้งแบบกำหนดความถี่ เล่นเสียงเอฟเฟคและเล่นเสียงพูดในโปรแกรม mBlock5
โปรแกรมตัวอย่างภาษาBlock-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import event, time, cyberpi @event.is_press('middle') def is_joy_press(): cyberpi.audio.set_vol(30) cyberpi.audio.play_until('hi') cyberpi.audio.play_drum('snare', 0.25) for count in range(2): cyberpi.audio.play_music(62, 0.25) cyberpi.audio.play_music(63, 0.25) for count2 in range(2): cyberpi.audio.play_tone(700, 0.5) cyberpi.audio.play_tone(600, 0.5) cyberpi.audio.play_drum('bass-drum', 0.25) cyberpi.audio.play_drum('side-stick', 0.25) cyberpi.audio.play_until('running-water') cyberpi.audio.play_until('bye') |
การเขียนโปรแกรมสั่งการมอเตอร์
การเคลื่อนที่หุ่นยนต์ mBot2 แบบนับรอบ (Encoder) และ การเลี้ยวแบบองศาโดยใช้เซนเซอร์ (Accelerometer) ให้เคลื่อนที่แบบขั้นตอน (Sequence)
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import event, time, cyberpi, mbot2 @event.is_press('middle') def is_joy_press(): mbot2.forward(100) mbot2.straight(100) mbot2.turn_left(50) mbot2.turn(-90) mbot2.forward(80) mbot2.straight(120) mbot2.backward(50) mbot2.straight(-50) mbot2.turn_right(50) mbot2.turn(90) mbot2.forward(70) mbot2.straight(50) |
การเคลื่อนที่หุ่นยนต์ mBot2 แบบนับเวลา (Times)
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import event, time, cyberpi, mbot2 @event.is_press('middle') def is_joy_press(): mbot2.forward(100, 1) mbot2.turn_right(100, 0.5) mbot2.forward(100, 1) mbot2.turn_left(100, 0.5) mbot2.forward(100, 1) mbot2.turn_right(100, 0.5) mbot2.backward(100, 1) mbot2.turn_right(100, 0.5) mbot2.backward(100, 1) mbot2.turn_right(100, 0.5) |
การเขียนโปรแกรมหลบหลีกสิ่งกีดขวางของ Makeblock mBot Neo
ในการทดสอบเราได้เขียนโปรแกรมใช้เซนเซอร์ Ultrasonic ในการตรวจจับสิ่งกีดขวางโดยกำหนดให้ถ้าตรวจจับวัตถุน้อยกว่า 10 เซนติเมตรให้เลี้ยวซ้าย 90 องศา หากไม่ตรวจพบวัตถุให้วิ่งเดินหน้าด้วยความเร็ว 50 รอบต่อนาที
ปล.สามารถดูโปรแกรมตัวอย่างหลบหลีกสิ่งกีดขวางเพิ่มเติมได้ใน Example Programs ใน mBlock 5
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import event, time, cyberpi, mbuild, mbot2 @event.is_press('middle') def is_joy_press(): while True: if mbuild.ultrasonic2.get(1) < 10: cyberpi.display.set_brush(0, 191, 255) cyberpi.display.show_label("Detected !", 16, "center", index= 0) mbot2.turn(-90) else: cyberpi.display.set_brush(255, 0, 0) cyberpi.display.show_label("No Detected !", 16, "center", index= 1) mbot2.forward(50) |
การเขียนโปรแกรมเดินตามเส้น
ในการทดสอบเราได้เขียนโปรแกรมเดินตามเส้นแบบใช้สมการ PID โดยกำหนดสถานะของเซนเซอร์ให้เจอเส้นในกรณีต่างๆ
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import event, time, cyberpi, mbot2, mbuild import time # initialize variables base_power = 0 kp = 0 left_power = 0 right_power = 0 @event.is_press('a') def is_btn_press(): global base_power, kp, left_power, right_power cyberpi.stop_other() mbot2.drive_power(0, 0) @event.is_press('b') def is_btn_press1(): global base_power, kp, left_power, right_power cyberpi.stop_other() base_power = 30 kp = 0.8 while True: left_power = (base_power - kp * mbuild.quad_rgb_sensor.get_offset_track(1)) # As a "deviation quantity", line offset position can be used for deviation correction of automatic line-following tasks. It is the "P" in what we call PID control. # # I and D involve integral and differential knowledge, and have high requirements for mathematics, programming and hardware efficiency, which will not be expanded here. right_power = -1 * ((base_power + kp * mbuild.quad_rgb_sensor.get_offset_track(1))) mbot2.drive_power(left_power, right_power) @event.is_press('middle') def is_joy_press(): global base_power, kp, left_power, right_power cyberpi.stop_other() while True: cyberpi.console.println(mbuild.quad_rgb_sensor.get_red("R2",1)) time.sleep(0.1) |
เล่นหุ่นยนต์ Makeblock mBot Neo ผ่าน Makeblock Application
สามารถดาวน์โหลดและติดตั้ง Application Makeblock ได้ทั้งระบบปฎิบัติการ IOS และ Android
เข้าสู่ Application Makeblock เลือกหัวข้อ “Device” จากนั้นเลือกหุ่นยนต์ mBot2/mBot Neo
การ Connect กับหุ่นยนต์ mBot2 ทำการเปิดสวิตซ์หุ่นยนต์ mBot2 จากนั้น เข้าไปที่สัญลักษณ์ Bluetooth ให้เลือก device ที่ขึ้นมา
ระบบจะทำการ Connect ให้แบบอัตโนมัติ
เชื่อมต่อสำเร็จแล้ว
เมนู Play เป็นการเล่นหุ่นยนต์ผ่าน Application ในรูปแบบต่างๆ รวมถึงการควบคุมหุ่นยนต์โดยไม่ต้องเขียนโค้ดแม้แต่ตัวเดียว
เมนู Play จะมีโหมดการเล่นอยู่ทั้งหมด 4 แบบ
โหมดที่ 1 : Drive เป็นการควบคุมหุ่นยนต์คล้ายๆ จอยสติ๊กมีปุ่มการเปลี่ยนสีไฟ RGB และปุ่ม่ลูกเล่นต่างๆ ไม่ว่าจะเป็นเล่นเสียง หรือ การเคลื่อนที่แบบรวดเร็ว
โหมดที่ 2 : Draw and Run เป็นการควบคุมหุ่นยนต์โดยเราวาดรูปอะไรก็ได้แล้วกด Run หุ่นยนต์จะวิ่งไปตามที่เราวาดบน Application
โหมดที่ 3 : Musician เป็นการแสดงเสียงเพลงคล้ายการเล่นเปียโนที่จะเล่นคีย์โน้ตต่างๆ หรือจะเล่นเพลงที่มีให้ 4 เพลงเช่น Happy Birth Day ก็ได้เช่นกัน
โหมดที่ 4 : Voice Control หุ่นยนต์ทำตามคำสั่งเสียงต้องพูดเป็นภาษาอังกฤษเท่านั้นมีคำสั่งเสียงดังนี้
- Go Forward (หุ่นยนต์เคลื่อนที่ข้างหน้า)
- Go Backward (หุ่นยนต์เคลื่อนถอยหลัง)
- Turn Left (หุ่นยนต์เลี้ยวซ้าย)
- Turn Right (หุ่นยนต์เลี้ยวขวา)
- Dance (หุ่นยนต์เต้น)
- Stop (หุ่นยนต์หยุด)
เมนู Code จะป็นการเขียนโค้ดผ่าน Application บนมือถือเขียนโปรแกรมได้เหมือนในคอมพิวเตอร์ทุกอย่าง และยังสามารถ Upload Program ผ่าน Bluetooth ได้ด้วย
หากใช้โหมด Code จะเชื่อมต่อไปยัง Application mBlock บน SmartPhone ในการเขียนโค้ดโดยอัตโนมัติ
(โหมดนี้จะต้องทำการดาวน์โหลด Application mBlock ใน SmartPhone ก่อน)
ชุดเสริม Smart World Add-on Pack
ชุดเสริมเพิ่มลูกเล่นการต่อของหุ่นยนต์ mBot Neo กับชุด Smart World สามารถเพิ่มการต่อได้อย่างหลากหลาย เพิ่มการจุดประกายความคิดสร้างสรรค์ เพิ่มประสิทธิภาพการเรียนรู้ STEAM ในชุดนี้มาพร้อมกับคู่มือการต่อเบื้องต้น 3 แบบคือ Robotics Carrier, Surveying Robot และ Robotics Arm
อุปกรณ์ในชุด Add-On Smart World ประกอบด้วย
- 1 x Beam 036
- 2 x Beam 060
- 4 x Beam 076
- 1 x Beam 092
- 1 x Slide Beam 016
- 2 x Slide Beam 032
- 6 x Stiffener
- 1 x Bracket 3×3
- 2 x Plate 3×6
- 1 x Plate B 7×9
- 15 x Screws M4x8mm
- 8 x Screws M4x10mm
- 5 x Screws M4x10mm
- 3 x Screws M4x16mm
- 2 x Screws M4x22mm
- 2 x Screws M4x25mm
- 2 x Brass stud M4x8+6mm
- 6 x Headless Set Screw M3x5mm
- 2 x Universal Wheel
- 2 x 9g Servo (MS-1,5A)
- 7 x Nut M4
- 6 x Shaft Collar 4mm
- 7 x Plastic Ring 4x7x3mm
- 2 x Plastic Ring 4x7x2mm
- 1 x Wrench
- 1 x HEX Allen Key 1,5mm
- 1 x HEX Allen Key 2,5mm
- 1 x Connection Cable (20cm)
- 3 x D Shaft 4x56mm
- 2 x Balls
ทดสอบประกอบหุ่นยนต์ mBot Neo Robotics Carrier
หุ่นยนต์ mbot Neo Robotics Carrier เปรียบเสมือนหุ่นยนต์ส่งของไปตามจุดต่างๆตามที่เราจะโปรแกรม ในการทดสอบนี้เราให้หุ่นยนต์เดินหน้าด้วยการนับเวลา 5 วินาที จากนั้นตั้งค่าเซอร์โวมอเตอร์ที่ 0 องศาเพื่อการส่งพัสดุหลังจากนั้นตั้งค่าเซอร์โวมอเตอร์ที่ 90 องศา และถอยหลังเป็นเวลา 5 วินาทีเพื่อกลับมารับพัสดุเพื่อนำไปส่งอีกครั้ง (ดูตัวอย่างการทำงานได้จากวิดีโอด้านล่าง)
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import event, time, cyberpi, mbot2 import time @event.start def on_start(): mbot2.servo_set(90,"S4") @event.is_press('middle') def is_joy_press(): for count in range(3): cyberpi.led.on(255, 0, 0, "all") cyberpi.display.set_brush(255, 0, 0) cyberpi.display.show_label("Forward", 16, "center", index= 0) mbot2.forward(50, 5) mbot2.servo_set(0,"S4") time.sleep(1) mbot2.servo_set(90,"S4") cyberpi.led.on(29, 255, 0, "all") cyberpi.display.set_brush(114, 255, 0) cyberpi.display.show_label("Backward", 16, "center", index= 0) mbot2.backward(50, 5) mbot2.EM_stop("ALL") time.sleep(6) |
ทดสอบประกอบหุ่นยนต์ Makeblock mBot Neo Surveying Robot
หุ่นยนต์ mBot Neo Surveying Robot เปรียบเสมือนหุ่นยนต์สำรวจโดยใช้เซอร์โวมอเตอร์ในการหมุนหาวัตถุ โดยใช้งานร่วมกับเซนเซอร์ Ultrasonic 2 ในการตรวจจับระยะของวัตถุและใช้เซนเซอร์ Quad RGB ในการเช็คสีเพื่อนำค่ามาแสดงผลที่ RGB และทำการหมุนตัวเพื่อไปทางอื่น (ดูตัวอย่างการทำงานได้จากวิดีโอด้านล่าง)
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
import event, time, cyberpi, mbot2, mbuild import time @event.start def on_start(): mbot2.servo_set(10,"S3") cyberpi.led.show('red orange yellow green cyan') mbuild.ultrasonic2.play("sleepy", 1) mbuild.ultrasonic2.set_bri(0, "all", 1) mbuild.quad_rgb_sensor.color_mode("enhance") while True: for count in range(43): mbot2.servo_add(2,"S3") if mbuild.ultrasonic2.get(1) < 10: mbot2.EM_stop("ALL") CheckColor() time.sleep(0.05) mbot2.forward(50) for count2 in range(43): mbot2.servo_add(2,"S3") if mbuild.ultrasonic2.get(1) < 10: mbot2.EM_stop("ALL") CheckColor() time.sleep(0.05) for count3 in range(43): mbot2.servo_add(-2,"S3") if mbuild.ultrasonic2.get(1) < 10: mbot2.EM_stop("ALL") CheckColor() time.sleep(0.05) for count4 in range(43): mbot2.servo_add(-2,"S3") if mbuild.ultrasonic2.get(1) < 10: mbot2.EM_stop("ALL") CheckColor() time.sleep(0.05) def CheckColor(): if (mbuild.quad_rgb_sensor.is_color("red","any",1)): mbot2.EM_stop("ALL") time.sleep(1) cyberpi.led.on(208, 2, 27, "all") mbot2.forward(50, 0.5) mbot2.turn(-110) if (mbuild.quad_rgb_sensor.is_color("green","any",1)): mbot2.EM_stop("ALL") time.sleep(1) cyberpi.led.on(1, 208, 15, "all") mbot2.forward(50, 0.5) mbot2.turn(-110) if (mbuild.quad_rgb_sensor.is_color("blue","any",1)): mbot2.EM_stop("ALL") time.sleep(1) cyberpi.led.on(1, 12, 208, "all") mbot2.forward(50, 0.5) mbot2.turn(-110) if (mbuild.quad_rgb_sensor.is_color("yellow","any",1)): mbot2.EM_stop("ALL") time.sleep(1) cyberpi.led.on(250, 255, 2, "all") mbot2.forward(50, 0.5) mbot2.turn(-110) |
ทดสอบประกอบหุ่นยนต์ Makeblock mBot Neo Robotics Arm
หุ่นยนต์ mBot Neo Robotics Arm เปรียบเสมือนแขนกลที่สามารถยก หยิบ วัตถุได้ สามารถขึ้นลงได้ในแนวดิ่ง สามารถจับวัตถุที่มีขนาดไม่เกิน 15 เซนติเมตรได้ โดยการทดสอบการเคลื่อนที่ของหุ่นยนต์วิ่งไปหยิบวัตถุแล้วเคลื่อนย้ายมาอีกจุดนึง (ดูตัวอย่างการทำงานได้จากวิดีโอด้านล่าง)
โปรแกรมตัวอย่างภาษา Block-Base Programming
โปรแกรมตัวอย่างภาษา Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import event, time, cyberpi, mbot2 import time @event.is_press('middle') def is_joy_press(): mbot2.straight(10) mbot2.turn(-100) mbot2.straight(15) cyberpi.display.set_brush(0, 255, 255) cyberpi.display.show_label("Found things", 16, "center", index= 0) mbot2.servo_set(140,"S3") time.sleep(1) for count in range(18): mbot2.servo_add(-5,"S4") time.sleep(0.1) mbot2.straight(-15) mbot2.turn(100) for count2 in range(18): mbot2.servo_add(5,"S4") time.sleep(0.1) mbot2.servo_set(90,"S3") time.sleep(1) mbot2.straight(-15) for count3 in range(16): cyberpi.led.show('red orange yellow green cyan') mbot2.turn(-90) @event.start def on_start(): mbot2.servo_set(90,"all") |
วิดีโอการทดสอบหุ่นยนต์ Makeblock mBot Neo พร้อมชุด Smart World Add-on Pack
สรุป
ชุดหุ่นยนต์เพื่อการศึกษา mBot Neo และชุด Add-on Smart World เหมาะสำหรับการเรียนรู้การประดิษฐ์หุ่นยนต์ ไม่ว่าจะเป็นการเรียนด้วยตัวเอง หรือการเรียนรู้ในห้องเรียนที่โรงเรียน สามารถเรียนรู้ได้ตั้งแต่ระดับประถม ไปจนถึงระดับมัธยมศึกษาตอนปลาย ด้วยการเขียนโปรแกรมแบบ Block-Base Programming แบบลากวาง ไปจนถึงการเขียนโปรแกรมระดับสูงคือภาษา Python จุดเด่นโครงสร้างมีความแข็งแรงทนทาน สีสันสดใส สามารถต่อยอดชิ้นส่วนโครงสร้างต่างๆของบริษัทอื่นได้อีกด้วย บอร์ดควบคุมหลักรุ่นใหม่ Cyberpi สามารถเชื่อมต่อเครือข่ายแบบไร้สายได้ สามารถต่อยอดไปด้าน IoT และ AI ได้ มีคำสั่งไลบารี่ในการเขียนโปรแกรมที่ครอบคลุม เรียกได้ว่าครบ จุดเด่นของชุดหุ่นยนต์ mBot2 มีมอเตอร์แบบ Encoder ที่สามารถนับรอบการเคลื่อนที่ได้ มีเซนเซอร์จับเส้นแบบสามารถเปรียบเทียบเส้นได้แบบอัตโนมัติ มี Ultrasonic รุ่น 2 ที่มีความเสถียรในการใช้งาน มีเซอร์โวมอเตอร์ที่มั่นคงแข็งแรงเมื่อเทียบกับท้องตลาด ที่สำคัญมีเซนเซอร์เข็มทิศที่สามารถเลี้ยวหุ่นยนต์ได้ตามองศา มีจอ LCD แบบสีเพื่อเพิ่มลูกเล่นในการเขียนโปรแกรมได้เป็นอย่างดี รวมถึงไฟ LED แบบ RGB เปลี่ยนสีของหลอดไฟได้ถึง 16 ล้านเฉดสี อีกทั้งยังสามารถต่อโมดูลของ MakeBlock อื่นๆได้อีกด้วย ที่น่าสนใจคือสามารถเขียนโปรแกรมแบบลากวางผ่านสมาร์ทโฟน ทำให้สะดวกสบายในการเรียนรู้โดยไม่ใช้คอมพิวเตอร์
ผมต้องขอขอบคุณบริษัท MakeBlock ที่ส่งชุดหุ่นยนต์ mBot Neo และชุด Add-on Smart World ได้มาทดสอบ สามารถหาซื้อชุดหุ่นยนต์ mBot Neo ในราคา $218.99 (~8,000฿) ที่ร้านค้าออนไลน์ของบริษัท และมีคูปอง “NEW10” รับส่วนลด $10 (~300฿)
กรรมการผู้จัดการของโรงเรียนเกี่ยวกับหุ่นยนต์ในจ.เชียงใหม่, ชนะเลิศการแข่งขันหุ่นยนต์ต่างๆ ทั้งในและต่างประเทศ ได้แก่ Robocon และ Makerthon