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

เพิ่มระบบจำลองการทำงานบอร์ด KidBright32 V1.3, เพิ่มบอร์ด TTGO T-Display และเพิ่มบอร์ด ESP32 Dev Board

ระบบจำลองการทำงานบอร์ด KidBright32 V1.3

ระบบจำลองการทำงาน (Simulator) ใช้เรียนรู้การเขียนโปรแกรมลงบอร์ด KidBright32 V1.3 โดยไม่ต้องมีฮาร์ดแวร์จริง ครู/ผู้สอน/ผู้เรียน/ผู้สนใจทั่วไป ใช้เป็นสื่อการสอน หรือใช้ทดสอบการทำงานของโปรแกรมก่อนอัพโหลดลงบอร์ดจริงได้ โดยโปรแกรม microBlock IDE เวอร์ชั่น 2.3.0 รองรับการจำลองการทำงานดังนี้

รองรับการจำลองการทำงานเต็มรูปแบบ

ผู้ใช้สามารถเขียนโปรแกรมภาษาบล็อกหรือไพทอนเพื่อดูการทำงานได้

  • แอลอีดี 16×8
  • สวิตช์ S1/S2
  • ลำโพง/บัสเซอร์
  • เซ็นเซอร์แสง
  • เซ็นเซอร์อุณหภูมิ
  • ตัวนับเวลา (RTC)
  • แอลอีดีบนบอร์ด (เฉพาะแอลอีดี WiFi และ IOT)

รองรับการจำลองการทำงาน แต่ไม่แสดงผลเป็นรูปธรรม

ผู้ใช้สามารถเขียนโปรแกรมสั่งงานด้วยบล็อกและไพทอนได้ แต่ไม่สามารถดูผลการทำงานได้

  • ช่อง USB
  • ช่อง IN1/IN2/IN3/IN4/OUT1/OUT2

คำสั่งที่รองรับ/ไม่รองรับ เพิ่มเติม

  • รองรับการเชื่อมต่อกับ Daskboard
  • รองรับรูปแบบไวยากรทางภาษาไพทอน (MicroPython) ทั้งหมด
  • ไม่รองรับคำสั่งบล็อกและไพทอนประเภท Low Power Mode, Task และ Sensor
  • ไม่รองรับการติดตั้งส่วนเสริม (Extension)

ปัจจุบันรองรับการจำลองการทำงานเฉพาะบอร์ด KidBright32 V1.3 เท่านั้น บอร์ดอื่นโครงการจะพิจาณา และ (อาจจะ) เพิ่มระบบจำลองการทำงานต่อไป

โครงการขอขอบคุณ คุณ Kritsada Jaiyen @ INEX มา ณ ที่นี้ สำหรับไฟล์ SVG รูปบอร์ด KidBright32 V1.3 ที่โครงการ microBlock ได้นำรูปภาพมาดัดแปลง ใช้ทำระบบจำลองการทำงานในโปรแกรม microBlock IDE V2.3.0

โปรแกรม microBlock IDE V2.3.0 เลือกบอร์ด KidBright32 V1.3 และปรับเป็นโหมด Simulator

เพิ่มบอร์ด TTGO T-Display

บอร์ด TTGO T-Display เป็นบอร์ดพัฒนา ESP32 สำหรับ Maker ที่โปรแกรม microBlock IDE V2.3.0 รองรับการเขียนโปรแกรมสั่งงานแล้ว โดยมีบล็อกดังนี้

  • บล็อก Display เขียนโปรแกรม สั่งแสดงผลข้อความภาษาไทย/ภาษาอังกฤษบนจอได้ แสดงผลเส้น สี่เหลี่ยม วงกลม และเทสีบนหน้าจอได้
  • บล็อก IO เขียนโปรแกรมรับค่าจากสวิตช์ S1/S2 ได้ เขียนโปรแกรมอ่านค่าและสั่งงาน GPIO ทุกขาได้

บล็อกในหมวดหมู่อื่น ๆ เหมือนกับบอร์ดอื่นที่มีในโปรแกรม microBlock IDE ทุกประการ

โปรแกรม microBlock IDE เมื่อเลือกบอร์ด TTGO T-Display

เพิ่มบอร์ด ESP32 Dev Board

เพื่อให้โปรแกรม microBlock IDE เขียนโปรแกรมสั่งงาน ESP32 Development Board ทั้งหมดได้

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

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

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

โครงการ microBlock ออกอัพเดทโปรแกรม microBlock IDE เวอร์ชั่น 2.2.0 มีการเปลี่ยนแปลงดังนี้

ปรับขั้นตอนการอัพโหลดใหม่

ขั้นตอนการอัพโหลดใหม่ชื่อว่า upload on boot เป็นขั้นตอนการอัพโหลดที่โครงการ microBlock พัฒนาขึ้นเพื่อแก้ปัญหาการอัพโหลดโปรแกรมลง MicroPython แบบเดิม โดยเดิมการอัพโหลดจะทำผ่าน REPL โดยเรียกใช้คำสั่ง open write close ใน MicroPython แต่คำสั่งดังกล่าวมีข้อเสียประการสำคัญคือ ทำงานได้ช้า และมีโอกาศที่ทำงานผิดพลาดได้ง่าย จึงเป็นเหตุผลว่า ทำไมโปรแกรม microBlock IDE เวอร์ชั่นก่อนหน้านี้จึงอัพโหลดได้ช้าโดยเฉพาะเมื่อใช้ส่วนเสริม (Extension) ที่มีขนาดใหญ่อย่าง Blynk หรือ LINE Notify

microBlock IDE เวอร์ชั่น 2.2.0 เปลี่ยนมาใช้การอัพโหลดด้วยวิธี upload on boot ซึ่งต้องใช้คู่กับ MicroPython for KidBright/IPST เวอร์ชั่น 1.5.0 ขึ้นไป โดยหากโปรแกรมพยามอัพโหลดด้วยวิธี upload on boot แล้วไม่สำเร็จ (เพราะใช้ MicroPython เวอร์ชั่นเก่า) โปรแกรมจะเลือกอัพโหลดด้วย REPL (วิธีเก่า) แทน

ใช้ระบบ Task มากขึ้น

จากการปรับวิธรการอัพโหลดใหม่เป็นแบบ upload on boot ทำให้การใช้ Task บน MicroPython ทำงานได้ดีมากยิ่งขึ้น จึงส่งผลให้ปรับบล็อก IMU ใหม่ โดยลบบล็อก IMU update ออกไป เนื่องจากค่าในบล็อกใน IMU จะอัพเดทอัตโนมัติผ่านการใช้ Task และเพิ่มบล็อก IMU on gesture เข้ามา รวมทั้งเพิ่มบล็อก swicth on pressed ซึ่งทำงานผ่านระบบ Task และเพิ่มบล็อก run in background เพื่อให้ผู้ใช้สร้าง Task แยกเองได้

เพิ่ม Widget ใน Dashboard

มีการเพิ่ม Widget เครื่องบิน เกม และเข็มทิศเข้ามาใน Dashboard ซึ่งคาดว่าจะช่วยให้สร้างสรรค์การเรียนรู้แบบ STEM ได้ง่ายมากยิ่งขึ้น

เพิ่มบล็อกใหม่

มีการเพิ่มบล็อกใหม่ดังนี้

  • เพิ่มบล็อก controls_for บล็อกทำซ้ำแบบนับจำนวนรอบเก็บลงตัวแปร
  • เพิ่มบล็อก random_seed แก้ปัญหาบล็อก random สุ่มเลขไม่จริง
  • เพิ่มบล็อกวาดรูปภาพบนจอ OLED ให้บอร์ด IPST-WiFi
  • เพิ่มบล็อกสั่งเปิด-ปิดจุดบน LED 16×8 ของบอร์ด KidBright32 และ OpenKB

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

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

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

โครงการ microBlock ออกอัพเดทโปรแกรม microBlock IDE เวอร์ชั่น V2.1.0 ความเปลี่ยนแปลงที่สำคัญคือเพิ่มบอร์ด IPST-WiFi และ OpenKB และเพิ่ม Dashboard สร้างหน้าแสดงผลข้อมูลจำนวนมากได้อย่างรวดเร็ว

เพิ่มบอร์ด IPST-WiFi

บอร์ด IPST-WiFi เป็นบอร์ดไมโครคอนโทรลเลอร์เพื่อการศึกษา ออกแบบและพัฒนาโดย INEX ให้กับ สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี (สสวท.) ถูกใช้ในการเรียนการสอนในโรงเรียนมากมาย ออกแบบให้ใช้เขียนโปรแกรมสั่งงานด้วยภาษาไพทอน (MicroPython) โดยโปรแกรม microBlock IDE V2.1.0 รองรับการเขียนโปรแกรมสั่งงานบอร์ด IPST-WiFi แล้ว

หน้าตาบอร์ด IPST-WiFi

โครงการ microBlock เลือกสร้างเฟิร์มแวร์ MicroPython ขึ้นมาเฉพาะสำหรับบอร์ด IPST-WiFi ชื่อว่า MicroPython for IPST-WiFi เพื่อให้การเขียนโปรแกรมสั่งงานอุปกรณ์ต่าง ๆ บนบอร์ดด้วยภาษาไพทอนทำได้ง่ายขึ้น โดยเฟิร์มแวร์ MicroPython for IPST-WiFi ที่พัฒนาต่อจากเฟิร์มแวร์ MicroPython ได้ฝังโมดูลเหล่านี้ลงไป

  1. โมดูล display ใช้เขียนโปรแกรมสั่งงานหน้าจอ OLED บนบอร์ด IPST-WiFi โดยมีคำสั่งแสดงผลข้อความ วาดรูปต่าง ๆ และคำสั่งล้างหน้าจอ
  2. โมดูล buzzer ใช้เขียนโปรแกรมสั่งงานลำโพงบนบอร์ด IPST-WiFi โดยมีคำสั่งส่งเสียงกำหนดความถี่ และคำสั่งส่งเสียงเป็นโน๊ตดนตรี
  3. โมดูล switch ใช้เขียนโปรแกรมอ่านค่าสวิตช์บนบอร์ด IPST-WiFi โดยมีคำสั่งอ่านค่าสวิตช์ และคำสั่งกำหนดชุดโค้ดโปรแกรมที่จะถูกเรียกเมื่อกดหรือปล่อยสวิตช์
  4. โมดูล knob ใช้เขียนโปรแกรมอ่านค่าจากตัวต้านทานปรับค่าได้บนบอร์ด IPST-WiFi

