แนะนำบอร์ดไมโครคอนโทรลเลอร์ BBC Micro:bit#

Keywords: BBC Micro:bit, Microcontroller Programming, Physical Computing


บอร์ดไมโครบิต#

ในเดือนมีนาคม ปีค.ศ. 2015 สถานีโทรทัศน์สื่อสาธารณะของสหราชอาณาจักร หรือ BBC (British Broadcasting Corp.) ได้เปิดตัวโครงการบอร์ดไมโครคอนโทรลเลอร์สำหรับเยาวชน ที่มีชื่อว่า BBC Micro:bit ("ไมโครบิต") ภายใต้ชื่อโครงการ "BBC’s Make It Digital Campaign"

โครงการดังกล่าวมีวัตถุประสงค์หลักคือ การส่งเสริมการเรียนรู้ด้านโค้ดดิ้งและวิทยาการคำนวณให้แก่เยาวชน และได้มีการแจกจ่ายบอร์ดไปยังโรงเรียนต่าง ๆ ในประเทศอังกฤษในปีค.ศ. 2016 เป็นต้นมา และจำหน่ายบอร์ดไมโครบิตให้ผู้ที่สนใจ บอร์ดไมโครบิตเวอร์ชันแรก (BBC Micro:bit v1) มีอยู่สองรุ่นที่มีการใช้งานแพร่หลายคือ v1.3B และปรับปรุงเป็น v1.5 ตามลำดับ

บอร์ดรุ่น v1.3B ใช้ชิป NXP/Freescale MMA8652 (3-axis accelerometer) และ NXP/Freescale MAG3110 (3-axis magnetometer) แต่รุ่น v1.5 ได้เปลี่ยนมาใช้ชิป ST LSM303GR (3-axis accelerometer + 3-axis magnetometer)

ต่อมาในเดือนตุลาคม ค.ศ. 2020 ทาง Microbit Educational Foundation ได้เปิดตัวบอร์ดไมโครบิตเวอร์ชันใหม่ที่แตกต่างหรืออัปเกรดจากเวอร์ชันแรก บอร์ดไมโครบิต BBC Micro:bit v2 ซึ่งมีความแตกต่างจากบอร์ดรุ่นแรก BBC Micro:bit v1 และมีการปรับปรุงแก้ไข ได้แก่เวอร์ชัน v2.00 และ v2.21 (เป็นเวอร์ชันล่าสุด ในขณะที่เขียนบทความนี้) ตามลำดับ

แม้ว่าจะมีขนาดของบอร์ด และขาต่าง ๆ ของส่วนที่เรียกว่า 25-pin Edge Connector จะเหมือนกัน ความแตกต่างที่สำคัญระหว่างบอร์ดไมโครบิต v1.5 และ v2.x ได้แก่ ตัวชิปไมโครคอนโทรลเลอร์ที่ใช้งาน ซึ่งได้มีการเปลี่ยนจาก nRF51822 (Arm Cortex M0) มาเป็น nRF52833 (Arm Cortex M4) ดังนั้นจึงมีความสามารถในการประมวลผลสูงกว่า และมีหน่วยความจำมากกว่า

รูป: บอร์ดไมโครบิต (Micro:bit v1 และ Micro:bit v2)

  • Micro:bit v1 (v1.3 & v1.5):
    • Application (Target) MCU: nRF51822, ARM Cortex-M0 processor, 16 MHz, 256kB Flash 16kB SRAM
    • Radio: 2.4GHz BLE Bluetooth 4.0
    • Nordic SoftDevice: S110
    • Interface MCU: NXP KL26Z
  • Micro:bit v2 (v2.0 / v2.2):
    • Application (Target) MCU: nRF52833, ARM Cortex-M4 processor, 64 MHz, 512kB Flash, 128kB SRAM
    • Radio: 2.4GHz BLE Bluetooth 5.1 (Bluetooth Mesh, Thread, Zigbee)
    • Nordic SoftDevice: S113
    • Interface MCU: NXP KL27Z หรือ nRF52820

รูป: แสดงขาเชื่อมต่อในส่วนที่เรียกว่า Edge Connector ของบอร์ดไมโครบิต v2 (ซ้าย) และ v1 (ขวา)

บอร์ด Micro:bit v2 ยังมีชิปไมโครโฟน (SPU0410LR5H-QB-7 MEMS Microphone) มีลำโพงเสียง (Speaker) และบริเวณที่เป็นโลโก้ (Logo) สามารถใช้งานเป็นอินพุตแบบ Capacitive Touch Sensor

