Getting started with Seeeduino XIAO Microcontroller

สำหรับบอร์ดไมโครคอนโทรลเลอร์ Seeeduino XIAO เป็นอีกหนึ่งตัวที่ออกมาให้นักทดลอง, นักออบแบบหรือกลุ่ม DIY ได้ทดลองกันมาช่วงหนึ่งแล้ว โดยส่วนตัวแอดมินก็ได้ติดตามผลิตภัณฑ์ของค่าย Seeed studio (www.seeedstudio.com) บ้างครับ แต่อาจจะไม่ต่อเนื่อง สำหรับช่วงระยะหลังเห็นค่าย Seeed studio มีสินค้าหลากหลายก็เลยขอมาอัพเตดตัวเองบ้างครับ กับบอร์ดไมโครคอนโทรลเลอร์ Seeeduino ที่ชื่อ XIAO กัน

สำหรับบทความนี้เลยขอมาแนะนำบอร์ดไมโครคอนโทรลเลอร์ Seeeduino XIAO กันก่อนแบบเบื้องต้นและที่สำคัญๆ นะครับ เผื่อท่านที่กำลังเริ่มต้นให้เล่นบอร์ดไมโครคอนโทรลเลอร์มือใหม่ จะได้ตั้งต้นเรียนรู้กับบอร์ดนี้ หรือท่านที่ชองการทดลองด้วยไมโครคอนโทรลเลอร์อยู่แล้วได้พิจารณาการเลือกใช้งานและค้นหาข้อมูลเชิงลึกต่อไปเพื่อการนำไปประยุกต์ใช้งานได้อย่างเหมาะสม