อ่านคำสั่งทั้งหมดได้ที่ microBlock-IDE/micropython

ด้านการเขียนโปรแกรมด้วยบล็อก มีหมวดหมู่คำสั่งดังนี้

หมวดหมู่บล็อกที่มีให้ใช้งานในบอร์ด IPST-WiFi

โปรแกรม microBlock IDE V2.1.0 รองรับการเขียนโปรแกรมสั่งงานบอร์ด IPST-WiFi ทั้งภาษาบล็อกและโค้ดไพทอน ทั้งเวอร์ชั่นออนไลน์ (เว็บ) และเวอร์ชั่นโปรแกรม

เพิ่มบอร์ด OpenKB

บอร์ด OpenKB เป็นบอร์ดไมโครคอนโทรลเลอร์เพื่อการศึกษา ต่อยอดมาจากบอร์ด KidBright32 พัฒนาโดย INEX มีแนวคิดการพัฒนาที่สำคัญ คือลดข้อจำกัดในการสร้างโครงงานลง โดยยังคงความสามารถที่บอร์ด KidBright32 มีไว้ดังเดิม

หน้าตาบอร์ด OpenKB

บอร์ด OpenKB มีคำสั่ง MicroPython ให้เรียกใช้งานแบบเดียวกับบอร์ด KidBright32 V1.3/V1.4 ทุกประการ

ในด้านการเขียนโปรแกรมด้วยบล็อก ได้เพิ่มขาที่ OpenKB มี แต่ KidBright32 ไม่มี ลงไปในบล็อก เช่น บล็อก digital read , digital write PWM DHT11/22 DS18B20 ได้เพิ่มขา DAC1 (25) ลงไป และตัดบล็อกเกี่ยวกับ USB ออก (เพราะบอร์ด OpenKB ไม่มีช่อง USB-A)

ตัวอย่างบล็อก DHT11/22 ที่เพิ่มขา DAC1 ขึ้นมาในบอร์ด OpenKB

เพิ่ม Dashboard

Dashboard คือหน้าแสดงผลและสรุปข้อมูลจำนวนมากให้เข้าได้ง่ายมากยิ่งขึ้น โดยโปรแกรม microBlock IDE V2.1.0 ได้ฝังหน้า Dashboard มาในโปรแกรมแล้ว บอร์ดทุกบอร์ดที่ microBlock IDE รองรับ สามารถส่งข้อมูลมาแสดงผลในหน้า Dashboard ในรูปแบบข้อความ สถานะลอจิก เกจ กราฟ และ Log ได้ โดยผู้ใช้สามารถลาก-ย้าย-ขยายตำแหน่งของวัตถุที่แสดงผลได้อย่างอิสระ รวมทั้งกำหนดคุณสมบัติประจำตัววัตถุได้อย่างรวดเร็ว

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

การเขียนโปรแกรมส่งข้อมูลขึ้นมาแสดงผลทำได้โดยบล็อก send to dashboard ซึ่งอยู่ในหมวดหมู่ Advanced ของทุกบอร์ด

บล็อก send to dashboard ใช้ส่งข้อมูลขึ้น Dashboard มีให้ใช้งานทุกบอร์ดที่โปรแกรม microBlock IDE รองรับ

การเปลี่ยนแปลงอื่น ๆ

การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ เหล่านี้น่าจะช่วยให้การสร้างสรรค์โครงงานด้วย microBlock IDE ทำได้ง่ายมากยิ่งขึ้น

  • เพิ่มบล็อกอ่านค่าไจโรสโคปให้บอร์ด KidBright32 V1.6 by Gravitech
  • เพิ่มบล็อก Gerora RGB LED ให้เขียนโปรแกรมควบคุมหลอดแอลอีดี RGB บนบอร์ด KidBright32 V1.6 by Gravitech ได้
  • แก้ไขชื่อหมวดหมู่ Sensor ที่ผิด
  • เพิ่มบล็อก math_round ช่วยปัดเศษตัวเลข
  • เพิ่มบล็อก touch read อ่านค่าสัมผัส ให้กับบอรด KidBright32 ทุกเวอร์ชั่น
  • ข้ามการอัพโหลดไฟล์โมดูลที่เคยอัพโหลดไปแล้ว (ช่วยให้อัพโหลดโค้ดได้เร็วขึ้น)
  • เพิ่มปุ่มแชร์โค้ด
  • เพิ่มเฟิร์มแวร์ MicroPython for KidBright32 V1.4.0

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

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

การใช้โมดูลเล่น MP3 กับบอร์ด KidBright32

แนะนำการใช้งานโมดูลเล่น MP3 รุ่น OpenSmart Serial MP3 กับบอร์ด KidBright32 เขียนโปรแกรมสั่งงานด้วยโปรแกรม microBlock IDE


สั่งซื้อโมดูล OpenSmart Serial MP3


การต่อโมดูล MP3 เข้ากับบอร์ด KidBright32

แนะนำให้ใช้งานร่วมกับบอร์ด KidBright32 V1.5 Rev3.1 / KidBright32i / KidBright32 V1.6 by Gravitech โดยบอร์ดทั้ง 3 สามารถต่อวงจรแบบเดียวกันได้ดังนี้

กรณีใช้บอร์ด KidBright32 V1.2-V1.4 ให้ย้ายไปต่อขา 18 และ 19 แทน (ตอนเขียนโค้ดโปรแกรมเลือก TX pin: 19, RX pin: 18)

การเตรียมไฟล์ MP3 ใน MicroSD Card

การเขียนโปรแกรมสั่งงานโมดูล MP3 ให้เล่นไฟล์ใด ๆ จะเขียนโปรแกรมสั่งงานโดยอ้างอิงลำดับของไฟล์ การกำหนดลำดับของไฟล์สามารถทำได้โดยตั้งชื่อไฟล์ตามลำดับที่ต้องการ เช่น มีไฟล์ชื่อ AAA.mp3 ต้องการให้เป็นลำดับที่ 1 ให้แก้ไขชื่อเป็น 1.mp3 และมีไฟล์ชื่อ BBB.mp3 ต้องการให้เป็นลำดับที่ 2 ให้แก้ไขชื่อเป็น 2.mp3 เป็นต้น

ได้โครงสร้างไฟล์ MP3 ใน MicroSD Card ดังรูป

ถอด MicroSD Card ใส่เข้ากับโมดูล MP3 เพื่อเตรียมใช้เขียนโค้ดโปรแกรมในบอร์ด KidBright32 ต่อไป

การติดตั้ง Extension

การเขียนโปรแกรมสั่งงานโมดูลเล่น MP3 จำเป็นต้องติดตั้ง Extension ที่ชื่อ Serial MP3 ก่อน โดยมีขั้นตอนดังนี้

เปิดโปรแกรม microBlock IDE ขึ้นมา แล้วกดที่เมนู Extension

เลื่อนหา Serial MP3 แล้วกดปุ่ม Install

เมื่อติดตั้งเสร็จ จะแสดงข้อความดังรูป

ปิดหน้าต่าง Extension เลื่อนเมนูเลือกบล็อกลงด้านล่างสุด จะพบเมนู Serial MP3 เพิ่มขึ้นมา และมีบล็อกขึ้นมาให้เลือกแล้ว

การใช้งานเบื้องต้น

การใช้งานจำเป็นต้องเรียกใช้บล็อก Serial MP3 begin เป็นอันดับแรก เนื่องจากบล็อกนี้ใช้กำหนดวงจรที่ต่อระหว่างโมดูล MP3 กับบอร์ด KidBright32

จากหัวข้อแรกได้ต่อขา TX ไว้ที่ OUT1 และ RX ไว้ที่ OUT2 จึงกำหนดค่าในบล็อก Serial MP3 begin ได้ดังนี้

ต่อมาควรมีการตั้งค่าความดังของเสียงก่อน โดยใช้บล็อก Serial MP3 set volume กำหนดความดังของเสียงไว้ที่ 100% นำมาต่อกับบล็อกที่มีอยู่แล้ว ได้โค้ดโปรแกรมดังรูป

ทดสอบเขียนโปรแกรมให้เล่นไฟล์ลำดับที่ 1 จึงลากบล็อก Serial MP3 play index ออกมา ต่อเข้ากับบล็อกที่มีอยู่แล้ว ได้โค้ดโปรแกรมดังรูป

จากนั้นอัพโหลดโปรแกรมลงบอร์ด KidBright32 ผลที่ได้คือ

โมดูล MP3 เล่นเพลงลำดับแรกด้วยความดัง 100% จนจบ

โครงงานเครื่องกดซาวเอฟเฟคด้วย KidBright32

ต่อโมดูล OpenSmart Serial MP3 เข้ากับบอร์ด KidBright32i ดังนี้

ดาวน์โหลดไฟล์เสียงเอฟเฟกต์ได้ที่ แจกฟรี!! ซาวด์เอฟเฟกต์ยูทูบเบอร์ ครบที่สุดในไทย ได้ไฟล์เสียงนามสกุล WAV ใช้ เครื่องมือแปลงไฟล์ MP3 นำไฟล์ที่ได้จากการแปลงใส่ลง MicroSD Card ได้โครงสร้างไฟล์ดังรูป

นำ MicroSD Card ใส่เข้ากับโมดูล MP3

ที่โปรแกรม microBlock IDE ให้ติดตั้ง Extension ที่ชื่อ Serial MP3 แล้วลากบล็อกมาต่อกันจนได้โค้ดโปรแกรมดังนี้

อัพโหลดโปรแกรมลงบอร์ด KidBright32 ได้ผลดังนี้

เมื่อกดปุ่ม S1 บนบอร์ด KidBright32 ที่แอลอีดี 16×8 แสดงรูปลำโพง และโมดูล MP3 เล่นเสียงเอฟเฟกต์แรกออกลำโพง

