รีวิว : CrowBot BOLT หุ่นยนต์ Smart Car

CrowBot BOLT เป็น smart robot car หรือ หุ่นยนต์รถอัจฉริยะ ที่ใช้ไมโครคอนโทรลเลอร์ไร้สาย ESP32 และออกแบบมาเพื่อการศึกษาเหมาะกับการเรียนรู้ทักษะด้านหุ่นยนต์ด้วยการเขียนโปรแกรม visual programming, Arduino หรือ MicroPython

Elecrow ได้ส่งชุดคิท “CrowBot BOLT” ให้ฉันเพื่อประเมินผล ดังนั้นฉันจะดูรายละเอียดฮาร์ดแวร์, แสดงวิธีประกอบ, แสดงคุณสมบัติของเฟิร์มแวร์ในหุ่นยนต์ และสาธิตวิธีติดตั้งโปรแกรมหุ่นยนต์ด้วยการเขียนโปรแกรม visual programming, Arduino และ MicroPython โดยใช้ตัวอย่างโค้ดที่ให้มาบางส่วน

แกะกล่อง CrowBot BOLT

CrowBot BOLT package

แพ็คเกจนี้แสดงรายการไฮไลท์ด้วยเนื้อหาการเรียนรู้ 16 คอร์ส การรองรับแพลตฟอร์มการเขียนโปรแกรมที่หลากหลาย, การปรับขนาดให้เหมาะสมด้วยคอนเนกเตอร์ Grove และจอยสติ๊กที่สามารถติดตั้งโปรแกรมได้ด้วย

CrowBot BOLT Robot Car Joystick

CrowBot BOLT มาเป็นชุด ซึ่งจะต้องทำการประกอบหุ่นยนต์ แต่ไม่จำเป็นต้องบัดกรี (ในกรณีปกติ)

CrowBot BOLT package content 1

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

CrowBot BOLT Assembly Instructions

อีกด้านหนึ่งของแผ่นคู่มือ คือสนาม Tracking Map เพื่อให้หุ่นยนต์เดินตามเส้นได้

Tracking Map for Robot

การประกอบหุ่นยนต์ CrowBot BOLT

เริ่มจากเราจะต้องเชื่อมต่อที่ใส่แบตเตอรี่ (ถ่าน AAA 4 ก้อน) กับเมนบอร์ดที่ใช้โมดูลไร้สาย ESP32-WROVER-B โดยใช้เชื่อมต่อกับขั้วต่อแบตเตอรี่

ESP32 Wheeled Robot Board

เมื่อเสร็จแล้ว เราจะต้องประกอบแผ่นอะคริลิกและยึดด้วยสกรูที่ให้มา

CrowBot BOLT Assembly

จากนั้นเราก็สามารถใส่ล้อทั้งสองเข้าไปในแกนของมอเตอร์ได้…

Crowbot BOLD Wheel Mounting

… เสียบ Ultrasonic sensor ลงใน pin header-4 ขา

Ultrasonic Sensor Assembly

และนั่นคือ ด้านหน้าของหุ่นยนต์มี Ultrasonic sensor, ไฟ LED 2 ดวง, ตัวรับสัญญาณแสงอินฟราเรด (IR receiver) และเซ็นเซอร์ติดตามเส้น (line follower sensors) 2 ตัวอยู่ใต้บอร์ด

Robot LEDs USB port

ด้านหลังของรถมีปุ่มเปิด/ปิด ไฟ LED และพอร์ต USB Type-C สำหรับเขียนโปรแกรม

Crowbot BOLT board bottom

เราจะพบล้อที่สามอยู่ข้างใต้ พร้อมกับ DIP switch เพื่อเปิด/ปิด WiFi และ/หรือ Bluetooth และตัวเชื่อมต่อสองพอร์ต Grove เพื่อเพิ่มโมดูล I2C หรือ analog

ESP32 C3 Joystick for Crowbot BOLT

