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

รับสมัครเข้าร่วมเวิร์กช็อป เรียนรู้ KidBright32i และ microBlock IDE ผ่านการทำโครงงาน

เวิร์กช็อปสำหรับผู้สนใจเรียนรู้การใช้งานโปรแกรม microBlock IDE พัฒนาโปรแกรมให้บอร์ด KidBright32i เน้นการเรียนรู้ด้วยการพัฒนาโครงงานอย่างง่าย ทั้งโครงงานป้ายไฟวิ่ง โครงงานเปิด-ปิดไฟอัตโนมัติเมื่อมืด และโครงงานที่พาทุกคนกลับไปวัยเด็กอีกครั้งด้วยโครงงานสุดพิเศษ “เขารักเราหรือเปล่านะ” ร่วมเรียนรู้อย่างจริงจังและเล่นสนุกกับแสงสีเสียงได้ในเวิร์กช็อปนี้


👉 สมัครเข้าร่วมเวิร์กช็อป 👈


เนื้อหา

  1. รู้จักกับบอร์ด KidBright32i เบื้องต้น
  2. รู้จักและใช้งานโปรแกรม microBlock IDE พัฒนาโปรแกรมให้บอร์ด KidBright32i เบื้องต้น
  3. โครงงานป้ายไฟวิ่งด้วยบอร์ด KidBright32i
  4. โครงงานเปิด-ปิดไฟอัตโนมัติเมื่อมืด
  5. โครงงาน “เขารักเราหรือเปล่านะ”

อุปกรณ์ที่ใช้

ผู้จัดอบรมได้จัดเตรียมอุปกรณ์ที่ใช้ในการเวิร์กช็อปครั้งนี้ไว้ให้แล้ว ประกอบด้วย

  1. บอร์ด KidBright32i
  2. สาย USB-C
  3. ไฟแอลอีดีแบบ USB
  4. RGB LED แบบวงกลม 12 ดวง + สายจั้ม
  5. อุปกรณ์พิเศษที่ใช้ในโครงงาน “เขารักเราหรือเปล่านะ”

อุปกรณ์ทั้งหมดรวมอยู่ในค่าเวิร์กช็อป 1,177 บาทแล้ว และผู้เข้าเวิร์กช็อปจะได้รับอุปกรณ์ทั้งหมดกลับไป

เครื่องคอมพิวเตอร์

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

สถานที่และเวลา

ห้าง The hub รังสิต (ติดกับห้างเซียร์ รังสิต) ชั้น 2 ห้อง Workshop 2 (งาน MakerFlash)

วัน-เวลา หัวข้อ
30 มกราคม 2564
10.30 – 12.30 น. เรียนรู้ KidBright32i + microBlock IDE ผ่านการทำโครงงาน : ภาคภาษาบล็อก
15.30 – 17.30 น. เรียนรู้ KidBright32i + microBlock IDE ผ่านการทำโครงงาน : ภาคโค้ดไพทอน

 

ผู้เข้าร่วมเวิร์กช็อป

เหมาะสำหรับผู้ที่อายุ 12 ปีขึ้นไป ทั้งเด็ก และผู้ใหญ่ สามารถเข้าร่วมเวิร์กช็อปนี้ได้

[เลื่อนวันปิดรับผลงาน] microBlock Project Challenge การประกวดโครงงานสิ่งประดิษฐ์โดยใช้โปรแกรม microBlock IDE

หลักการและเหตุผล

microBlock IDE เป็นโปรแกรมที่ใช้พัฒนาโค้ดโปรแกรมลงในบอร์ด KidBright32 / OpenKB / IPST-WiFi มีเป้าหมายสำคัญคือช่วยให้นักเรียนและผู้สนใจทั่วไป เรียนรู้การเขียนโปรแกรมและการใช้งานไมโครคอนโทรลเลอร์ได้ง่ายขึ้น ผ่านการเขียนโปรแกรมด้วยภาษาบล็อกและโค้ดไพทอน (MicroPython) ส่งเสริมให้เกิดการพัฒนาทักษะในระดับตัวบุคคล ระดับกลุ่มบุคคล ซึ่งสุดท้ายแล้วกลุ่มบุคคลเหล่านี้จะสามารถนำความรู้ทักษะที่มี ไปประยุกต์ใช้สร้างสรรค์โครงงานต่าง ๆ เพื่อแก้ปัญหาในชีวิตจริงได้ สร้างงาน สร้างอาชีพ พัฒนาคนเพื่อเป็นกำลังสำคัญช่วยพัฒนาประเทศต่อไป

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