เมื่อกดปุ่ม S2 บนบอร์ด KidBright32 ที่แอลอีดี 16×8 แสดงรูปลำโพง และโมดูล MP3 เล่นเสียงเอฟเฟกต์ที่สองออกลำโพง

ทำป้ายไฟวิ่งควบคุมด้วยบอร์ด KidBright32

บทความนี้ใช้โมดูล Dot Matrix ขนาด 8×64 จุด สีแดง ควบคุมด้วยไอซี MAX7912 เป็นอุปกรณ์หลักในการทำ ใช้บอร์ด KidBright32 (ใช้ได้ทุกเวอร์ชั่น) ในการควบคุมการแสดงผล เขียนโปรแกรมรูปแบบบล็อกด้วย microBlock IDE

8 in 1 Dot Matrix Display Module MAX7219 โมดูล Dot Matrix ขนาด 8×64 จุด สีแดง

ต่อโมดูลจอ Dot Matrix เข้ากับบอร์ด KidBright

โมดูลจอ Dot Matrix รุ่นที่ใช้ในบทความนี้ มีขาต่อใช้งาน 5 ขา มีรายละเอียดดังนี้

  1. ขา VCC – เป็นขาสำหรับจ่ายบวกเลี้ยงวงจร 3.3V ถึง 5V
  2. ขา GND – เป็นขาไฟลบ
  3. ขา DIN (Data In)
  4. ขา CS (Chip Select)
  5. ขา CLK (Clock)

ขา DIN, CS และ CLK สามารถเลือกต่อที่จุด OUT1 OUT2 IO23 IO19 IO18 ได้ ในบทความนี้เลือกต่อ DIN เข้ากับ IO23 , CS เข้ากับ IO19 และ CLK เข้ากับ IO18 ได้วงจรสมบูรณ์ดังรูป

หมายเหตุ. ใช้บอร์ด KidBright32 หรือ OpenKB รุ่นใดก็ได้ โดยต่อวงจรในรูปแบบเดียวกัน

ติดตั้งส่วนเสริม DotMatrix

เนื่องจากบล็อกและคำสั่งที่ใช้เขียนโปรแกรมสั่งงานโมดูลดังกล่าว ตัวโปรแกรม microBlock IDE ไม่ได้รองรับเป็นค่าเริ่มต้น สามารถทำให้รองรับได้โดยติดตั้งส่วนเสริม Dot Matrix ซึ่งมีขั้นตอนดังนี้

1) เปิดโปรแกรม microBlock IDE ขึ้นมา จากนั้นกดไปที่ Extention

2) ค้นหา Dot Matrix แล้วกดปุ่ม Install

3) รอจนกว่าจะติดตั้งเสร็จ เมื่อติดตั้งเสร็จแล้วจะแสดงเครื่องหมายถูกหลังชื่อส่วนเสริม (ดังรูป) สามารถกดปุ่ม x เพื่อปิดหน้าต่าง Extension ได้เลย

4) ที่แถบหมวดหมู่บล็อก จะมีหมวดหมู่ Dot Matrix เพิ่มขี้นมา (ดังรูป)

เขียนโปรแกรมควบคุมด้วย microBlock IDE

เริ่มต้น ให้ลากบล็อก DotMatrix setup with … ออกมา ตัวบล็อกมีพารามิเตอร์ให้กำหนด ดังนี้

โดยบล็อก DotMatrix setup with … ต้องถูกเรียกใช้ก่อนบล็อกอื่น(ในหมวดหมู่เดียวกัน)เสมอ ไม่ควรอยู่ในลูป และไม่ควรอยู่ในฟังก์ชั่น

บล็อกที่ใช้สั่งให้หน้าจอแสดงผลข้อความแบบอนิเมชั่น มี 2 ชนิด คือ แบบ in และแบบ out

  • แบบ in – ใช้สั่งให้ตัวอักษรเลื่อนเข้ามาจากซ้าย ขวา บน หรือล่าง โดยเริ่มจากนอกจอเข้ามากลางจอ
  • แบบ out – ใช้สั่งให้ตัวอักษรเลื่อนออกทางซ้าย ขวา บน หรือล่าง โดยเริ่มจากกลางจอ ออกไปนอกจอ

บล็อกใช้สั่งให้หน้าจอแสดงผลข้อความแบบอนิเมชั่น มีดังนี้

หากไม่ต้องการให้ข้อความเลื่อนเข้า-ออก สามารถใช้บล็อก DotMatrix show เพื่อแสดงข้อความโดยกำหนดระยะการเยื้องซ้ายและบนได้ หรือใช้ DotMatrix show … at center เพื่อแสดงข้อความกลางจอได้

ใช้บล็อก DotMatrix invart color เพื่อทำลูกเล่นสลับสีบนหน้าจอได้

ใช้บล็อก DotMatrix clear ล้างการแสดงผลบนหน้าจอ เพื่อทำลูกเล่นตัวอักษรกระพริบได้

ทดสอบเขียนโค้ดโปรแกรมแสดงข้อความบนหน้าจอดังนี้

ได้ป้ายไฟวิ่ง ดังคลิปวีดีโอด้านล่างนี้


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

แนะนำการใช้งานโปรแกรม microBlock IDE

microBlock IDE เป็นโปรแกรมสำหรับสร้างโค้ดภาษาไพทอนเพื่อใช้กับบอร์ด KidBright32 V1.3, 1.4, 1.5, 1.5i (หรือ KidBright32i) และ 1.6 ที่พัฒนาโดยคุณ สนธยา นงนุช แห่งร้านไอโอเอ็กซ์ฮ๊อบร่วมมือกับพาร์ทเนอร์

อ่านเพิ่มเติม “แนะนำการใช้งานโปรแกรม microBlock IDE”

ตัวอย่างการทดลองพัฒนาโปรแกรมด้วย microBlock IDE เพื่อทำงานกับบอร์ด KidBright

ตัวอย่างที่ 1 ทดสอบอ่านค่าจากวงจรตรวจจับแสง

ในตัวอย่างนี้นำเสนอการสร้างโค้ดสำหรับอ่านค่าความเข้มแสงจากวงจรตรวจจับแสงบนบอร์ด KidBright เพื่อนำมาแสดงที่ส่วนแสดงผล LED 16 x 8 จุด

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์ หากเป็นบอร์ด KidBright32 V1.5i หรือ KidBright32i ให้รอจนกระทั่ง LED สีฟ้าที่ตำแหน่ง USB ของบอร์ด KidBright ติดสว่าง เพื่อแจ้งว่าคอมพิวเตอร์ติดต่อกับบอร์ด KidBright ได้แล้ว

(2) เปิดโปรแกรม microBlock IDEสร้างโค้ดตามโปรแกรมที่ 1-1 บันทึกไฟล์ชื่อ KBi-LightRead.mby

โปรแกรมที่ 1-1 โค้ดของไฟล์ KBi-LightRead.mby สำหรับทดสอบการอ่านค่าจากวงจรตรวจจับแสง
บนบอร์ด KidBright

(3) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload รอจนกระทั่งอัปโหลดเสร็จ

(4) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright จะทำงานทันที ทดลองใช้มือบังแสงที่ตกกระทบตัวตรวจจับแสงบนบอร์ด

บอร์ด KidBright แสดงระดับของความเข้มแสงที่ตรวจจับได้โดยมีค่า 0 ถึง 100 ค่าที่แสดงยิ่งมากเมื่อตรวจจับแสงได้มาก

 

ตัวอย่างที่ 2 ทดสอบอ่านค่าจากวงจรตรวจจับอุณหภูมิ

ในตัวอย่างนี้นำเสนอการสร้างโค้ดอ่านค่าอุณหภูมิจากวงจรตรวจจับอุณหภูมิบนบอร์ด KidBright เพื่อนำมาแสดงที่ส่วนแสดงผล LED 16 x 8 จุด โดยแสดงเป็นค่าอุณหภูมิในหน่วยองศาเซลเซียส ความละเอียดทศนิยม 1 ตำแหน่ง

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(2) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 2-1 บันทึกไฟล์ชื่อ KBi-TempRead.mby

โปรแกรมที่ 2-1 โค้ดของไฟล์ KBi-TempRead.mby สำหรับทดสอบการอ่านค่าจาก
วงจรตรวจจับอุณหภูมิบนบอร์ด KidBright

(3) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload รอจนกระทั่งอัปโหลดเสร็จ

(4) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright จะทำงานทันที ทดลองใช้นิ้วสัมผัสที่ตัวตรวจจับอุณหภูมิของบอร์ด

บอร์ด KidBright แสดงค่าอุณหภูมิเพิ่มขึ้นสูงขึ้น เมื่อมีการให้ความร้อนแก่ตัวตรวจจับอุณหภูมิด้วยนิ้ว และลดลงเมื่อนำนิ้วออกหรือเป่าลมไปยังตัวตรวจจับอุณหภูมิ

 

ตัวอย่างที่ 3 ทดสอบการใช้งานพอร์ตเอาต์พุตของ KidBright (สำหรับ KidBright 1.5 ขึ้นไป)

บอร์ด KidBright 1.5 ขึ้นไป (ทั้ง V1.5i หรือ 32i และ V1.6) มีพอร์ตเอาต์พุตที่ต่อมายังขั้วต่อแบบ JST 3ขาสีแดง 2 ขาคือ OUT1 (ขาพอร์ต 26) และ OUT2 (ขาพอร์ต 27)

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(2) นำมินิบอร์ด ZX-LED มาต่อที่พอร์ต OUT1 ดังรูปที่ 3-1

รูปที่ 3-1 ต่อมินิบอร์ด ZX-LED ที่จุดต่อ O1 (OUT1) ของบอร์ด KidBright 32i หรือ
KidBright32 V1.5 ขึ้นไป สำหรับทดสอบการใช้งานพอร์ตเอาต์พุต

(3) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 3-1 บันทึกไฟล์ชื่อ KBi-BlinkLED.mby

โปรแกรมที่ 3-1 โค้ดของไฟล์ KBi-BlinkLED.mby สำหรับทดสอบการใช้งานพอร์ตเอาต์พุต
ของ KidBright V1.5 ขึ้นไป