จอยสติ๊กยังมาพร้อมกับเมนบอร์ดที่ใช้โมดูลไร้สาย ESP32-C3-WROOM-02, ปุ่ม, จอ OLED และแผ่นหน้าและหลัง, ไอคอน “open-source hardware” สามารถเห็นได้ทั้งบน PCB บอร์ดและจอยสติ๊ก, Eagle PCB และ PDF schematics และ PCB Layout พร้อมให้ดาวน์โหลดจากเพจร้านค้าที่ link ท้ายของบทความนี้

JoyStick for Crowbot

การประกอบนั้นค่อนข้างง่าย แต่น่าเสียดที่จอแสดงผลใช้ไม่ได้ น่าจะแตกระหว่างขนส่ง

2x AAA batteries game controller

จอยสติ๊กใช้พลังงานจากถ่าน AAA 2 ก้อน ดังนั้นคุณจะต้องเตรียมถ่าน AAA ทั้งหมด 6 ก้อน (หุ่นยนต์ 4 ก้อน, จอยสติ๊ก 2 ก้อน) และถ่านกระดุม CR2025 1 ก้อนสำหรับรีโมทคอนโทรล

Remote CR2025 coin cell battery

เมื่อประกอบเสร็จแล้ว เราจะเห็นหุ่นยนต์รถ CrowBot BOLT, จอยสติ๊ก CrowBot, รีโมทคอนโทรล, สาย Grove สองเส้น, ไขควง และสาย USB-A to USB-C สำหรับเขียนโปรแกรม

Elecrow CrowBot BOLT Game Controller Assembled

หุ่นยนต์ Smart Car พร้อมเฟิร์มแวร์จากโรงงาน

หุ่นยนต์พร้อมใช้งานเมื่อการประกอบเสร็จสมบูรณ์ คุณไม่จำเป็นต้องเขียนโปรแกรมใดๆ เลย เพื่อทดลองใช้งานด้วยการสาธิตต่างๆ ที่รวมอยู่ในเฟิร์มแวร์ ได้แก่ การหลีกเลี่ยงสิ่งกีดขวาง, เดินตามเส้น, การเล่นเพลง, การติดตามแสง และ การสาธิตแบบ 3-in-1 ที่รวมการเล่นเพลง, เดินตามเส้น และการหลีกเลี่ยงสิ่งกีดขวาง คุณเพียงแค่กดปุ่มบนรีโมทคอนโทรล  ตามที่อธิบายไว้ในคู่มือผู้ใช้ที่ให้มา คุณสามารถตรวจสอบการสาธิตทั้งห้าตามวิดีโอด้านล่างนี้

นอกจากนี้ยังสามารถควบคุม CrowBot BOLT ด้วยตนเองได้ด้วยปุ่มลูกศร และใช้ buzzer หรือเปิดและปิดไฟ หมายเหตุการสาธิตการเดินตามเส้นใช้งานได้เฉพาะในอาคารเท่านั้น, ฉันลองหุ่นยนต์ที่ระเบียงที่มีแสงแดด การทดสอบหลีกเลี่ยงสิ่งกีดขวางมันจะเดินกลับ , Photodiodes ทำงานกับแสงไฟเฉพาะที่กำหนดเท่านั้น

ฉันลองใช้จอยสติ๊กกับเฟิร์มแวร์เริ่มต้นสามารถเชื่อมต่อผ่าน Bluetooth ได้ แต่ไม่สามารถใช้งานได้ แม้ว่าฉันจะเปิดการใช้งาน Bluetooth ด้วย DIP switch แล้ว แต่นั่นเป็นเพราะตัวเก็บประจุไฟฟ้า และบริษัทแนะนำให้ลูกค้าบัดกรีตัวเก็บประจุตัวอื่นเพื่อให้มันใช้งานได้…บริษัทควรปรับปรุงบอร์ดและไม่ใช่ผลักดันให้กับลูกค้า…

Crowbot Joystick Capacitor Change
นี่คือรูปบอร์ดของ JoyStick ถ้าเชื่อมต่อผ่าน Bluetooth ไม่ได้ ก็จะไม่ทำงาน…

การเขียนโปรแกรม CrowBot BOLT