บอร์ดไมโครบิต v1 มีความสามารถในการจ่ายไฟเลี้ยงกระแสตรงจากขา 3.3V ของ Edge Connector ได้ไม่เกิน 90mA (เนื่องจากใช้วงจรควบคุมแรงดัน แบบ On-chip regulator ของชิป KL26Z) แต่สำหรับบอร์ด v2 จะได้มากขึ้นกว่ารุ่นแรก แต่ไม่เกิน 190mA เนื่องจากได้มีการเปลี่ยนมาใช้ไอซีควบคุมแรงดัน แบบ On-board LDO Regulator (NCP114-3.3V)

วงจรหรือไอซีบนบอร์ดทั้งสองเวอร์ชันที่มีเหมือนกัน เช่น

  • 5x5 Programmable LED matrix
  • MicroUSB Connector
  • Push Buttons A & B
  • Reset Button
  • Edge Connector
  • JST Battery Connector
  • ST LSM303AGR Accelerometer / Digital Compass (I2C)

ตัวเลือกสำหรับการเขียนโค้ด#

เนื่องจากบอร์ดไมโครบิตได้ถูกออกแบบมาเพื่อนำไปใช้สำหรับการเรียนรู้การเขียนโปรแกรมหรือโค้ดดิ้งสำหรับเยาวชน ดังนั้นภาษาคอมพิวเตอร์หรือรูปแบบที่ใช้ในการเขียนโค้ด จึงอาจไม่ใช่ภาษา C/C++ หรือ Arduino และตัวเลือกแรกจะเป็น Microsoft MakeCode Editor for Micro:bit ซึ่งใช้วิธีการเขียนโค้ดด้วยการต่อบล็อก (Block-based Coding) และสามารถแปลงให้เป็นโค้ดในภาษา Static TypeScript (STS) ได้โดยอัตโนมัติ

ในช่วงเวลาต่อมาก็สามารถใช้ภาษา Python และมี Online Python Editor for Micro:bit หรืออาจจะใช้ร่วมกับโปรแกรม Scratch ก็ได้เช่นกัน แต่ตัวเลือกสำหรับการเขียนโค้ดด้วยภาษาไพธอนสำหรับบอร์ดไมโครบิตรุ่นแรกได้เริ่มต้นในเดือนตุลาคม ปีค.ศ. 2015 เมื่อ Damien George ได้เผยแพร่เวอร์ชันของ MicroPython ("ไมโครไพธอน") สำหรับบอร์ดไมโครบิต ชุดคำสั่งหรือฟังก์ชันของ MicroPython for Micro:bit มีความแตกต่างจากคำสั่งของ MakeCode - Python for Micro:bit

ในปัจจุบันก็มีหลายตัวเลือกในกลุ่มซอฟต์แวร์ประเภท Editors / IDEs ที่ใช้งานได้ จำแนกออกเป็นประเภท Offline (ต้องติดตั้งโปรแกรมในเครื่องคอมพิวเตอร์ของผู้ใช้) และ Online (ใช้งานผ่านเว็บเบราว์เซอร์) และในบางกรณี ผู้ใช้สามารถจำลองการทำงานของโค้ดได้ โดยยังไม่จำเป็นต้องใช้ฮาร์ดแวร์จริง

การเขียนโปรแกรมด้วยไมโครไพธอน (MicroPython Editor) จะต้องมีการติดตั้งไฟล์เฟิร์มแวร์ด้วย

MicroPython Firmware for Micro:bit v2

ในกรณีที่ต้องการเขียนโค้ดด้วยภาษา C/C++ สำหรับบอร์ดไมโครบิต ก็มีมากกว่าหนึ่งตัวเลือก เช่น

  1. ใช้ซอฟต์แวร์ VS Code IDE + nRF Connect SDK for VS Code ของบริษัท Nordic ผู้ผลิตชิป nRF52833 หรือใช้ nRF MDK (Microcontroller development kit) ร่วมกับ IDE อย่างเช่น SEGGER Embedded Studio (SES)
  2. ใช้ซอฟต์แวร์ CODAL v2 ที่ได้มีการพัฒนาโดยนักวิจัยของมหาวิทยาลัย Lancaster University ในประเทศอังกฤษ ช่วยให้การเขียนโปรแกรมด้วยภาษา C/C++ โดยใช้ API ทำได้ง่ายขึ้น แต่ CODAL v2 จะใช้ได้กับเฉพาะกับบอร์ดไมโครบิต v2 (เวอร์ชันสอง) เท่านั้น
  3. ใช้ซอฟต์แวร์ Arduino IDE และติดตั้ง Arduino Core for nRF52 และเขียนโปรแกรมด้วย Arduino Sketch ซึ่งรองรับบอร์ดไมโครบิต v1 และ v2

 


แหล่งข้อมูลเกี่ยวกับไมโครบิต#

Micro:bit Technical References:

ตัวอย่างสินค้าที่ใช้บอร์ดไมโครบิต


กล่าวสรุป#

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

 


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Created: 2023-03-05 | Last Updated: 2023-03-08