(4) อัปโหลดโค้ดไปยังบอร์ด KidBright 1.5i ด้วยการคลิกปุ่ม Upload รอจนกระทั่งอัปโหลดเสร็จ

(5) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright จะทำงานทันที ดูผลการทำงานที่มินิบอร์ด ZX-LED

LED บน ZX-LED ที่ต่อเข้ากับพอร์ต OUT1 ติดกะพริบทุกๆ 0.5 วินาที

 

ตัวอย่างที่ 4 ทดสอบการใช้งานพอร์ตอินพุตเอาต์พุต (สำหรับ KidBright 1.5 ขึ้นไป)

ในหัวข้อนี้เป็นตัวอย่างการติดต่ออุปกรณ์ภายนอกของ KidBright V1.5 ขึ้นไปกับพอร์ตเอาต์พุตดิจิทัลคือ OUT1 กับขาพอร์ตอินพุตดิจิทัล IN1 โดยต่อมินิบอร์ด ZX-LED เข้าที่พอร์ต OUT1 และมินิบอร์ดสวิตช์ ZX-BUTTON เข้าที่พอร์ต IN1 ดังรูปที่ 4-1

รูปที่ 4-1 ต่อมินิบอร์ดสวิตช์ ZX-BUTTON ที่จุดต่อ IN1 และต่อมินิบอร์ด ZX-LED ที่จุดต่อ O1 (OUT1) ของบอร์ด KidBright 32i หรือ KidBright32 V1.5 ขึ้นไป สำหรับทดสอบการใช้งานพอร์ตอินพุตเอาต์พุต

 

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(2) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 4-1 บันทึกไฟล์ชื่อ KBi-InOut.mby

โปรแกรมที่ 4-1 โค้ดของไฟล์ KBi-InOut.mby สำหรับทดสอบการใช้งานพอร์ตออินพุตเอาต์พุต
ของ KidBright V1.5 ขึ้นไป

(3) อัปโหลดโค้ดไปยังบอร์ด KidBright

(4) หลังจากอัปโหลด บอร์ด KidBright จะทำงานทันที ทดลองกดสวิตช์แล้วปล่อย ดูผลการทำงาน

เมื่อโปรแกรมทำงาน KidBright  จะรอการกดสวิตช์ที่พอร์ต IN1

เมื่อเกิดการกดสวิตช์ทำให้สถานะลอจิกเป็น “0” เงื่อนไขการตรวจสอบจึงเป็นจริง KidBright  จะส่งสัญญาณลอจิก “1” ไปยังพอร์ต OUT1 ทำให้ LED ที่ต่ออยู่ติดสว่าง

เมื่อปล่อยสวิตช์ทำให้สถานะลอจิกเป็น “1” เงื่อนไขการตรวจสอบเป็นเท็จ KidBright จะส่งสัญญาณลอจิก “0” ไปยังพอร์ต OUT1 ทำให้ LED ที่ต่ออยู่ดับ

 

ตัวอย่างที่ 5 ทดสอบการใช้งานพอร์ตอินพุตแอะนาล็อก (สำหรับ KidBright 1.5 ขึ้นไป)

KidBright V1.5 ขึ้นไป มีพอร์ตอินพุตรับสัญญาณแอะนาล็อกที่เป็นจุดต่อแบบ JST รวม 4 ช่อง คือ IN1 (ขาพอร์ต 32), IN2 (ขาพอร์ต 33), IN3 (ขาพอร์ต 34) และ IN4 (ขาพอร์ต 35) รองรับแรงดันไฟตรงในย่าน 0 ถึง +3.3V ในการทดสอบนี้ทำการต่อมินิบอร์ดวงจรตัวต้านทานปรับค่าได้ ZX-POTV ที่ขาพอร์ต IN1 ดังรูปที่ 5-1

รูปที่ 5-1 ต่อมินิบอร์ด ZX-POT ที่จุดต่อ IN1 ของบอร์ด KidBright 32i หรือ KidBright32 V1.5 ขึ้นไป สำหรับทดสอบการใช้งานพอร์ตอินพุตแอะนาล็อก

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(2) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 5-1 บันทึกไฟล์ชื่อ KBi-AnalogTest.mby

โปรแกรมที่ 5-1 โค้ดของไฟล์ KBi-AnalogTest.mby สำหรับทดสอบการใช้งาน
พอร์ตอินพุตแอะนาล็อกของ KidBright V1.5 ขึ้นไป

(3) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload

(4) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright จะทำงานทันที

ส่วนแสดงผล LED 16 x 8 จุดบนบอร์ด KidBright แสดงข้อความ ADC test เลื่อนจากขวามาซ้าย เพื่อแจ้งการทำงานของโปรแกรมในบอร์ด KidBright

(5) หมุนแกนของตัวต้านทานปรับค่าได้บนมินิบอร์ด ZX-POTV สังเกตการณ์ทำงานที่ส่วนแสดงผล LED 16 x 8 จุดบนบอร์ด KidBright

เมื่อหมุนแกนของตัวต้านทานมาทางซ้ายมือสุด อ่านค่าได้ 0

เมื่อหมุนแกนของตัวต้านทานมาทางขวามือสุด อ่านค่าได้ 4095

เมื่อหมุนไปทางขวามือค่าที่อ่านได้จะเพิ่มขึ้น เมื่อหมุนไปทางซ้ายมือค่าที่อ่านได้จะลดลง

 

ตัวอย่างที่ 6 การใช้งาน Real Time Clock (RTC)

ใน microBlock IDE ได้จัดทำบล็อกคำสั่งสำหรับใช้งานวงจรฐานเวลานาฬิกาจริงหรือรีลไทม์คล็อก (Real-time Clock : RTC) ของบอร์ด KidBright อยู่ในแถบคำสั่ง RTC มีบล็อกคำสั่งที่เกี่ยวข้องทั้งหมด 8 บล็อก

โดยบล็อกแรก RTC Set date and time ใช้ตั้งค่าวันเวลาของ RTC โดยกำหนดค่าวันเวลาอีก 6 ตัว คือ ค่าชั่วโมง นาที วินาที วันที่ เดือน ปี ตามลำดับ

ส่วนอีก 7 บล็อกถัดมาคือบล็อกอ่านค่าของวันและเวลา ประกอบด้วย ชั่วโมง นาที วินาที ไมโครวินาที วัน เดือน และ ปี ตามลำดับ

หลังจากตั้งค่าวันเวลาให้กับ RTC แล้ว เวลาของระบบจะเดินต่อเองอัตโนมัติ

6.1 ทดสอบการตั้งค่าเวลาของ RTC

การใช้งานวงจร RTC ทำได้ง่าย เริ่มต้นให้ใช้บล็อก RTC Set date and time เพื่อตั้งเวลา เมื่อตั้งเวลาเสร็จแล้ว ต้องการอ่านค่าเวลาในส่วนใด ก็ใช้บล็อกอ่านค่าเพื่อแสดงผลหรือใช้เป็นข้อมูลสำหรับกำหนดเงื่อนไขของการทำงานก็ได้

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(2) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 6-1 ทำการกำหนดวันเวลาที่ตรงกับวันที่ทำการทดลอง จากนั้นบันทึกไฟล์ชื่อ KBi-RTCset.mby

โปรแกรมที่ 6-1 โค้ดของไฟล์ KBi-RTCset.mby สำหรับทดสอบการใช้งานวงจรฐานเวลานาฬิกาจริงของบอร์ด KidBright ทุกเวอร์ชัน

(3) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload

(4) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright จะทำงานเมื่อมีการกดสวิตช์ S1

เมื่อกดสวิตช์ S1 บนบอร์ด KidBright โปรแกรมจะทำการตั้งค่า RTC ตรงกับที่ได้ทำการโปรแกรมไว้ พร้อมแสดงข้อความ RTC set บน LED 16 x 8 จุดของบอร์ด KIdBright เมื่อแจ้งการตั้งค่าเวลา

 

6.2 ทดสอบการการแสดงเวลาจากRTC แสดงผลที่ LED 16×8 จุด

หลังจากทำการตั้งเวลาให้กับ RTC แล้ว ผู้พัฒนาโปรแกรมสามารถเลือกได้ว่า จะแสดงค่าของเวลา ชั่วโมง นาที วินาที ไมโครวินาที วัน เดือน ปี ที่ส่วนแสดงผล LED 16 x 8 จุดของบอร์ด KidBright ในตัวอย่างนี้เลือกแสดงค่า ชั่วโมง และ นาที เพื่อแสดงเวลาให้เหมือนกับนาฬิกาดิจิติอล

ขั้นตอนปฏิบัติการ

(1) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(2) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 6-2 บันทึกไฟล์ชื่อ KBi-RTCshow.mby

โปรแกรมที่ 6-2 โค้ดของไฟล์ KBi-RTCshow.mby สำหรับทดสอบการอ่านค่าเวลาของ
วงจรฐานเวลานาฬิกาจริงของบอร์ด KidBright มาแสดงผล

(3) อัปโหลดโค้ดไปยังบอร์ด KidBright 1.5i ด้วยการคลิกปุ่ม Upload

(4) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright จะทำงานทันที

ส่วนแสดงผล LED 16 x 8 จุดบนบอร์ด KidBright แสดงเวลาในรูปแบบนาฬิกาดิจิตอล โดยกำหนดให้ LED ฝั่งซ้ายแสดงค่าชั่วโมงและ LED ฝั่งขวาแสดงค่านาที

 

ตัวอย่างที่ 7 ทดสอบการอ่านค่าอุณหภูมิและความชื้นสัมพัทธ์จากตัวตรวจจับ DHT11 (สำหรับ KidBright 1.5 ขึ้นไป)

ตัวอย่างนี้เป็นการวัดค่าอุณหภูมิและความชื้นสัมพัทธ์ด้วยตัวตรวจจับ DHT11 แล้วนำค่ามาแสดงที่ส่วนแสดงผล LED 16 x 8 จุดบนบอร์ด KidBright V1.5 ขึ้นไป โดยแสดงเป็นค่าอุณหภูมิในหน่วยองศาเซลเซียส ส่วนค่าความชื้นสัมพัทธ์มีหน่วยเป็น %RH

ขั้นตอนปฏิบัติการ