บริษัทมีรายละเอียดเพิ่มเติมที่ wiki เพื่อช่วยคนเริ่มต้นเขียนโปรแกรม หรือสามารถค้นหาโค้ดทั้งหมดรวมถึงเฟิร์มแวร์จากโรงงาน และการเขียนโปรแกรม Letscode visual programming, Arduino หรือ MicroPython lessons ในไฟล์ zip

การเขียนโปรแกรม Letscode visual programming

ฉันเคยใช้โปรแกรม Letscode ตอนรีวิวแล็ปท็อป CrowPi Lและ CrowPi 2 ที่ใช้ Raspberry Pi 4 SBC แต่ฉันไม่มีโปรแกรมี้แล้ว ดังนั้นฉันต้องดาวน์โหลดมาติดตั้งในคอมพิวเตอร์ น่าเสียดายที่โปรแกรมนี้ใช้ได้เฉพาะกับ Windows และ macOS หรือ Raspberry Pi และฉันมีแล็ปท็อปที่ใช้ Ubuntu 20.04 ฉันรู้สึกแปลกใจที่สามารถทำงานบน Linux สำหรับ Arm (Raspberry Pi) แต่ไม่สามารถทำงานบน Linux x86-64

ดังนั้นฉันจึงใช้มินิพีซี Windows 11 แทนเพื่อติดตั้ง Letscode

Letscode Crowbot BOLT Hello World 1

จากนั้นฉันโหลดโปรเจ็กต์ตัวอย่าง Activate Bolt.sb3 จากโค้ดบทเรียน แล้วคลิกที่ปุ่ม Install Driver ในเมนูด้านบนเพื่อติดตั้ง “Arduino USB driver” ฉันยังเชื่อมต่อหุ่นยนต์ Smart Car Crowbot BOLT กับมินิพีซีด้วยสาย USB และเปิดใช้งาน และพอร์ต COM3 แสดงขึ้น

Crowbot BOLT USB cable programming

สุดท้ายฉันก็คลิกที่ไอคอน Upload code เพื่อแฟลชเฟิร์มแวร์ไปยังหุ่นยนต์ และกดปุ่ม Reset หลังจากเสร็จสิ้นการติดตั้ง มีข้อความ “Hello World”

Letscode Upload Code

ตัวอย่างแสดงให้เห็นว่าเราสามารถตั้งโปรแกรมหุ่นยนต์ได้ แต่เราไม่ได้ใช้มอเตอร์ไฟฟ้าของหุ่นยนต์ บทเรียนมีทั้งหมด 16 lessons:

Letscode Lessons for CrowBot BOLT

เราจะเลือกไปที่บทเรียนที่ 3: Dreamy Dance Move เนื่องจากมีบล็อกสำหรับขับเคลื่อนมอเตอร์

Crowbot BOLT Letscode motor speed 1

ฉันสามารถโหลดโปรแกรมไปยังหุ่นยนต์ได้เหมือนเดิม แต่การวนซ้ำ (loop) จะถูกเรียกใช้ก็ต่อเมื่อพิน 18 ถูกตั้งค่าเป็นศูนย์ ไม่มีคำอธิบายในโค้ด หรือเอกสารประกอบในไฟล์ ZIP ที่มีโค้ด และฉันต้องเปิดแผนผังเพื่อหาว่าพิน 18 เชื่อมต่อกับปุ่มผู้ใช้ และเมื่อฉันกดเข้าไปหุ่นยนต์จะ “เต้น” เบาๆ โต๊ะทำงานด้วยเสียงเบาจากบัซเบอร์ ในตอนแรกฉันไม่ประทับใจที่ต้องเปิดแผนผังเพื่อค้นหา แต่พอฉันสังเกตเห็นว่า Elecrow เขียน “คู่มือสำหรับผู้เริ่มต้น“สำหรับ Letscode บน Crowbot BOLT

Lesson 3 Dreamy Dance Move

นอกจากนี้ยังอธิบายว่าปุ่มผู้ใช้เชื่อมต่อกับ GPIO 18 ในบทเรียนที่ 2 ดังนั้นทุกสิ่งก็ดีทั้งหมด คงจะดีไม่น้อยหากรวม PDF เข้ากับ Code เหมือนที่ทำกับ Arduino IDE

การเขียนโปรแกรม Arduino

