การใช้งาน Arduino IDE + Arduino Core for RP2040 สำหรับบอร์ด Raspberry Pi Pico#

Keywords: Raspberry Pi Pico, RP2040, Arduino RP2040 Core


การเขียนโปรแกรม Arduino Sketch สำหรับ RP2040#

ในปัจจุบันมีตัวเลือกสำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ RP2040 อยู่หลายตัวเลือก เช่น C/C++ และ MicroPython / CirciutPython บทความนี้ แนะนำขั้นตอนการเขียนโปรแกรมด้วย Arduino IDE ในเบื้องต้น โดยเลือกใช้ Arduino RP2040 Core ซึ่งจัดทำโดย Earle Philhower (Online Documentation)

ตัวอย่างอุปกรณ์ที่ได้นำมาทดลองใช้งาน และใช้แรงดันไฟเลี้ยงจากพอร์ต USB

รูป: การใช้งานบอร์ด Raspberry Pi Pico บนเบรดบอร์ด และการต่อปุ่มกดสำหรับ RUN / RESET

เนื่องจากบอร์ด Raspberry Pi Pico ไม่มีปุ่มกดสำหรับรีเซตการทำงานของ RP2040 ดังนั้นแนะนำให้ต่อปุ่มกดที่ขา RUN กับ GND ของบอร์ด (เมื่อกดปุ่ม RUN จะเปลี่ยนเป็นลอจิก LOW แต่ถ้าไม่กดปุ่มหรือปล่อย จะได้ HIGH)

รูป: แผนผังแสดงตำแหน่งของขาบนบอร์ด Raspberry Pi Pico RP2040

 

หากยังไม่เคยได้ติดตั้งใช้งาน ให้ดาวน์โหลดและติดตั้งซอฟต์แวร์ Arduino IDE มีสองเวอร์ชันคือ เวอร์ชันเก่า v1.8.x (Classic) และ เวอร์ชันใหม่ v2.0.0+ (Pro)

เปิดใช้งาน Arduino IDE แล้วไปที่เมนู File->Preferences ซึ่งจะมีหน้าต่างใหม่ปรากฏ (Popup Dialog Window) แล้วเพิ่มรายการ URL ต่อไปนี้ ในช่อง "Additional Boards Manager URLs" แล้วกดปุ่ม OK

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

จากนั้นไปที่เมนู Tools->Board...->Boards Manager และติดตั้ง RaspberryPi Pico/RP2040 (ทดลองใช้เวอร์ชัน v2.6.0)

รูป: การติดตั้ง Arduino Core สำหรับซอฟต์แวร์ Arduino IDE (Classic)

รูป: การติดตั้ง Arduino RP2040 Core สำหรับซอฟต์แวร์ Arduino Pro (v2.0.0)

รูป: การเลือก UF2 Board ใน Arduino Pro (v2.0.0) เพื่ออัปโหลดไฟล์ Arduino Sketch ไปยังบอร์ด Pico RP2040 (เมื่ออยู่ในโหมด Bootloader แล้ว)

 


ถัดไปเป็นโค้ดตัวอย่างสาธิตการเปิดใช้งานพอร์ต Serial เพื่อส่งข้อความ Onboard LED blink demo... จากบอร์ด Pico ไปยังคอมพิวเตอร์ของผู้ใช้ และทำให้ LED กระพริบได้ โดยเปลี่ยนหรือสลับสถานะลอจิกที่ขา GP25 ซึ่งมีวงจร LED อยู่บนบอร์ด

void setup() {
  Serial.begin( 115200 ); // use USB-CDC serial and set baudrate to 115200
  while (!Serial); // wait until the USB-CDC serial is open on the host side
  Serial.println( "Onboard LED blink demo..." );
  pinMode( LED_BUILTIN, OUTPUT ); // set GPIO (GP25) direction to output
}

void loop() {
  // toggle the onboard LED on GP25 pin
  digitalWrite( LED_BUILTIN, !digitalRead(LED_BUILTIN) );
  delay(100);
}

ถัดไปให้เชื่อมต่อบอร์ด Raspberry Pi Pico กับเครื่องคอมพิวเตอร์ของผู้ใช้ผ่านทางพอร์ต USB กดปุ่ม BOOT ค้างไว้ แล้วกดปุ่ม RUN (RESET) จากนั้นปล่อยปุ่ม RUN ก่อนแล้วจึงปล่อยปุ่ม BOOT เพื่อให้บอร์ดเข้าสู่โหมด Bootloader จะมองเห็นไดรฟ์ชื่อ RPI-RP2 ในเครื่องคอมพิวเตอร์ของผู้ใช้ Windows และสามารถนำไฟล์ .UF2 ซึ่งเป็นไฟล์เฟิร์มแวร์สำหรับใช้งานกับบอร์ด Raspberry Pi Pico ได้

รูป: การตั้งค่าตัวเลือกก่อนทำขั้นตอน Build และ Upload ใน Arduino IDE v1.8.x

เมื่อเริ่มต้นใช้งาน อาจมองไม่เห็นพอร์ตอนุกรม (Serial) ที่เชื่อมกับบอร์ด Pico RP2040 ดังนั้นจะต้องทำให้บอร์ดเข้าสู่โหมด Bootloader ตามที่ได้กล่าวไป

โค้ดตัวอย่างนี้มีการใช้คำสั่ง Serial.begin(...) ซึ่งจะทำให้สามารถสื่อสารกับบอร์ดได้ผ่านทาง USB-to-Serial (USB-CDC) เมื่ออัปโหลดไฟล์เฟิร์มแวร์ได้สำเร็จแล้ว จะทำให้มองเห็นพอร์ตอนุกรม

เมื่ออัปโหลดไฟล์เฟิร์มแวร์ได้สำเร็จแล้ว ให้เลือกหมายเลขพอร์ตอนุกรมซึ่งตรงกับบอร์ด Pico ในขณะใช้งาน และไปยัง Tools->Serial Monitor ของ Arduino IDE จึงจะได้รับข้อความจากบอร์ด Pico RP2040 แล้วจะเห็น LED กระพริบ

รูป: เลือกพอร์ตอนุกรมที่เชื่อมต่อกับบอร์ด Pico RP2040 และเปิดใช้งาน Serial Monitor ของ Arduino IDE (Classic)

รูป: ข้อความที่ได้รับเมื่อเปิด Arduino IDE (Pro) - Serial Monitor

 


กล่าวสรุป#

บทความนี้แนะนำการใช้งาน Arduino IDE ร่วมกับ Arduino Core for RP2040 ที่ได้พัฒนาโดย Earle Philhower (ดูเอกสารภาษาอังกฤษ Arduino-Pico Documentation ซึ่งเป็นไฟล์ .pdf สำหรับศึกษาเพิ่มเติมเกี่ยวกับชุดคำสั่ง API)

 


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

Created: 2022-10-09 | Last Updated: 2022-10-09