(1) นำ DHT11 ต่อกับขา IN1 หรือขาพอร์ต 32 ของบอร์ด KidBright ดังรูปที่ 7-1

รูปที่ 7-1 ต่อมินิบอร์ด ZX-DHT11 ที่จุดต่อ IN1 ของบอร์ด KidBright 32i หรือ KidBright32 V1.5 ขึ้นไป สำหรับทดสอบการอ่านค่าอุณหภูมิและความชื้นสัมพัทธ์จากตัวตรวจจับ DHT11

(2) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(3) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 7-1 บันทึกไฟล์ชื่อ KBi-DHT11.mby

โปรแกรมที่ 7-1 โค้ดของไฟล์ KBi-RTCshow.mby สำหรับทดสอบอ่านค่าจากมินิบอร์ด ZX-DHT11 ของบอร์ด KidBright 32i หรือ KidBright32 V1.5 ขึ้นไป

(4) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload

(5) หลังจากอัปโหลดโค้ดเรียบร้อย บอร์ด KidBright ทำงานทันที ดูผลการทำงานที่ส่วนแสดงผล LED

บอร์ด KidBright นำค่าอุณหภูมิและค่าความชื้นสัมพัทธ์ที่อ่านได้จาก DHT11 มาแสดงที่ส่วนแสดงผล LED 16 x 8 จุด โดยแสดงค่าอุณหภูมิ 1 วินาทีสลับกับค่าความชื้นสัมพัทธ์ 1 วินาที

 

ตัวอย่างที่ 8 ทดสอบการใช้งาน KSERVO-360J เซอร์โวมอเตอร์แบบหมุนรอบตัว (สำหรับ KidBright 1.5 ขึ้นไป)

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

บอร์ด KidBright V1.5 ขึ้นไป รวมทั้ง KidBright32i สามารถขับเซอร์โวมอเตอร์ KSERVO-360 ผ่านพอร์ต SERVO1 และ SERVO2 โดยต้องใช้แยกไฟเลี้ยง แต่ในตัวอย่างนี้จะใช้เซอร์โวมอเตอร์รุ่น KSERVO-360J ต่อเข้าที่พอร์ต OUT1 โดยไม่ต้องแยกไฟเลี้ยง อาจใช้เพาเวอร์แบงก์หรือแหล่งจ่ายไฟ +5V จ่ายให้กับ KidBright ที่จุดต่อ microUSB หลังจากอัปโหลดโปรแกรมแล้ว

การขับเซอร์โวมอเตอร์รุ่น KSERVO-360J ให้ทำการกำหนดค่ามุมในหน่วยองศาเพื่อกำหนดทิศทางและความเร็วในการหมุนแกนดังนี้

ค่าองศาที่กำหนด ทิศทางการหมุน ความเร็ว %
89 – 0 หมุนตามเข็มนาฬิกา 0 ถึง 100
90 หยุดนิ่ง 0
91 – 180 หมุนทวนเข็มนาฬิกา 0 ถึง 100

ขั้นตอนปฏิบัติการ

(1) นำเซอร์โวมอเตอร์ KSERVO-360J ต่อกับขา OUT1 หรือพอร์ต 26 ดังรูปที่ 8-1

รูปที่ 8-1 ต่อเซอร์โวมอเตอร์ KSERVO-360J ที่จุดต่อ O1 (OUT1) ของบอร์ด KidBright 32i หรือ KidBright32 V1.5 ขึ้นไป สำหรับทดสอบขับเซอร์โวมอเตอร์แบบหมุนได้ 360 องศารุ่น KSERVO-360J

(2) เชื่อมต่อบอร์ด KidBright กับคอมพิวเตอร์

(3) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 8-1 บันทึกไฟล์ชื่อ KBi-KSERVO.mby

โปรแกรมที่ 8-1 โค้ดของไฟล์ KBi-KSERVO.mby สำหรับทดสอบควบคุมเซอร์โวมอเตอร์รุ่น KSERVO-360J ของบอร์ด KidBright 32i หรือ KidBright32 V1.5 ขึ้นไป

(4) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload

(5) บอร์ด KidBright จะรอทำงานจากการกดสวิตช์ S1 และ S2 บนบอร์ดKidBright

เมื่อกดปุ่ม S1 เซอร์โวมอเตอร์ KSERVO-360J หมุนทวนเข็มนาฬิกาด้วยความเร็ว 100%

เมื่อกดปุ่ม S2 เซอร์โวมอเตอร์ KSERVO-360J หมุนตามเข็มนาฬิกาด้วยความเร็ว 100%

เมื่อไม่มีการกดปุ่มใดๆ เซอร์โวมอเตอร์ KSERVO-360J จะหยุดนิ่ง

 

ตัวอย่างที่ 9 ขยายความสามารถในการเชื่อมต่ออุปกรณ์อินพุตเอาต์พุตของ KidBright

บอร์ด KidBright มีพอร์ตต่ออินพุตเอาต์พุตสำหรับเชื่อมต่ออุปกรณ์ภายนอกจำนวนหนึ่ง เพื่อให้นำไปต่อยอดสร้างโครงงานได้หลากหลายจึงนำมาใช้งานร่วมกับ iKB-1 บอร์ดขยายพอร์ตอินพุตเอาต์พุตและขับมอเตอร์ผ่านบัส I2C ทำให้บอร์ด KidBright (ทุกเวอร์ชัน) ทำงานกับอุปกรณ์อินพุตเอาต์พุตได้มากขึ้น ขับมอเตอร์ไฟตรงได้ 2 ตัวและขับเซอร์โวมอเตอร์ได้ 6 ตัว บอร์ด KidBright มีจุดเชื่อมต่ออุปกรณ์ภายนอกแบบ I2C อยู่ 1 ช่อง คือ แบบ KB chain ที่มี 5 ขา จึงใช้สาย KB-CHAIN เชื่อมต่อกับบอร์ด iKB-1 ได้โดยตรง ดังรูปที่ 9-1

รูปที่ 9-1 การเชื่อมต่อเพื่อใช้งานบอร์ด iKB-1 กับบอร์ด KidBright ผ่านทางจุดต่อ KB-Chain

การเพิ่ม Extension สำหรับบอร์ด iKB-1

ในการใช้งานกับบอร์ด iKB-1 ของบอร์ด KidBright จะต้องติดตั้งบล็อกคำสัง่เพิ่มเติมหรือ Extension ตามขั้นตอนต่อไปนี้

(1) คลิกที่ปุ่ม Extension

(2) เลื่อนหา Extension ของบอร์ด iKB-1 จากนั้นคลิกที่ Install เมื่อเสร็จแล้วคลิกปุ่ม Close

(3) ปรากฎแถบคำสั่งของ iKB-1

ทดสอบการใช้งานระหว่างบอร์ด KidBright 1.5i กับ iKB-1

ขั้นตอนปฏิบัติการ

(1) นำสาย KB-CHAIN ต่อระหว่างบอร์ด KidBright กับ iKB-1 ผ่านจุดต่อ KB-CHAIN

(2) นำมินิบอร์ด ZX-LED ต่อกับพอร์ต 0 บนบอร์ด iKB-1 ดังรูปที่ 9-2

(3) เปิดโปรแกรม microBlock IDE สร้างโค้ดตามโปรแกรมที่ 9-1 บันทึกไฟล์ชื่อ KBi-Blink on iKB-1.mby

โปรแกรมที่ 9-1 โค้ดของไฟล์ KBi-Blink on iKB-1.mby สำหรับทดสอบขับ LED ผ่านบอร์ด iKB-1  ของบอร์ด KidBright ทุกเวอร์ชัน
รูปที่ 9-2 การเชื่อมต่อเพื่อขับ LED ผ่านบอร์ด iKB-1 ของบอร์ด KidBright

(4) อัปโหลดโค้ดไปยังบอร์ด KidBright ด้วยการคลิกปุ่ม Upload

(5) หลังจากอัปโหลดโค้ด บอร์ด KidBright จะทำงานทันที ดูผลการทำงานที่มินิบอร์ด ZX-LED

LED บน ZX-LED ที่ต่อเข้ากับพอร์ต 0 บนบอร์ด iKB-1 ติดกะพริบทุกๆ 1 วินาที


อ่านบทความนี้ในรูปแบบ PDF : microBlockIDE_BasicLab


บทความนี้จัดทำโดย ธนโชติ ศรีภักดี ถือลิขสิทธิ์โดย บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด (INEX) อนุญาตให้เผยแพร่บนเว็บไซต์ microBlock การทำซ้ำ ดัดแปลง เผยแพร่ส่วนใดส่วนหนึ่งหรือทั้งหมดของบทความนี้ จำเป็นต้องได้รับอนุญาตจาก บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด (INEX) ก่อน ติดต่อ INEX

รู้จักกับ microBlock IDE เขียนโปรแกรมบอร์ด KidBright ด้วยบล็อกและ Python

microBlock IDE คือ เครื่องมือที่ใช้เขียนโปรแกรมบอร์ด KidBright ด้วยภาษาบล็อกและภาษา Python พัฒนาโดย ร้านไอโอเอ็กซ์ฮ๊อบ ร่วมมือกับ บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด (INEX) บริษัท กราวิเทคไทย (ไทยแลนด์) จำกัด Senses IoT PrinceBot LamLoei มีเป้าหมายสำคัญคือสร้างสภาพแวดล้อมแห่งการเรียนรู้ทางด้านไมโครคอนโทรลเลอร์ที่สมบูรณ์ที่สุด โดยคำนึงถึงการนำไปใช้เรียนรู้จริงในห้องเรียนเป็นสำคัญ การสร้างสรรค์โครงงาน การบ่มเพาะและพัฒนาทักษะนักพัฒนารุ่นใหม่

