Seeeduino XIAO Microcontroller (LAB2)

ในการทดลองที่ 2 จะเป็นการใช้คำสั่งเพิ่มเติมจากการทดลองครั้งที่ 1 เพื่อให้เราสามารถใช้งานคำสั่งที่สำคัญได้ คือ คำสั่ง analogRead(A1); และคำสั่ง SerialUSB.begin(115200); ทั้งนี้คำสั่ง analogRead(A1); จะช่วยให้เราสามารถนำบอร์ดไปใช้ในการรับค่าสัญญาณต่างๆ สำหรับการควบคุมพื้นฐานทั่วไป โดยเราสามารถอ่านค่าจากตัวบอร์ดได้ทันที และในส่วนของคำสั่ง SerialUSB.begin(115200); จะช่วยในเรื่องของการ Debugger ค่าต่างๆ ซึ่งโปรแกรมกำลังประมวลผลอยู่นั้นเอง

จากโปรแกรมที่แสดงข้างล่างนั้นสามารถอธิบายคร่าวๆ คือ เรากำหนดขาใช้งานแอลอีดีที่ขา D0, ขารับสัญญาณอะนาลอกที่ขา A1 และอัตราความเร็วในการสื่อสารข้อมูลที่ 115200 ในเบื้องต้น
/*
Seeeduino XIAO Microcontroller LAB2
LED ON/OFF at D0 control by VR
Date : 30-5-64
*/
int ledPin = 0; // D0 Pin LED
int sensorPin = A1; // D1 Pin ADC A1
void setup() {
pinMode(ledPin, OUTPUT);
SerialUSB.begin(115200);
}
void loop() {
int sensorValue = analogRead(sensorPin);
SerialUSB.print(" ADC Read = ");
SerialUSB.println(sensorValue);
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
}
จากนั้นในส่วนของลูปหลัก (void loop) เราจะสังเกตว่าที่ขา A1 จะทำหน้าที่รับค่าสัญญาณอะนาลอกเข้ามาจากตัวต้านทานปรับค่า VR แสดงในรูปที่ 3 จากนั้นจะแสดงค่าที่ได้ไปยังพอร์ต Serial Monitor เพื่อแสดงผลที่ได้ (SerialUSB.println(sensorValue);) ต่อมาก็จะนำค่านี้ไปใช้ในการหน่วงเวลา ที่คำสั่ง delay(sensorValue); อีกครั้ง สำหรับให้แอลอีดีติดและดับตามค่าที่เราปรับสลับกันและจะทำงานต่อเนื่อง

รูปที่ 2 เป็นการแสดงค่าที่อ่านได้จากขาอะนาลอก A1 ซึ่งจะมีการเปลี่ยนแปลงค่าตามที่เราต้องการเมื่อเราปรับ โดยการเปลี่ยนแปลงค่านี้ทำให้เราเห็นความสัมพันธ์กันการใช้คำสั่งในโปรแกรมและการแสดงผลที่ได้ให้เราทราบ

สำหรับการทดลองที่ 2 นี้ยังคงเป็นพื้นฐานเบื้องต้น สำหรับนำไปใช้ในการประยุกต์กับงานในรูปแบบต่างๆ ซึ่งในการทดลองต่อไปเราจะนำคำสั่งเหล่านี้มาใช้ในการทำโครงงานเล็กๆ กันครับ เพื่อให้ลักษณะของการนำบอร์ด 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/