วัตถุประสงค์

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

คุณสมบัติผู้เข้าร่วมการประกวด

  • แข่งขันในรูปแบบทีม ต้องมีสมาชิกในทีม 1 ถึง 3 คน
  • คุณสมบัติของสมาชิกทุกคนในทีม ต้องตรงกับข้อใดข้อหนึ่งดังต่อไปนี้
    • เป็นนักเรียนที่กำลังศึกษาอยู่ในระดับมัธยมศึกษาชั้นปีที 1 ถึงปีที 6
    • เป็นนักเรียนที่กำลังศึกษาอยู่ในระดับประกาศนียบัตรวิชาชีพ(ปวช.) ชั้นปีที่ 1 ถึงปีที่ 3
    • บุคคลทั่วไปที่มีอายุ 12 ถึง 18 ปี
  • หากได้รับคัดเลือกให้ผ่านเข้ารอบนำเสนอผลงาน ต้องนำเสนอผลงานของทีมตนเองในงาน MakerFlash ที่จัดขึ้น ณ The Hub รังสิตชั้น 2 วันที่ 30 ถึง 31 มกราฯ 2564 เลื่อนเป็น 26 ถึง 27 มิถุนาฯ 2564 เวลา 10.30 ถึง 15.30 น. ได้ โดยได้รับเงินสนับสนุนค่าเดินทางทีมละ 500 บาท (กรณีไม่สะดวกเดินทางมานำเสนอผลงาน แต่ได้รับคัดเลือกให้ผ่านเข้ารอบนำเสนอผลงาน โปรดติดต่อผู้ดำเนินโครงการเพื่อหาแนวทางการนำเสนอผลงานต่อไป)

คุณสมบัติของโครงงานสิ่งประดิษฐ์

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

เกณฑ์การตัดสิน

รอบคัดเลือก กรรมการผู้ทรงคุณวุฒิตัดสินตามเกณฑ์ดังต่อไปนี้

  1. เป็นโครงงานที่แปลกใหม่ ไม่เคยพบเห็นที่อื่นมาก่อน
  2. ใช้ความคิดสร้างสรรค์ในการสร้างโครงงาน
  3. เป็นโครงงานที่คาดว่าสมาชิกในทีมเป็นผู้ทำโครงงานเอง
  4. ใช้โปรแกรม microBlock IDE เป็นส่วนหนึ่งของการทำโครงงาน

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

แผนการดำเนินโครงการ

โครงการแบ่งออกเป็น 2 ช่วง ดังนี้

1) รอบคัดเลือก

เปิดรับผลงานออนไลน์ กรรมการผู้ทรงคุณวุฒิคัดเลือก 10 โครงงานผ่านเข้ารอบนำเสนอผลงาน

2) รอบนำเสนอผลงาน

ทีมที่ผ่านเข้ารอบจัดเตรียมสื่อและอุปกรณ์นำเสนอผลงาน มานำเสนอผลงานในงาน Maker Flash

รางวัลสำหรับทีมที่ชนะการประกวด

  • รางวัลชนะเลิศ – 6,000 บาท และใบประกาศนียบัตร
  • รางวัลรองชนะเลิศอันดับ 1 – 4,000 บาท และใบประกาศนียบัตร
  • รางวัลรองชนะเลิศอันดับ 2 – 2,000 บาท และใบประกาศนียบัตร
  • รางวัลชมเชย (1) – 1,500 บาท และใบประกาศนียบัตร
  • รางวัลชมเชย (2) – 1,500 บาท และใบประกาศนียบัตร

ทีมที่ผ่านเข้ารอบนำเสนอผลงาน ได้รับใบประกาศนียบัตรทุกทีม

 

 

Special thanks

โครงการ microBlock Project Challeng ได้รับสนับสนุนเงินรางวัลโดย ผู้สนับสนุนโครงการ microBlock และ บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด (INEX : www.inex.com) ทางโครงการ microBlock ขอขอบคุณมา ณ ทีนี้ 🙏

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)