microBlock IDE แตกต่างจากเครื่องมือที่ใช้เขียนโปรแกรมบอร์ด KidBright อย่าง KidBrightIDE และ KBIDE ตรงที่โปรแกรมดังกล่าว บล็อกจะถูกแปลงเป็นโค้ดโปรแกรมภาษา C/C++ แล้วจึงคอมไพล์เป็นภาษาเครื่อง จากนั้นอัพโหลดลงบอร์ด KidBright แต่ microBlock IDE แปลงบล็อกเป็นโค้ดโปรแกรมภาษา Python แล้วอัพโหลดโค้ด Python ลงบอร์ดไปเลย เฟิร์มแวร์ MicroPython ที่ติดตั้งบนบอร์ด KidBright อยู่แล้ว เป็น Interpreter ประมวลผลโค้ดโปรแกรมทีละคำสั่ง ทีละบรรทัด ทำให้โปรแกรม microBlock IDE มีขนาดโปรแกรมที่เล็กกว่าโปรแกรมอื่น ๆ มาก เพราะไม่ต้องฝังไลบารี่ภาษา C/C++ , คอมไพล์เลอร์ ไว้ในตัวโปรแกรม อัพโหลดโค้ดโปรแกรมเร็วกว่าเพราะไม่ต้องคอมไพล์โค้ดโปรแกรมก่อน รวมทั้งในแง่ของการต่อยอด สร้าง Plugins/Extension เพิ่มบล็อกให้กับตัวโปรแกรมก็สามารถทำได้ง่ายกว่า เนื่องจากภาษา Python (MicroPython) ทำความเข้าใจได้ง่าย และพัฒนาได้รวดเร็วกว่าภาษา C/C++ สามารถนำไลบารี่ของ MicroPython มาเพิ่มบล็อกลงไป แล้วสร้างเป็น Extension ใส่ลงในตัวโปรแกรม microBlock IDE ได้เลย

ฮาร์ดแวร์ที่รองรับ

ปัจจุบัน microBlock IDE รองรับบอร์ด KidBright32 ทั้งหมด 4 กลุ่ม ดังนี้

KidBright32 V1.3 – V1.4

เป็นบอร์ด KidBright เวอร์ชั่นที่แจกให้กับโรงเรียนต่าง ๆ ทั่วประเทศ พัฒนาโดยเนคเทค มีอุปกรณ์พื้นฐานอย่าง หน้าจอแสดงผลแบบแอลอีดีขนาด 16×8 สวิตช์กดติด-ปล่อยดับแบบโปรแกรมได้ จำนวน 2 ตัว มีสวิตช์กดติด-ปล่อยดับสำหรับรีเซ็ตการทำงาน จำนวน 1 ตัว มีบัสเซอร์สำหรับสร้างเสียงดนตรี จำนวน 1 ตัว ช่อง USB-A ตัวเมีย สำหรับต่ออุปกรณ์ที่รับไฟจาก USB เช่น แอลอีดี USB หรือพัดลม USB มีเซ็นเซอร์วัดอุณหภูมิ เซ็นเซอร์แสง ช่อง KB-Chain สำหรับต่ออุปกรณ์เสริมภายนอก มีจุดต่ออุปกรณ์ภายนอก OUT1 OUT2 IN1 IN2 IN3 และ IN4

KidBright32 V1.3
บอร์ด KidBright32 V1.3 เวอร์ชั่นที่แจกให้กับโรงเรียนทั่วประเทศ

microBlock IDE ได้จัดเตรียมบล็อกและคำสั่ง Python สำหรับเขียนโปรแกรมควบคุมสั่งงานอุปกรณ์บนบอร์ด KidBright32 V1.3 และ V1.4 ไว้อย่างครบถ้วนแล้ว

KidBright32 V1.5 Rev.3

เป็นบอร์ด KidBright32 เวอร์ชั่นล่าสุด (ณ ที่จัดทำบทความนี้) จากเนคเทค เพิ่มช่องต่ออุปกรณ์เสริมภายนอกผ่าน JST 2 มิลลิเมตร ทำให้เชื่อมต่ออุปกรณ์เสริมต่าง ๆ ได้ง่ายขึ้น รวมทั้งทำให้สามารถอ่านค่าแอนะล็อกจากอุปกรณ์ภายนอกได้โดยตรง (เวอร์ชั่น 1.3 – 1.4 ต้องต่ออุปกรณ์ตัวกลาง จึงจะสามารถอ่านค่าแอนะล็อกได้) เพิ่มจุดต่อเซอร์โวมอเตอร์จำนวน 2 ตัว ตัดหลอดแอลอีดี NTP และ BT ออก

KidBright32 V1.5 Rev.3
บอร์ด KidBright32 V1.5 Rev.3

microBlock IDE ได้จัดเตรียมบล็อกและคำสั่ง Python สำหรับเขียนโปรแกรมควบคุมสั่งงานอุปกรณ์บนบอร์ด KidBright32 V1.5 Rev.3 ไว้อย่างครบถ้วนแล้ว

KidBright32i

เป็นบอร์ด KidBright ที่ต่อยอดมาจาก KidBright32 V1.5 Rev.3 พัฒนาโดย บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด (INEX) เพิ่มเซ็นเซอร์วัดความเร่ง (Accelerometer) และเซ็นเซอร์แม่เหล็ก เปลี่ยนช่อง MicroUSB เป็น USB-C แทน รวมทั้งเปลี่ยนอุปกรณ์บางส่วนบนบอร์ดเป็น SMD

KidBright32i
บอร์ด KidBright32i

microBlock IDE ได้จัดเตรียมบล็อกและคำสั่ง Python สำหรับเขียนโปรแกรมควบคุมสั่งงานอุปกรณ์บนบอร์ด KidBright32i ไว้อย่างครบถ้วนแล้ว

KidBright32 V1.6 by Gravitech

เป็นบอร์ด KidBright ที่ต่อยอดมาจาก KidBright32 V1.5 Rev.3 โดยเพิ่มเซ็นเซอร์วัดความเร่ง (Accelerometer) เซ็นเซอร์วัดความเร็วเชิงมุม (Gyroscope) และ RGB LED จำนวน 6 ดวง

KidBright32 V1.6 by Gravitech
บอร์ด KidBright32 V1.6 by Gravitech

microBlock IDE ได้จัดเตรียมบล็อกและคำสั่ง Python สำหรับเขียนโปรแกรมควบคุมสั่งงานอุปกรณ์บนบอร์ด KidBright32 V1.6 by Gravitech ไว้แล้ว ยกเว้น RGB LED จำเป็นต้องติดตั้ง Extension เพิ่มเติม

รูปแบบการเขียนโปรแกรมสั่งงาน

โปรแกรม microBlock IDE รองรับการเขียนโปรแกรมสั่งงานบอร์ด KidBright ได้ 2 แบบ คือ

เขียนโปรแกรมแบบบล็อก

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

ตัวอย่างการเขียนโปรแกรมแบบบล็อกในโปรแกรม microBlock

เขียนโปรแกรมแบบโค้ดภาษา Python

การเขียนโปรแกรมแบบโค้ดภาษา Python คือ การเขียนโปรแกรมโดยใช้แป้นพิมพ์พิมพ์คำสั่งตามรูปแบบของภาษา Python ลงในหน้าต่างโปรแกรมทีละบรรทัด เมื่ออัพโหลดโปรแกรม โปรแกรมจะเริ่มทำงานตามคำสั่งทีละบรรทัด

ตัวอย่างการเขียนโปรแกรม Python ในโปรแกรม microBlock

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

ทางสายกลาง เขียนบล็อกในขั้นต้นแล้วเปลี่ยนมาเขียน Python

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

เวอร์ชั่นของ microBlock IDE

โปรแกรม microBlock IDE มี 2 เวอร์ชั่น คือ

เวอร์ชั่นเว็บ

เวอร์ชั่นเว็บ คือการใช้งาน microBlock IDE บนเว็บด้วยโปรแกรม Google Chrome โดยสามารถใช้งานได้ทันที ไม่ต้องติดตั้งโปรแกรม และไม่ต้องอัพเดทโปรแกรมเอง เพราะเมื่อมีการอัพเดทเวอร์ชั่นของ microBlock IDE บนเว็บจะอัพเดทเวอร์ชั่นให้อัตโนมัติ นอกจากนี้ยังมีฟีเจอร์เชื่อมต่อกับ GitHub ช่วยให้สามารถบันทึกโค้ดโปรแกรมที่เขียนลงใน GitHub ได้เลย เมื่อเปลี่ยนเครื่องคอมพิวเตอร์ที่ใช้ในการเขียนโค้ด สามารถเรียกโค้ดจากบน GutHub มาทำงานต่อได้เลย

microBlock IDE เวอร์ชั่นเว็บ ใช้งานโปรแกรม Google Chrome

ข้อดีของ microBlock IDE เวอร์ชั่นเว็บ

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

ข้อเสียของ microBlock IDE เวอร์ชั่นเว็บ

  • ไม่สามารถตรวจสอบและอัพเดทเฟิร์มแวร์ MicroPython ได้ หากบนบอร์ดยังไม่ได้ติดตั้ง MicroPython จำเป็นต้องใช้โปรแกรมอื่น ๆ ติดตั้ง MicroPython ลงบอร์ดก่อน
  • ใช้งานได้กับโปรแกรม Google Chrome เท่านั้น
  • จำเป็นต้องเปิดใช้ Web Serial API ก่อน จึงจะใช้งานได้

เวอร์ชั่นโปรแกรม

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

ปัจจุบัน microBlock IDE รองรับระบบปฎิบัติการ Windows , mac OS X และ Ubuntu บนสถาปัตยกรรม x86 และ x86-64

microBlock IDE เวอร์ชั่นโปรแกรมคอมพิวเตอร์ บนระบบปฏิบัติการ Windows 10
microBlock IDE เวอร์ชั่นโปรแกรมคอมพิวเตอร์ บนระบบปฏิบัติการ mac OS X
microBlock IDE เวอร์ชั่นโปรแกรมคอมพิวเตอร์ บนระบบปฏิบัติการ Ubuntu

ข้อดีของ microBlock IDE เวอร์ชั่นโปรแกรม

  • ใช้งานได้แบบออฟไลน์ ไม่จำเป็นต้องมีอินเตอร์เน็ตก็ใช้งานได้
  • เรียกใช้งานได้สะดวกกว่าเวอร์ชั่นเว็บ ไม่ต้องรอโหลด
  • แนะนำและติดตั้งเฟิร์มแวร์ MicroPython ให้อัตโนมัติหากยังไม่ได้ติดตั้ง หรือเป็นเวอร์ชั่นเก่า
  • บันทึก และเปิดโปรเจคเก่าจากในเครื่องคอมพิวเตอร์ได้ง่ายกว่าเวอร์ชั่นเว็บ