มี 16 บทเรียนสำหรับ Arduino รวมถึงคู่มือผู้ใช้และไลบรารี่

Crowbolt BOLT Arduino Lessons

ฉันจะกลับไปที่โน็ตบุ๊คเพื่อรัน Ubuntu 20.04 เพื่อติดตั้ง Arduino 2.0.2 IDE ล่าสุด เอกสารประกอบบอกให้เราไปที่ File ->Preferences เพื่อเพิ่มไฟล์ JSON ต่อไปนี้ในฟิลด์ boards manager URLs:


เพื่อติดตั้งการรองรับบอร์ด ESP32 แต่มันกลายเป็นถูกติดตั้งบนระบบของฉันแล้ว แม้ว่าฉันจะไม่มีไฟล์ JSON ด้านบน มันติดอยู่ที่เวอร์ชัน 2.0.0 แต่อัปเดตไม่ได้ ดังนั้นฉันจึงถอนการติดตั้ง เพิ่มสองบรรทัดด้านบน และติดตั้งเวอร์ชันล่าสุด 2.0.5 ซึ่งรองรับโมดูล ESP32-WROOM-DA สำหรับหุ่นยนต์ .

เริ่มด้วยโค้ด “Activate Bolt” หลังจากเลือกโมดูล ESP32-WROOM-DA และ /dev/ttyUSB0 ใน IDE:

Crowbot BOLT Arduino Hello World 1

หลังจากที่เรากดปุ่ม Reset เพื่อรีสตาร์ทบอร์ดใหม่อีกครั้ง เปิดเมนูดูข้อมูลสถานะของบอร์ด (serial monitor) ใน Arduino IDE และกดปุ่มผู้ใช้ เราจะได้ผลลัพธ์ของข้อความ “Hello World” หรือ “Hello, master” ตามที่คาดไว้

Hello master robot car

ตอนนี้มาเปิดตัวอย่างที่ควบคุมมอเตอร์ของหุ่นยนต์ smart car คือ 8.Obstacle_Avoidance_Robot.ino :


ฉันคาดว่าจะต้องนำเข้าไลบรารีและโค้ดที่ซับซ้อนกว่านี้ แต่ตัวอย่างสำหรับการหลีกเลี่ยงสิ่งกีดขวางนั้นง่ายมาก…

ฉันต้องปิดหุ่นยนต์นี้ ถอดสาย USB วาง Crowbot BOLT ลงบนพื้น เปิดเครื่อง และกดปุ่มผู้ใช้เพื่อเริ่มต้น มันเป็นลักษณะการทำงานเดียวกันกับในเฟิร์มแวร์ของโรงงานที่แสดงในวิดีโอก่อนหน้านี้

การเขียนโปรแกรม Crowbot BOLT ด้วย MicroPython

มี 16 บทเรียนเหมือนกันในไดเร็กทอรี Python พร้อมกับเฟิร์มแวร์ MicroPython และคู่มือการเขียนโปรแกรม

Crowbot BOLT MicroPython

มีการใช้ Thonny IDE ในการเขียนโปรแกรม และ ฉันก็ใช้ Thonny อีกด้วย ฉันพบปัญหากับ Thonny 3.3.3 ที่ติดตั้งบนคอมพิวเตอร์ของฉัน เนื่องจากคอมพิวเตอไม่สามารถค้นหาพอร์ตอนุกรม (serial port) ได้ ดังนั้นฉันจึงอัปเกรดเป็นเวอร์ชัน 4.0.1 ด้วยคำสั่ง:


ฉันสามารถเลือก “MicroPython (ESP32)” และอุปกรณ์ serial (/dev/ttyUSB0) หลังจากไปที่ Tools->Options :

Thonny MicroPython ESP32 dev ttyUSB0

แต่ฉันยังไม่สามารถติดตั้งเฟิร์มแวร์ MicroPython ลงบนหุ่นยนต์ได้ เพราะยังไม่ได้ติดตั้ง esptool สามารถเพิ่มได้โดยไปที่Tools->Manage plug-ins และค้นหา esptool

Thonny esptool

