Seeeduino XIAO Microcontroller (LAB2)

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

Seeeduino XIAO Microcontroller
รูปที่ 1 แสดงลักษณะของโปรแกรมที่เขียนบน PC

จากโปรแกรมที่แสดงข้างล่างนั้นสามารถอธิบายคร่าวๆ คือ เรากำหนดขาใช้งานแอลอีดีที่ขา 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); อีกครั้ง สำหรับให้แอลอีดีติดและดับตามค่าที่เราปรับสลับกันและจะทำงานต่อเนื่อง

Seeeduino XIAO Microcontroller
รูปที่ 2 แสดงค่าที่เกิดขึ้นจาก Serial monitor

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

Seeeduino XIAO Microcontroller
รูปที่ 3 ลักษณะของวงจรที่ต่อและใช้ในการทดลอง

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

Reference

  1. Seeeduino XIAO – Seeed Wiki (seeedstudio.com)
  2. How to Add Seeed boards to Arduino IDE – Seeed Wiki (seeedstudio.com)
  3. Grove Shield for Seeeduino XIAO with embedded battery management chip – Seeed Wiki (seeedstudio.com)
  4. https://wiki.seeedstudio.com/Seeeduino-XIAO-CircuitPython/
  5. Seeeduino XIAO_v1.0_191112.sch (seeedstudio.com)
  6. Seeeduino XIAO Expansion board – Seeed Wiki (seeedstudio.com)
  7. https://www.seeedstudio.com/Seeeduino-XIAO-Pre-Soldered-p-4747.html
  8. https://www.seeedstudio.com/Seeeduino-XIAO-Expansion-board-p-4746.html
  9. https://forum.seeedstudio.com/