ข้อเสียของ microBlock IDE เวอร์ชั่นโปรแกรม

  • ต้องติดตั้งลงบนเครื่องคอมพิวเตอร์
  • เมื่อมี microBlock IDE เวอร์ชั่นใหม่ จำเป็นต้องดาวน์โหลดมาติดตั้งทับของเก่าเอง
  • รองรับระบบปฏิบัติการได้จำกัด
  • ใช้พื้นที่บนเครื่องคอมพิวเตอร์มากกว่าเวอร์ชั่นเว็บ

การดีบัคโปรแกรม

microBlock IDE แปลงบล็อกเป็นโค้ดโปรแกรมภาษา Python โดยใช้เฟิร์มแวร์ MicroPython ที่ติดตั้งบนบอร์ด KidBright อยู่แล้ว เป็น Interpreter ประมวลผลโปรแกรม

จากข้อความข้างต้น ส่งผลให้การใช้ microBlock IDE มีข้อจำกัดด้านการตรวจสอบไวยากร (Syntax) ของภาษา โดยเฉพาะเมื่อเขียนโปรแกรมแบบโค้ดภาษา Python โดยผู้เขียนโค้ดจะไม่ทราบเลยว่าโค้ดที่เขียนนั้น ถูกหลักไวยากรหรือไม่ จะทราบก็ต่อเมื่ออัพโหลดโค้ดโปรแกรมลงบอร์ดไปแล้ว และ MicroPython แจ้งว่าโค้ดผิดรูปแบบไวยากร

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

ตัวอย่างการใช้ Terminal ทดสอบคำสั่ง Python ใส่ค่าลงในตัวแปร a b แล้วส่งคำสั่ง a + b

การเพิ่มบล็อก/เพิ่มคำสั่ง Python

การเพิ่มบล็อก หรือเพิ่มคำสั่ง Python สามารถทำได้โดยติดตั้ง Extension เพิ่ม ซึ่งใน microBlock IDE มีเมนู Extension โดยเฉพาะ สามารถกดเข้าไปค้นหา และเลือกติดตั้ง Extension ได้ตามต้องการ

หน้าต่างสำหรับติดตั้ง Extension ใน microBlock IDE

บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

เริ่มต้นใช้งาน microBlock IDE เวอร์ชั่นเว็บ

microBlock IDE เป็นเครื่องมือที่ใช้เขียนโปรแกรมให้บอร์ด KidBright ด้วยภาษาบล็อกและ Python มี 2 เวอร์ชั่น คือ เวอร์ชั่นเว็บ (ออนไลน์) และเวอร์ชั่นโปรแกรม (ออฟไลน์) ในบทความนี้จะมาแนะนำขั้นตอนการจัดเตรียม และใช้งาน microBlock IDE เวอร์ชั่นเว็บเบื้องต้น

เตรียมความพร้อมก่อนเริ่มใช้ microBlock IDE เวอร์ชั่นเว็บ

microBlock IDE เวอร์ชั่นเว็บจำเป็นจะต้องมีการจัดเตรียมฮาร์ดแวร์และเว็บเบราว์เซอร์ก่อน จึงจะเริ่มใช้งานได้

การจัดเตรียมฮาร์ดแวร์

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

เฟิร์มแวร์ MicroPython ที่ใช้งานได้ จะต้องเป็นเฟิร์มแวร์ที่ปรับแต่งมาเฉพาะเท่านั้น สำหรับบอร์ด KidBright โครงการ microBlock ได้จัดทำเฟิร์มแวร์ MicroPython for KidBright ขึ้นมา ซึ่งเป็นเฟิร์มแวร์ที่ฝังไลบารี่เกี่ยวกับอุปกรณ์บนบอร์ด KidBright มาให้แล้ว ทำให้สามารถเรียกใช้ modules เพื่อเขียนโปรแกรมควบคุมสั่งงานอุปกรณ์ต่าง ๆ บนบอร์ดได้เลย

การอัพโหลดเฟิร์มแวร์ MicroPython for KidBright32 สามารถใช้เครื่องมือได้หลายตัว ในบทความนี้จะแนะนำให้ใช้ MicroUploader ซึ่งเป็นโปรแกรมที่โครงการ microBlock จัดทำขึ้น เพื่อใช้อัพโหลดเฟิร์มแวร์ MicroPython โดยเฉพาะ

การใช้โปรแกรม MicroUploader อัพโหลดเฟิร์มแวร์ MicroPython for KidBright32 มีขั้นตอนดังนี้

ดาวน์โหลดโปรแกรม MicroUploader ได้ที่ https://microblock.app/download โดยเลื่อนลงไปด้านล่าง แล้วกดเลือกดาวน์โหลดโปรแกรม MicroUploader ตามระบบปฏิบัติการ ตัวอย่างบทความนี้ใช้ Windows 10 64 บิต จึงเลือก ดาวน์โหลดโปรแกรมสำหรับ Windows 64 บิต

เมื่อดาวน์โหลดมาแล้ว ให้คลายไฟล์ ZIP ออกมา จะได้ไฟล์ MicroUploader.exe มา ให้ดับเบิลคลิกเปิดโปรแกรมได้เลย

หน้าต่างโปรแกรม MicroUploader จะแสดงขึ้นมา (ดังรูป)

เสียบบอร์ด KidBright เข้ากับเครื่องคอมพิวเตอร์ แล้วตั้งค่าในโปรแกรมดังนี้

  1. เลือกบอร์ดเป็น KidBright32
  2. เลือกพอร์ตของบอร์ดให้ถูกต้อง
  3. เลือกเวอร์ชั่นของเฟิร์มแวร์ MicroPython for KidBright32 แนะนำให้เลือกอันแรกสุด

หลังจากตั้งค่าครบแล้ว กดปุ่ม Upload (4) เพื่อเริ่มการอัพโหลดได้เลย

รอโปรแกรม MicroUploader อัพโหลดเฟิร์มแวร์ซักครู่

เมื่ออัพโหลดเสร็จแล้ว โปรแกรมจะแจ้งผลการอัพโหลดให้ทราบ สามารถกดปิดโปรแกรมไปได้เลย

การจัดเตรียมโปรแกรม Google Chrome

microBlock IDE เวอร์ชั่นเว็บเชื่อมต่อกับบอร์ด KidBright ผ่าน Web Serial API ซึ่งปัจจุบันยังไม่ได้รับการเพิ่มเข้า Google Chrome อย่างเป็นทางการ การใช้งานจำเป็นต้องเปิดการตั้งค่าใน Google Chrome ก่อน

การเปิดใช้งาน Web Serial API ให้เปิดโปรแกรม Google Chrome ขึ้นมา จากนั้นเข้าไปที่ chrome://flags (1) ค้นหา #enable-experimental-web-platform-features (2) ตรง Experimental Web Platform features ให้เปลี่ยนเป็น Enabled (3) เป็นอันเสร็จสิ้นการเปิดใช้งาน Web Serial API

การใช้งาน microBlock IDE เวอร์ชั่นเว็บเบื้องต้น

หลังจากเตรียมฮาร์ดแวร์และโปรแกรม Google Chrome เรียบร้อยแล้ว สามารถเข้าใช้งาน microBlock IDE เวอร์ชั่นเว็บได้ที่ https://ide.microblock.app/

การสร้างโปรเจคใหม่

การเข้าใช้งานครั้งแรก บอร์ดจะถูกเลือกเป็น KidBright32 V1.3 & V1.4 หากใช้งานบอร์ด KidBright32 เวอร์ชั่นอื่น จำเป็นต้องเลือกบอร์ดใหม่ก่อน การเลือกบอร์ดใหม่ทำได้โดยสร้างโปรเจคใหม่

กดที่ปุ่ม New Project เพื่อเริ่มขั้นตอนสร้างโปรเจคใหม่

โปรแกรมจะแจ้งเตือนว่า การสร้างโปรเจคใหม่จะทำให้โค้ดโปรแกรมที่เขียนไว้ทั้งหมดถูกลบ (หากไม่ได้บันทึกไว้ก่อน) ให้กด Yes เพื่อยืนยันสร้างโปรเจคใหม่

หน้าต่างตั้งค่าโปรเจคใหม่จะแสดงขึ้นมา ให้ตั้งค่าต่าง ๆ ดังนี้

  1. ตั้งชื่อโปรเจค
  2. เลือกบอร์ด KidBright ที่ใช้ ตัวอย่างใช้ KidBright32 V1.3 จึงเลือก KidBright32 V1.3 & V1.4
  3. เลือกระดับของผู้ใช้ ปัจจุบันมีระดับเดียว
  4. กดปุ่ม Create เพื่อสร้างโปรเจคใหม่

เป็นอันเสร็จสิ้นการสร้างโปรเจคใหม่และเลือกบอร์ดใหม่

ดูบอร์ดที่เลือกปัจจุบันได้ โดยสังเกตที่แถบด้านล่างของโปรแกรม

ทดสอบอัพโหลดโปรแกรม

ทดสอบสร้างโปรแกรมแสดงผลข้อความวิ่ง Hello! บนแอลอีดี 16×8 บนบอร์ด KidBright

คลิกที่หมวด Display (1) จากนั้นคลิกเม้าส์ซ้ายค้างที่บล็อก display show scroll แล้วลากออกมาวางที่พื่นที่ทำงาน (2)

อัพโหลดโปรแกรมโดยกดที่ปุ่ม Upload

Google Chrome จะขึ้นแจ้งเตือนว่า microBlock IDE ต้องการเชื่อมต่อกับบอร์ด KidBright ให้กดเลือกพอร์ต (1) แล้วกดปุ่ม เชื่อมต่อ (2)

โค้ดโปรแกรมจะถูกอัพโหลดลงบอร์ด KidBright ทันที เมื่ออัพโหลดเสร็จแล้ว จะขึ้นข้อความแจ้งเตือน (ดังรูป)