เมื่อทำเสร็จแล้ว เราสามารถกลับไปที่หน้าก่อนหน้าและเลือก “ติดตั้งหรืออัปเดต MicroPython”

Crowbot BOLT ESP32 MicroPython firmware 2

ป๊อปอัปใหม่จะปรากฏขึ้นโดยที่เราสามารถเลือก Port และไฟล์เฟิร์มแวร์ “esp32-20220618-v1.19.1.bin” ที่ Elecrow จัดเตรียมให้ แล้วกด Install ฉันเจอปัญหากับข้อผิดพลาด “esptool not foundl” ดังนั้นฉันจึงติดตั้ง esptool จากบรรทัดคำสั่งอีกครั้ง:


และครั้งนี้ฉันสามารถติดตั้งเฟิร์มแวร์ MicroPython ได้สำเร็จ

Crowbot BOLT MicroPython firmware installation 1

ฉันจึงโหลดตัวอย่าง Activate Bolt


เอาต์พุต serial console เป็นไปตามที่คาดไว้หลังจากกดปุ่มผู้ใช้:

Hello master MicroPython

ต่อไปฉันโหลดโปรแกรม line tracking (เดินตามเส้น):


มีข้อความคำอธิบายในโค้ด เนื่องจากโค้ดอาจไม่ชัดเจน 100%… เนื่องจากโปรแกรมไม่สะดวกที่จะทดสอบบนเดสก์ท็อปของฉัน ฉันจึงบันทึก Micrpython script ไปยังหุ่นยนต์ โดยคลิกที่ Save As และ แล้วคลิกที่ MicroPython device

Save file to Micropython device

และบันทึกเป็น boot.py บนอุปกรณ์

จากนั้นฉันก็ปิดหุ่นยนต์ ถอดสาย USB ออก, แล้ววาง Crowbot BOLT บนสนาม Tracking Map, เปิดหุ่นยนต์ และกดปุ่มผู้ใช้เพื่อเริ่มต้น หุ่นยนต์ทำงานแบบเดียวกันกับในเฟิร์มแวร์ของโรงงานที่แสดงในวิดีโอก่อนหน้านี้

สรุป

Crowbot BOLT หุ่นยนต์ Smart Car ของ Elecrow เป็นหุ่นยนต์อัจฉริยะที่ราคาไม่แพง เพื่อการศึกษาเหมาะกับเรียนรู้ทักษะด้านหุ่นยนต์ สามารถช่วยให้เด็กเข้าใจส่วนประกอบต่างๆ และเรียนรู้การเขียนโปรแกรมการเขียนโปรแกรม visual programming IDE, Arduino หรือ  Arduino IDE หรือ Python IDE เช่น Thonny, มีเอกสารสำหรับบทเรียนการเขียนโปรแกรม Letscode visual programming 16 บทเรียน มีข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงาน เนื่องจากบทเรียนจะไม่อธิบายพื้นฐาน เช่น PWM และวิธีการทำงานของมอเตอร์, บทเรียน MicroPython และ Arduino Python ถูกออกแบบมาเพื่อใช้หลังจากเรียนรู้เกี่ยวกับการเขียนโปรแกรมด้วย visual programming และเอกสารมีน้อยมีแค่การติดตั้งและกำหนดค่า IDE เพื่อใล้งานกับหุ่นยนต์ และโค้ดไม่มีคำอธิบายเพื่อให้ช่วยให้เข้าใจง่ายว่ามันกำลังทำอะไร

แม้จะมีข้อบกพร่องบ้างเล็กน้อย แต่ฉันก็ยังคิดว่า Crowbot BOLT อาจเป็นชุดอุปกรณ์ที่น่าสนใจสำหรับการศึกษา STEM หุ่นยนต์ขายในราคา $34.90 (~1,200฿) รวมค่าจัดส่ง หรือ $57.80 (~2,000฿) พร้อม JoyStick แต่ต้องเตรียมแก้ไขฮาร์ดแวร์เพื่อให้ Bluetooth ตามที่อธิบายไว้ในคู่มือ

แปลจากบทความภาษาอังกฤษ : Getting Started with CrowBot BOLT smart robot car

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา