microBlock IDE V3.0.0 มีอะไรใหม่บ้าง

ในที่สุด microBlock IDE ก็รองรับบอร์ด Arduino ได้แล้ว นอกจากนี้ยังรองรับการเพิ่มบอร์ดเขียนโปรแกรมด้วย Arduino IDE ได้ในอนาคต แก้ปัญหาโค้ดโปรแกรม MicroPython ทำงานช้า

ขอบคุณทุกการทดสอบในเวอร์ชั่น beta

วันที่ 13 กุมภาพันธ์ ที่ผ่านมา ทางเพจ microBlock ได้ประกาศรับสมัครคนเข้าร่วมทดสอบ microBlock IDE V3-beta เนื่องจากการเพิ่ม Arduino เข้ามา ทำให้เกิดการเปลี่ยนแปลงจำนวนมากกับ microBlock IDE ทางผู้พัฒนาจึงขออาสาสมัครทดสอบ โดย microBlock ได้รับ feedback และแก้ไขเป็นเวอร์ชั่น 3.0.0-beta2, 3.0.0-beta3 จนในที่สุดก็ได้เวอร์ชั่น 3.0.0 ที่สมบูรณ์พร้อมให้ดาวน์โหลดใช้งานจากในหน้าเว็บหลัก

microBlock IDE V3 = Arduino

เบื้องหลังของ microBlock IDE V3 ใช้ Arduino CLI ซึ่งเป็นโปรแกรม Arduino IDE เวอร์ชั่นไม่มี UI โดยโปรแกรม microBlock IDE จะทำหน้าที่เป็น UI และแปลงบล็อกเป็นโค้ด Arduino แล้วส่งให้ Arduino CLI คอมไพล์และอัพโหลดลงบอร์ดให้

ผลของการเปลี่ยนแปลงทำให้ผู้พัฒนา microBlock สามารถเพิ่มบอร์ดลงในโปรแกรมได้เร็ว และง่ายมากขึ้น โดยหลังจากนี้บอร์ดที่ใช้ Arduino IDE ได้ การนำมาเข้า microBlock IDE ก็จะทำได้ง่ายขึ้นมากกว่าบอร์ดที่ใช้ MicroPython

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

อย่างไรก็ตาม ข้อเสียของการใช้ Arduino คือความเร็วในการอัพโหลดโค้ดโปรแกรมจะช้าลงมาก แต่เดิมหากใช้ MicroPython โค้ดจะถูกอัพโหลดเข้าไปในบอร์ดโดยตรง แต่เมื่อใช้ Arduino จะต้องมีขั้นตอนคอมไพล์ก่อน และหลังจากคอมไพล์โค้ดแล้ว ไฟล์ .bin หรือ .hex จะมีขนาดใหญ่กว่าโค้ด MicroPython มาก ส่งผลให้การอัพโหลดโปรแกรมลงบอร์ดช้า นอกจากนี้ขบวนการอัพโหลดที่เคยมีใน MicroPython ที่ microBlock พัฒนาขึ้นอย่าง Upload on Boot ที่จะอัพโหลดไฟล์ด้วยความเร็วสูงสุด มีการบีบอัดโค้ดให้เล็กลงก่อนอัพโหลดลงบอร์ด และอัพโหลดโค้ดเฉพาะไฟล์ที่เปลี่ยนแปลง ความสามารถเหล่านี้จะไม่สามารถนำไปใช้ในบอร์ดที่ใช้ Arduino ได้ เพราะขั้นตอนอัพโหลดฝั่ง Arduino เป็นคนทำ ฝั่ง microBlock ไม่สามารถเข้าไปยุ่งได้

การเลือกว่าจะให้บอร์ดไหนใช้ MicroPython หรือ Arduino ทางผู้พัฒนา microBlock IDE จะพิจารณาจากแอพพลิเคชั่นหลักที่จะนำไปใช้ โดยหากเป็นงานด้านหุ่นยนต์ที่ต้องการความเร็วการทำงาน เช่น หุ่นยนต์วิ่งตามเส้น หรือหุ่นยนต์ซูโม่ ทางผู้พัฒนาจะใช้ Arduino แต่หากเป็นงานด้าน IoT หรือควบคุม I/O ทั่วไป ทางผู้พัฒนาจะใช้ MicroPython

เพิ่มบอร์ดกลุ่ม Arduino