ที่บอร์ด KidBright จะแสดงข้อความวิ่ง Hello! บนแอลอีดี 16×8

ข้อความ Hello! จะแสดงครั้งเดียว หากต้องการให้แสดงตลอดเวลา ให้ใช้บล็อก forever มาซ้อนบล็อก display show scroll (ดังรูป)

อัพโหลดโปรแกรมใหม่อีกครั้ง จะพบว่า ข้อความ Hello! แสดงผลตลอดเวลา แล้ว

การติดตั้ง microBlock IDE เวอร์ชั่นเว็บลงในเครื่อง

เพื่อความสะดวกในการใช้งาน microBlock IDE เวอร์ชั่นเว็บ ผู้พัฒนาได้ใช้เทคโนโลยี Progressive Web App ทำให้ microBlock IDE เวอร์ชั่นเว็บสามารถติดตั้งลงในเครื่องได้ ทำให้ใช้งานแบบออฟไลน์ได้ และเพิ่มความสะดวกในการใช้งานมากยิ่งขึ้น

การติดตั้ง microBlock IDE เวอร์ชั่นเว็บลงในเครื่อง ทำได้โดยคลิกที่ปุ่ม Install microBlock to your PC หรือกดเครื่องหมาย + บนแถบ Address ของ Google Chrome

Google Chrome จะขึ้นหน้าต่างให้ยืนยันการติดตั้ง ใหเกดปุ่ม ติดตั้ง เพื่อยืนยันการติดตั้ง microBlock IDE เวอร์ชั่นเว็บ ลงในเครื่อง

Google Chrome จะติดตั้ง microBlock IDE ลงในเครื่อง และแสดงหน้าต่าง microBlock IDE ที่ไม่มีแถบ Address Bar ขึ้นมา สามารถเขียนโปรแกรมและอัพโหลดโปรแกรมได้เลย

ที่หน้าเดสก์ท็อปจะแสดงไอค่อนของ microBlock IDE ขึ้นมา ในครั้งถัดไปสามารถดับเบิลคลิปที่ไอค่อนดังกล่าวเพื่อเปิด microBlock IDE ขึ้นมาได้เลย


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

เริ่มต้นใช้งาน microBlock IDE เวอร์ชั่นโปรแกรม

microBlock IDE เวอร์ชั่นโปรแกรม มีให้ไฟล์โปรแกรมหลากหลายให้เลือกใช้งาน บทความนี้จะมาแนะนำวิธีการเลือกไฟล์ วิธีการติดตั้งโปรแกรมแต่ละ OS และการใช้งาน microBlock IDE เวอร์ชั่นโปรแกรม เบื้องต้น

การติดตั้งโปรแกรม microBlock IDE

การติดตั้งโปแกรม microBlock IDE แตกต่างกันในแต่ละระบบปฏิบัติการ ดังนี้

ระบบปฏิบัติการ Windows

บนระบบปฏิบัติการ Windows จะแยกเป็น 2 แบบ คือ 1) microBlock IDE สำหรับ Windows 32 บิต และ 2) microBlock IDE สำหรับ Windows 64 บิต การตรวจสอบว่า Windows ที่ใช้ เป็นรุ่น 32 บิต หรือ 64 บิต สามารถอ่านได้จาก วิธีการ เช็คว่า Windows ของคุณเป็นเวอร์ชั่น 32 bit หรือ 64 bit

หลังจากทราบแล้วว่า Windows ที่ใช้เป็นรุ่น 32 บิต หรือ 64 บิต ขั้นตอนต่อมาคือการดาวน์โหลดโปรแกรม microBlock IDE ซึ่งสามารถดาวน์โหลดได้โดยเข้าไปที่ https://microblock.app/download

ในหน้าดาวน์โหลดโปรแกรม microBlock IDE สำหรับระบบปฏิบัติการ Windows จะมีให้เลือกดาวน์โหลด 4 ตัวเลือก โดยมีทั้งแบบไฟล์ติดตั้ง และแบบไม่ต้องติดตั้ง

แบบติดตั้ง

มีขั้นตอนการติดตั้งดังนี้

เปิดไฟล์ติดตั้งที่ดาวน์โหลดมา

หน้าต่างติดตั้งโปรแกรมจะแสดงขึ้นมา ให้รอจนกว่าจะติดตั้งเสร็จ

เมื่อติดตั้งเสร็จ โปรแกรม microBlock IDE จะเปิดขึ้นมาอัตโนมัติ

แบบไม่ต้องติดตั้ง

เมื่อดาวน์โหลดโปรแกรม microBlock IDE แบบไม่ต้องติดตั้งมา จะได้เป็นไฟล์ ZIP สามารถใช้โปรแกรม 7-zip WinRAR หรือโปรแกรมอื่น ๆ คลายไฟล์ออกมา จะได้ไฟล์โปรแกรม microBlock IDE.exe มา ดับเบิลคลิกเพื่อเปิดโปรแกรมได้เลย

สำหรับระบบปฏิบัติการ mac OS

เข้าไปที่หน้าดาวน์โหลดโปรแกรม microBlock IDE https://microblock.app/download ให้ดาวน์โหลดโปรแกรมของ mac OS มา

จะได้ไฟล์ .dmg มา ให้ดับเบิลคลิกเปิดไฟล์ขึ้นมา

จากนั้นรอเปิดไฟล์ซักครู่

หน้าต่างโปรแกรม microBlock IDE จะแสดงขึ้นมา สามารถดำเนินการได้ 2 รูปแบบ

  1. ลากไอค่อน microBlock IDE ไปใส่ในโฟลเดอร์ Applications เพื่อติดตั้งโปรแกรม และเรียกใช้โปรแกรม microBlock IDE ได้จากโฟลเดอร์ Applications ในครั้งต่อไป
  2. ดับเบิลคลิกที่ไอค่อน microBlock IDE เพื่อเปิดโปรแกรม

ตัวอย่างเลือกดับเบิลคลิกเปิดโปรแกรม รอซักครู่ หน้าต่างแจ้งเตือนการเข้าถึงโฟลเดอร์ Documents จะแสดงขึ้นมา กด OK เพื่อยืนยันให้เข้าถึงโฟลเดอร์ Documents

จากนั้นโปรแกรม microBlock IDE ก็แสดงขึ้นมา (ดังรูป)

สำหรับระบบปฏิบัติการ Ubuntu

โปรแกรม microBlock IDE บนระบบปฏิบัติการ Ubuntu สามารถดาวน์โหลดได้ที่ https://microblock.app/download เลือกหัวข้อ ดาวน์โหลดโปรแกรมสำหรับ Ubuntu 64 บิต (ไม่ต้องติดตั้ง)

จะได้ไฟล์นามสกุล .AppImage มา

ไฟล์ .AppImage สามารถดับเบิลคลิกที่ไฟล์เพื่อเปิดโปรแกรมได้เลย แต่จะไม่สามารถอัพโหลดโค้ดโปรแกรมได้ เพราะโปรแกรม microBlock IDE จำเป็นต้องเชื่อมต่อกับบอร์ด KidBright ผ่าน Serial แต่บน Ubuntu การใช้งาน Serial จำเป็นจะต้องใช้สิทธิ์ root

ดังนั้นการเปิดโปรแกรม microBlock IDE จำเป็นจะต้องทำผ่าน Terminal โดยเข้าไปที่โฟลเดอร์เก็บไฟล์ .AppImage แล้วเปิดไฟล์ด้วยคำสั่ง sudo แล้วเพิ่มพารามิเตอร์ –no-sandbox เข้าไปต่อท้าย

โปรแกรม microBlock IDE จะแสดงขึ้นมา สามารถเขียนโค้ดแล้วอัพโหลดโปรแกรมลงบอร์ดได้เลย

การใช้งานโปรแกรม microBlock IDE เบื้องต้น

การติดตั้งเฟิร์มแวร์ MicroPython

เนื่องจากโปรแกรม microBlock IDE ใช้ MicroPython ที่อยู่ในบอร์ด KidBright ในการประมวลผลโค้ดโปรแกรม ดังนั้นในการใช้งานครั้งแรกจึงจำเป็นต้องติดตั้ง MicroPython ลงบอร์ดก่อน

การติดตั้ง MicroPython ลงบอร์ด KidBright ในโปรแกรม microBlock IDE มีขั้นตอนดังนี้

เชื่อมต่อบอร์ด KidBright เข้ากับเครื่องคอมพิวเตอร์ จากนั้นกดที่ Board เลือก Update Firmware

หน้า Firmware Upgrade จะแสดงขึ้นมา ให้กดปุ่ม Upgrade Firmware เพื่อเริ่มการติดตั้ง MicroPython ลงในบอร์ด KidBright

รออัพโหลด MicroPython ซักครู่

เมื่ออัพโหลดเฟิร์มแวร์ MicroPython เสร็จเรียบร้อยแล้ว จะแสดงข้อความ Firmware Upgrade Successful (ดังรูป) ให้กดปุ่ม Close เพื่อปิดหน้าต่างนี้ไปได้เลย

ทดสอบอัพโหลดโปรแกรม

ทดสอบสร้างโปรแกรมแสดงผลข้อความวิ่ง Hello! บนแอลอีดี 16×8 บนบอร์ด KidBright

คลิกที่หมวด Display (1) จากนั้นคลิกเม้าส์ซ้ายค้างที่บล็อก display show scroll แล้วลากออกมาวางที่พื่นที่ทำงาน (2)

อัพโหลดโปรแกรมโดยกดที่ปุ่ม Upload

โค้ดโปรแกรมจะถูกอัพโหลดลงบอร์ด KidBright ทันที เมื่ออัพโหลดเสร็จแล้ว จะขึ้นข้อความแจ้งเตือน (ดังรูป)

ที่บอร์ด KidBright จะแสดงข้อความวิ่ง Hello! บนแอลอีดี 16×8

ข้อความ Hello! จะแสดงครั้งเดียว หากต้องการให้แสดงตลอดเวลา ให้ใช้บล็อก forever มาซ้อนบล็อก display show scroll (ดังรูป)

อัพโหลดโปรแกรมใหม่อีกครั้ง จะพบว่า ข้อความ Hello! แสดงผลตลอดเวลา แล้ว


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)