Getting Started with the Raspberry Pi Pico Microcontroller and Arduino IDE [EP3]

ในตอนที่ 3 เป็นการทดลองเกี่ยวกับการแปลงสัญญาณอะนาลอกเป็นดิจิตอล (ADC Converter) จากตัวอย่างคำสั่งง่ายๆ โดยเขียนโปรแกรมด้วย Arduino IDE และใช้ตัวต้านทานปรับค่า (VR) ต่อเข้าที่ขา 26 (ADC0) แล้วทดลองปรับค่าเพื่อสังเกตผลที่เกิดขึ้น อีกส่วนหนึ่งจะทดลองนำคำสั่งและวงจรต่างๆ ไปจำลองการทำงานที่เว็บไซต์ https://wokwi.com สำหรับแชร์ผลการทดลองให้ผู้อ่านและเป็นการทบทวนการทดลองอีกครั้ง

รูปที่ 1 แสดงกลุ่มตำแหน่งขา ADC สำหรับบอร์ด Raspberry Pi Pico

ในการทดลองครั้งนี้จะใช้ขา GPIO 26 หรือ ADC0 (ในตำแหน่งกรอบสีแดงรูปที่ 1) เพื่อทดลองใช้ตัวอย่างโปรแกรมและการต่อสัญญาณอะนาลอกอินพุตสำหรับทดลองการแปลงให้เป็นค่าดิจิตอล ซึ่งตัวอย่างโปรแกรม Arduino ดังแสดงข้างล่าง

  int ADCpotValue = 0;
void setup() {
  Serial.begin(9600);
  analogReadResolution(12);
  delay(500);
}
void loop() { 
  ADCpotValue = analogRead(26);  // GPIO 26 @Analog ADC0
  Serial.println(ADCpotValue);
  delay(100);
}

ในตัวอย่างโปรแกรมสำหรับทดลองรับค่าสัญญาณอะนาลอกอินพุตมาการแปลงให้เป็นค่าดิจิตอล จะคล้ายกับการใช้งานของบอร์ดควบคุมในกลุ่ม Arduino จากนั้นให้ทำการโปรแกรมคำสั่งลงไปยังบอร์ด Raspberry Pi Pico เพื่อทดลองและสังเกตการทำงาน

รูปที่ 2 ผลการทดลองการแปลงสัญญาณอะนาลอกให้เป็นค่าดิจิตอล

ในรูปที่ 2 แสดงผลการทดลองในการแปลงสัญญาณอะนาลอกให้เป็นค่าดิจิตอลที่เกิดขึ้น โดยจะให้โปรแกรมแสดงเป็นกราฟด้วยคำสั่ง Serial plotter จากนั้นทดลองปรับค่าความต้านทานให้เกิดการเปลี่ยนแปลงเพื่อสังเกตผลที่ได้ โดยลักษณะการต่อวงจรแสดงในรูปที่ 3

รูปที่ 3 การทดลองโปรแกรมคำสั่งและวงจรที่เว็บไซต์ https://wokwi.com

รูปที่ 3 เป็นการทดลองโปรแกรมคำสั่ง Arduino และวงจรที่เว็บไซต์ https://wokwi.com เพื่อสังเกตการทำงานอีกครั้งและสามารถแชร์ผลการทดลองให้กับผู้อ่านได้ โดยในโปรแกรมจะเห็นปุ่มสีเขียวเริ่มการทำงาน (Start the simulation) ให้คลิกแล้วเลือกโหมดการแสดงผลเป็นกราฟที่มุมขวาล่าง ทดลองใช้เม้าเลื่อนปรับตัวต้านทาน จะเห็นกราฟสีเขียวเกิดการเปลี่ยนแปลงตามค่าสัญญาณอะนาลอกที่ป้อนเข้ามายังขา GPIO 26 หรือ ADC0

Raspberry Pi Pico LAB ADC : https://wokwi.com/projects/470667403794134017

รูปที่ 4 แสดงลักษณะการทดลองต่อบอร์ด Raspberry Pi Pico

สำหรับการทดลองการแปลงสัญญาณอะนาลอกเป็นดิจิตอล (ADC Converter) กับบอร์ด Raspberry Pi Pico จะคล้ายกับการทดลองด้วยบอร์ด Arduino ทั่วไป แต่ความเร็วในการประมวลผลและความละเอียดของการแปลงสัญญาณที่ได้ค่อนข้างสูง ช่วยให้เราสามารถนำบอร์ดไมโครคอนโทรลเลอร์นี้ไปประยุกต์ใช้งานในด้านต่างๆ ได้หลากหลายยิ่งขึ้น

Reference

  1. https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html
  2. https://randomnerdtutorials.com/
  3. https://github.com/micropython/micropython/wiki
  4. https://pip-assets.raspberrypi.com/categories/610-raspberry-pi-pico/documents/RP-008355-DS-1-raspberry-pi-pico-python-sdk.pdf
  5. https://projecthub.arduino.cc/angadiameya007/getting-started-with-raspberry-pi-pico-in-arduino-ide-5e13ee
  6. https://th.cytron.io/p-edu-project-and-innovation-kits-for-pico-w
  7. https://wokwi.com/pi-pico
  8. https://thonny.org/