รูปที่ 1 บอร์ดไมโครคอนโทรลเลอร์ Seeeduino XIAO มีขนาดเล็กแบบสี่เหลี่ยม ใช้การเชื่อมต่อกับคอมพิวเตอร์ด้วยพอร์ต USB Type-C รองรับการเขียนโปรแกรมได้ทั้งแบบภาษา C++ จาก Arduino IDE และภาษา Python ซึ่งเลือกใช้งานได้ตามความถนัด โดยโปรแกรมพัฒนาสามารถดาวน์โหลดเพื่อติดตั้งและใช้งานได้ฟรี คือ สำหรับการดาวน์โหลดเพื่อติดตั้งบอร์ด Seeeduino XIAO ให้กับ Arduino IDE ได้ที่ (https://wiki.seeedstudio.com/Seeed_Arduino_Boards/) และการดาวน์โหลดโปรแกรมสำหรับพัฒนาด้วยภาษาไพธอน (https://wiki.seeedstudio.com/Seeeduino-XIAO-CircuitPython/)

รูปที่ 2 บอร์ดทดลองไมโครคอนโทรลเลอร์ Seeeduino XIAO และชีลด์ Grove Shield for Seeeduino XIAO สำหรับการทดลองเบื้องต้น ซึ่งปัจจุบันราคาก็ไม่แพงมากนัก และสามารถสั่งซื้อผ่านช่องทางออนไลนืได้สะดวกครับ ในตางรางที่ข้างล่างเป็นคุณสมบัติของบอร์ดทดลองนี้
คุณสมบัติของบอร์ด Seeeduino XIAO ทั่วไป
CPU | ARM Cortex-M0+ CPU(SAMD21G18) running at up to 48MHz |
Flash Memory | 256KB |
SRAM | 32KB |
Digital I/O Pins | 11 |
Analog I/O Pins | 11 |
I2C interface | 1 |
SPI interface | 1 |
UART interface | 1 |
Power supply and downloading interface | Type-C |
Power | 3.3V/5V DC |
Dimensions | 20×17.5×3.5mm |
จากตารางคุณสมบัติของบอร์ด Seeeduino XIAO นั้นเราจะเห็นว่าตัวประมวลผลจะมีความเร็วค่อนข้างสูงจากความถี่สัญญาณนาฬิกา 48MHz ตัวชิฟ ARM Cortex-M0 และหน่วยความจำต่างๆ มากพอในการพัฒนาโปรแกรมได้มาก ขาอินพุตและเอาต์พุต แบบอะนาลอกและดิจิตอลพอสำหรับใช้ในการทดลองทั้วไป ที่สำคัญคือมีขาเชื่อมต่อสำหรับสื่อสารแบบ I2C interface, SPI interface และ UART interface ที่จะเพื่อความสามารถในการใช้งานได้อีกภายหลังครับ ส่วนรายละเอียดเกี่ยวกับบอร์ดเพิ่มเติมลองเข้าไปที่ Seeeduino-XIAO


รูปข้างบนที่ 3 และ 4 จะเป็นตำแหน่งขาใช้งานต่างของบอร์ด Seeeduino XIAO ด้านหน้าและด้านหลัง ซึ่งเราจะต้อใช้งานบ่อยในการเชื่อมต่อกับอุปกรณ์ต่างๆ เมื่อนำไปใช้งานและการเลือกขาเพื่อนำมาใช้งานตามฟังก์ชั่นที่เหมาะสม
รูปที่ 5 เป็นลักษณะของหน้าเว็บไซต์สำหรับดาวน์โหลดโปรแกมต่างๆ เพื่อด้วยภาษา Python ที่ชื่อ CircuitPython 6.2.0 รวมทั้งไลบารี่ และในส่วนของฮาร์ดแวร์ต่างๆที่จะเกี่ยวของกับการพัฒนา ซึ่งจะช่วยให้เราสามารถเรียนรู้และใช้งานได้เร็วยิ่งขึ้น
รูปที่ 6 แสดงการนำลิงก์ชี้ไปที่แหน่งการดาวน์โหลดไฟล์ของบอร์ด Seeeduino XIAO เพื่อให้โปรแกรม Arduino IDE สามารถเพิ่มการใช้งานบอร์ดทดลองนี้ได้ โดยให้เราไปที่ File > Preferences จากนั้นนำลิงก์ ไปวางตามในรูปที่ 6 แล้วเลือก OK เสร็จแล้วให้เราทำตามขั้นตอนตามรูปที่ 7
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
ในรูปที่ 7 แสดงให้เราดาวน์โหลดไฟล์ต่างๆ เสร็จแล้ว ให้เราไปคลิกที่ Toos > Board > Board Manager จะเห็นไฟล์ต่างๆ ให้เราคลิกเลือกติดตั้ง ซึ่งเมื่อเราคลิกและติดตั้งเรียบร้อยให้เราไปที่ Tools > Board อีกครั้งและเราจะเห็นชื่อบอร์ด Seeeduino XIAO ให้เราเลือกใช้งานได้เลย
ในรูปที่ 8 เป็นวงจรภายในบอร์ดสำหรับ Seeeduino XIAO ซึ่งบางครั้งเราจะต้องดูประกอบกับการเขียนโปรแกรมเพื่อส่งคำสั่งการทำงานมาที่ขาต่างๆ และเราสามารถเข้าใจการทำงานของโปรแกรมทีจะทำงานควบคู่กับอาร์ดแวร์เพิ่มขึ้น

ในรูปที่ 10 เป็นลักษณะของตำแหน่งขาและจุดต่อสำหรับคอนเน็กเตอร์ต่างๆ เพื่อเชื่อมต่อกับอุปกรณ์ภายนอกอินพุตและเอาต์พุต สำหรับขยายความสามารถให้กับบอร์ด Seeeduino XIAO เข่น การแสดงผลที่จอแอลซีดี, การเพิ่มขาควบคุม ON/OFF อุปกรณ์ไฟฟ้าต่างๆ ที่มากว่า 10 จุด หรือการเชื่อมต่อกับอุปกรณ์เซนเซอร์อินพุตผ่าน I2C interface เป็นต้น
สำหรับบทความนี้เป็นการแนะนำบอร์ดทดลองไมโครคอนโทรลเลอร์ Seeeduino XIAO แบบเบื้องต้นก่อนนะครับ ซึ่งจะรวมข้อมูลที่จำเป็นในการพัฒนาต่างๆ ไว้ ซึ่งอาจจะช่วยลดระยะเวลาในการค้นหาข้อมูลให้กับท่านลงได้ เช่น สเปกของบอร์ดต่างๆ เบื้องต้น โปรแกรมที่ใช้ในการพัฒนา ขั้นตอนการติดตั้งและบอร์ดชีลด์ที่นำมาแนะนำเพื่อทดลองใช้งานได้เร็วยิ่งขึ้นและเราสามารถคลิกที่รูปเพื่ออ่านข้อมูลเพิ่มเติมได้ครับ.
Reference
- Seeeduino XIAO – Seeed Wiki (seeedstudio.com)
- How to Add Seeed boards to Arduino IDE – Seeed Wiki (seeedstudio.com)
- Grove Shield for Seeeduino XIAO with embedded battery management chip – Seeed Wiki (seeedstudio.com)
- https://wiki.seeedstudio.com/Seeeduino-XIAO-CircuitPython/
- Seeeduino XIAO_v1.0_191112.sch (seeedstudio.com)
- Seeeduino XIAO Expansion board – Seeed Wiki (seeedstudio.com)
- https://www.seeedstudio.com/Seeeduino-XIAO-Pre-Soldered-p-4747.html
- https://www.seeedstudio.com/Seeeduino-XIAO-Expansion-board-p-4746.html
- https://forum.seeedstudio.com/