เพิ่มบอร์ด Arduino Uno R3, Arduino Nano 3.0 (old bootloader), Arduino Mega 2560, Arduino Pro Mini รองรับการลากบล็อกสั่งงาน I/O พื้นฐาน อย่าง pinMode(), digitalWrite(), digitalRead(), คำสั่งอ่านค่าแอนะล็อก analogRead(), คำสั่ง PWM อย่าง analogWrite() นอกจากนี้ยังรองรับคำสั่ง Advanced I/O ที่อย่าง pulseIn(), pulseInLong(), shiftIn(), shiftOut()

ส่วนบล็อกพื้นฐานอย่าง sleep (delay), if, while, for, สร้างตัวแปรและฟังก์ชั่น ก็รองรับเช่นกัน

เพิ่มบอร์ด i-Duino R4

i-Duino R4 เป็นบอร์ดรุ่นต่อจาก i-Duino R3B ที่ทาง INEX เคยออกแบบและผลิตมาก่อนหน้านี้ โดยรอบนี้ i-Duino R4 พัฒนาต่อมาจากบอร์ด Arduino Uno R4 WiFi โดยแก้ไขเพิ่ม Pin Header มาให้ทุกขา, เพิ่มช่อง Grove ทำให้การต่ออุปกรณ์ภายนอกทำได้ง่ายมากขึ้น รองรับการเชื่อมต่อ WiFi และบลูทูธ ทำให้ทำแอพพลิเคชั่นด้าน IoT ได้

สนใจบอร์ด สามารถอ่านรายละเอียดได้ที่ https://inex.co.th/

เพิ่มบอร์ด POP-32

POP-32 เป็นแผงวงจรไมโครคอนโทรลเลอร์ที่ใช้ไมโครคอนโทรลเลอร์ 32 บิต เบอร์ STEM32F103CBT6 ของ STMicroelectronics ออกแบบมาเพื่องานด้านหุ่นยนต์วิ่งตามเส้น และหุ่นยนต์ซูโม่ มีช่องต่อมอเตอร์ 4 ช่อง ช่องต่อเซอร์โวมอเตอร์ 6 ช่อง มีหน้าจอ OLED ขนาด 1.5 นิ้ว มีสวิตช์โปรแกรมได้อิสะ 3 ตัว มีตัวต้านทานปรับค่าได้โปรแกรมได้อิสระจำนวน 1 ตัว

โปรแกรม microBlock IDE มีบล็อกสั่งงานจอ OLED, มอเตอร์, เซอร์โวมอเตอร์ และควบคุม I/O ให้ครบ ใช้งานง่ายเพียงลากบล็อกแล้วกดอัพโหลดได้เลย

สนใจบอร์ด สามารถอ่านรายละเอียดได้ที่ https://inex.co.th/

แก้ไขบอร์ด 3in1 EASYKIDS BOARD

ให้รองรับบอร์ด 3in1 EASYKIDS BOARD เวอร์ชั่นปรับปรุงใหม่ และแก้ไขบัคบล็อกสวิตช์ไม่สามารถทำงานได้ เปลี่ยนชื่อเฟิร์มแวร์แบบรองรับจอย PS4 และเฟิร์มแวร์ IoT ให้เข้าใจง่ายมากขึ้น

เพิ่มบอร์ด Hanuman (preview)

บอร์ดควบคุมหุ่นยนต์จาก ArtronAcademy ปัจจุบันอยู่ในสถานะทดสอบ

แก้ไขบัค Blockly เวอร์ชั่นใหม่

ผลจากการเปลี่ยน Blockly เป็นเวอร์ชั่นใหม่ ทำให้หลายบอร์ดที่ใช้บล็อกลักษณะ statement (เอาบล็อกเข้าไปใส่ในบล็อกได้ เช่น บล็อกสร้างฟังก์ชั่น, บล็อกสวิตช์ on pressed) ไม่สามารถใช้ได้ ซึ่งได้มีการแก้ไขแล้วในเวอร์ชั่นนี้

แก้บัคบอร์ด KidBright บล็อก Servo ใช้ไม่ได้

บัคบล็อก Servo ใช้ได้เฉพาะขา SV1, SV2 ส่วนขาอื่น เช่น OUT1, OUT2 ใช้ไม่ได้ ได้รับการแก้ไขแล้วในเวอร์ชั่นนี้

ดาวน์โหลดโปรแกรม microBlock IDE V3.0.0

ดาวน์โหลดโปรแกรม microBlock IDE เวอร์ชั่นล่าสุด และโปรแกรมอื่น ๆ ภายใต้โครงการ microBlock ได้ที่ ดาวน์โหลด microBlock IDE  หรือ Release microBlock IDE offline V3.0.0 · microBlock-IDE/microBlock-IDE-offline ทั้งระบบปฏิบัติการ Windows , mac OS และ Ubuntu