รีวิว Maker Uno RP2040 บนโปรแกรม Arduino IDE พร้อมกับ Micro Servo Motor, Maker Soil Module, โมดูล Ultrasonic และจอ OLED I2C

Cytron ได้ผลิตบอร์ด Arduino ตัวล่าสุดชื่อ Maker Uno RP2040 บอร์ดพัฒนาที่ผสมผสานฟอร์มแฟคเตอร์ Arduino/Maker Uno ร่วมกับชิปประมวลผล Raspberry Pi RP2040 และมีหน่วยความจำแฟลชขนาดใหญ่ ทำให้สามารถเขียนโปรแกรมด้วย Arduino IDE (C/C++), Micropython, CircuitPython ทำให้สามารถเข้าถึงได้ทั้งสำหรับผู้เริ่มต้นและผู้ใช้ขั้นสูง

บอร์ดพร้อมกับ Layout การเชื่อมต่อให้มีความสะดวกมากขึ้น เช่น การเพิ่ม Maker Port จำนวน 1 พอร์ต สำหรับเซนเซอร์, Grove Port จำนวน 6 พอร์ต, พอร์ตการเชื่อมต่อ Servo 4 พอร์ต ทำให้ลดระยะเวลาในการเชื่อมต่อ บอร์ดยังมีตัวเลือกการจ่ายไฟสองแบบคือ USB (5V) ผ่านช่องเสียบ USB-C หรือแบตเตอรี่ LiPo/Li-Ion เซลล์เดียวผ่านขั้วต่อ LiPo

Cytron Maker Uno RP2040 front

สเปคของ Cytron Maker Uno RP2040

  • ฟอร์มแฟคเตอร์ Arduino/Maker Uno
  • ขับเคลื่อนโดย Raspberry Pi RP2040
    • Dual-core Arm Cortex-M0+ microcontroller
    • 264 KB internal RAM
  • หน่วยความจำแฟลช 2MB
  • ขั้วต่อ LiPo เซลล์เดียวพร้อมวงจรป้องกันการชาร์จเกิน/ดิสชาร์จในตัว สามารถชาร์จได้ผ่าน USB
  • 6x Grove Ports (Digital I/O, PWM Output, UART, I2C, Analog Input)
  • 1x Maker Ports, เข้ากันได้กับ Qwiic, STEMMA QT และ Grove (ผ่านสายแปลง)
  • 4x Servo Ports
  • 1x USB-C สำหรับจ่ายไฟและเขียนโปรแกรม
  • 16x ไฟ LED แสดงสถานะสำหรับ GPIO
  • 1xPiezo Buzzer พร้อมสวิตช์ปิดเสียง
  • 1x ปุ่มกดที่ผู้ใช้สามารถตั้งโปรแกรมได้
  • 1x ปุ่มรีเซ็ต
  • 1x ปุ่มบูต
  • 2x RGB LEDs (WS2812)
  • ขนาด 60.96 x 9.40 ซม.

Cytron Maker Uno RP2040 bottom

 

Cytron Maker Uno RP2040 PINOUT DIAGRAM
Pinout diagram

บริษัท Cytron ที่ส่ง Maker Uno RP2040 kit พร้อมกับอุปกรณ์เสริมต่าง ๆ โดยในบทความนี้เราจะเริ่มต้นใช้งาน Maker Uno RP2040 บนโปรแกรม Arduino IDE  เริ่มจากทดสอบการเขียนโปรแกรม Blink ไฟกระพริบ, ไฟ LED แบบ RGB, กดปุ่มไฟติด, buzzer ทำให้มีเสียง, ใช้งานร่วมกับ Micro Servo Motor, อ่านค่าเซนเซอร์ด้วย Maker Soil Module และวัดระยะห่างวัดถุด้วยโมดูลเซนเซอร์ Ultrasonic HC-SR04, แสดงข้อความบนโมดูล OLED SSD1315

แกะกล่อง Cytron Maker Uno RP2040 kid

Cytron package

ในกล่อง Maker Uno RP2040 kit ประกอบด้วยบอร์ด Maker Uno RP2040 พร้อมสายเคเบิล female to grove ถึง 4 เส้น, สายเคเบิ้ล USB ตัวบอร์ดและ Silicone Rubber Feet 4 ชิ้น, เซนเซอร์ Maker Soil Moisture พร้อมสายเคเบิล grove to grove 1 เส้น,  เซอร์โวมอเตอร์ SG90 Micro Servo พร้อมุปกรณ์เสริม, เซนเซอร์อัลตราโซนิก HC-SR04 พร้อมสายเคเบิล female to grove ถึง 1 เส้น, จอแสดงผล OLED ขนาด 0.96 นิ้ว แบบ I2C  (128×64 pixel)

Cytron Maker Uno RP2040 kit unboxing

เรามาดูคุณสมบัติของอุปกรณ์เสริมแต่ละตัวกัน

  • Maker Soil Moisture Sensor
Maker Soil Moisture Sensor
Maker Soil Moisture sensor และสายเคเบิ้ล Grove to Grove 50 ซม.

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

  • HC-SR04 Ultrasonic Sensor
Ultrasonic HC SR04 sensor
Ultrasonic HC SR04 sensor พร้อมสายเคเบิล female to grove

เซ็นเซอร์วัดระยะอัลตราโซนิก  HC-SR04 ใช้วัดระยะทางแบบไม่สัมผัสตั้งแต่ 2 ซม. ถึง 400 ซม. โดยมีช่วงความแม่นยำสูงสุด 3 มม.

  • SG90 Micro Servo
SG90 Micro Servo
SG90 Micro Servo และอุปกรณ์เสริม

อุปกรณ์มอเตอร์ ที่สามารถควบคุมการหมุนที่แม่นยำ เซอร์โว SG90 มีขนาดเล็กแรงบิด 1.2-1.4 kg/cm. สามารถหมุน แบบต่อเนื่อง 360 องศาไปกลับได้

  • OLED I2C 0.96Inch 128×64 Blue Display SSD1306 driver

OLED I2C 0.96Inch Display

จอแสดงผล OLED (Organic Light-Emitting Diode) ขนาดเล็กที่สวยงามซึ่งมีความละเอียด 128×64 ที่ขนาดหน้าจอ 0.96 นิ้วนี้  SSD1306 driver, I2C สำหรับแสดงผล มีประโยชน์มากเมื่อคุณต้องการเพิ่มจอภาพให้กับโปรเจ็กต์ของคุณ จอแสดงผล OLED จึงสามารถสร้างข้อความ/รูปภาพที่มีคอนทราสต์สูง และสามารถอ่านได้ง่ายแม้ภายใต้แสงจ้า มันสามารถแสดงข้อมูลได้มากมายแม้จะมีขนาดกะทัดรัด

เริ่มต้นใช้งาน Maker Uno RP2040 ร่วมกับอุปกรณ์ต่างๆ บน Arduino IDE

เริ่มจากเปิดเครื่อง Maker Uno RP2040 สามารถจ่ายไฟ 2 ตัวเลือกคือใช้สาย USB Type-C (5V) และแบตเตอรี่ Li-Po/Li-Ion เซลล์เดียว (3.7V) ในรีวิวเราจะใช้สาย USB Type-C (5V) เพื่อเชื่อมต่อ Maker Uno RP2040 กับโน๊ตบุ๊ก

Power USB Type C 5V laptop

ต่อไปเรามาดูการเขียนโปรแกรม Maker Uno RP2040 สามารถเขียนโปรแกรมได้ด้วย Arduino IDE (C/C++), Micropython, CircuitPython ในรีวิวนี้เราจะเริ่มต้นใช้งานกับโปรแกรม Arduino IDE โดยการติดตั้งโปรแกรม Arduino IDE

Arduino IDE 2.3.2 Download

Cytron มี Tutorials บทช่วยสอนที่มีคำแนะนำวิธีการติดตั้งและตัวอย่างการใช้งานอย่างละเอียด ก่อนที่จะเริ่มเขียนโค้ดมี 3 ขั้นตอนที่ต้องทำ

1. เพิ่ม Maker Uno RP2040

  • ไปที่ เมนู File->Preferences, ที่ช่อง “Additional Boards Manager URLs”   ให้วางลิงก์นี้:  https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json แล้วเลือก OK

Additional Boards Manager URL

  • ค้นหา “Uno RP2040” หากแพ็คเกจบอร์ดแล้วคลิก Install

Uno RP2040 Install

  • ติดตั้งสำเร็จ คุณจะพบบอร์ด Maker Uno RP2040 อยู่ใน Arduino IDE เพียงเลือกจาก Tool > Board > Raspberry Pi Pico/RP2040 > Cytron Maker Uno RP2040

Arduino IDE Tools Board

2. เข้าสู่โหมด Bootloader เชื่อมต่อ Maker Uno RP2040 กับโน้ตบุ๊กแล้วเปิดเครื่อง กดปุ่ม BOOT ค้างไว้แล้วกด RESET (กดเพียงครั้งเดียว! ) จะมีไดรฟ์ใหม่ชื่อ RPI-RP2 ปรากฎขึ้น

Bootloader

3. เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง

  • เลือกบอร์ด Maker Uno RP2040 จาก Tool> Board> Raspberry Pi Pico/RP2040> Cytron Maker Uno RP2040
  • เลือกพอร์ต COM โดยไปที่ Tool> Port (ในครั้งแรกพอร์ต COM จะเป็น “UF2_Board” หลังจากอัปโหลด sketch บอร์ดจะรีเซ็ต และจะมีพอร์ต COM ปรากฎขึ้น) ตอนนี้เราก็พร้อมที่จะเริ่มเขียนโค้ดแล้ว

Arduino IDE Cytron Maker UNO RP2040 port

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้

เลือก Verify และเลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

Maker Uno RP2040 blink

ผลลัพธ์ที่ได้คือจะมี LED ไฟกะพริบบนบอร์ด 2 ดวง (GP0 และ GP1) สลับกันทุกๆ 0.5 วินาที

  • ทดสอบเขียนโปรแกรมไฟ LED แบบ RGB

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้


เลือก Verify และ เลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

Maker Uno RP2040 RGB

ผลลัพธ์ที่ได้คือไฟ LED RGB จะสว่างแยกกันใน 3 สีที่แตกต่างกันตามลำดับจนกว่าจะดับลง จากนั้นจึงทำซ้ำ

  • ทดสอบเขียนโปรแกรมกดปุ่มไฟติด

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้

เลือก Verify และ เลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

Maker Uno RP2040 Button

ผลลัพธ์ที่ได้คือเมื่อกดปุ่ม USER  1 ครั้งจะทำให้ไฟ LED ติดขึ้นเป็นเวลา 0.5 วินาทีแล้วจึงดับลง

  • ทดสอบเขียนโปรแกรมทำให้มีเสียง

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้


เลือก Verify และ เลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

ผลลัพธ์ที่ได้คือ buzzer จะเล่นตัวอย่างทำนองเพลงธีม Mario Bros จากนั้นตอบสนองต่อการกดปุ่มเพื่อเล่นเสียงสั้นๆ

  • ทดสอบเขียนโปรแกรมกับ Micro Servo Motor

Maker Uno RP2040 มีพอร์ตการเชื่อมต่อ Servo จำนวน 4 พอร์ต สามารถเชื่อมต่อไมโครเซอร์โวมอเตอร์เข้ากับพอร์ตเซอร์โวพอร์ตใดพอร์ตหนึ่ง เราจะทดสอบการทำงานโดยเชื่อมต่อไมโครเซอร์โว SG90 เข้ากับพอร์ต S1 (GP14) บน Maker Uno RP2040

Servo 4 ports

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้


เลือก Verify และ เลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

Maker Uno RP2040 Micro Servo Motor

ผลลัพธ์ที่ได้คือเซอร์โวมอเตอร์จะหมุนอย่างราบรื่นจาก 0° ถึง 180° เพิ่มขึ้น 1° ทุกๆ 10 มิลลิวินาที เมื่อถึง 180° มันจะกลับทิศทางและเคลื่อนกลับไปที่ 0° โดยลดลง 1° ทุกๆ 10 มิลลิวินาที

  • ทดสอบเขียนโปรแกรมอ่านค่าเซนเซอร์ด้วย Maker Soil Module และ HC-SR04 Ultrasonic Sensor

อ่านแบบแอนะล็อก

พอร์ต Grove Port ทั้งหมด 6 พอร์ต, มี 3 พอร์ต (3 = A0, 4 = A1, 5= A2,5) ที่มีพินอะนาล็อก สามารถใช้เพื่ออ่านค่าเซนเซอร์แบบแอนะล็อก

Grove ports

เราจะใช้ Maker Soil Module เอาต์พุตของเซนเซอร์เป็นเอาต์พุตแบบอะนาล็อก โดยเชื่อมต่อโมดูล Maker Soil เข้ากับ Maker Uno กับพอร์ต Grove 5 ของ Maker Uno RP2040 รูปด้านล่างแสดงการเชื่อมต่อระหว่างโมดูลกับ Maker Uno RP2040 ใช้สายเคเบิล Grove-to-Female

Maker Uno RP2040 Maker Soil

เราจะทำการวัดความชื้นในแก้วน้ำ เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้


เลือก Verify และ เลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

ผลลัพธ์ที่ได้คือ การอ่านค่าจากเซนเซอร์ควรแสดงบน serial monitor

Arduino IDE Serial Monitor

แสดงค่าความชื้นเป็น 2296 2297 2285 ….

อ่านดิจิทัล

สำหรับเซนเซอร์ดิจิทัล สามารถใช้พอร์ต Grove และ Maker ใดก็ได้ ในรีวิวนี้เราจะใช้โมดูลเซนเซอร์ Ultrasonic สำหรับการวัดระยะห่างจากกลอ่ง โดยเชื่อมต่อโมดูลเซนเซอร์ Ultrasonic กับพอร์ต Grove 6 ของ Maker Uno RP2040 ผ่านสายเคเบิล female to grove (ขา GP20 สีขาวต่อกับขาสัญญาณ ECHO, ขา GP21 สีเหลืองต่อกับขาสัญญาณ TRIG, GND สีดำต่อกับขาสัญญาณ GND, 3.3 V สีแดงต่อกับขาสัญญาณ VCC)

Maker Uno RP2040 with Ultrasonic HC SR04

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้


เลือก Verify และ เลือก Upload sketch ไปยัง Maker Uno RP2040 ของคุณ

Ultrasonic HC SR04

เปิด Serial Monitor เพื่อรับข้อความแสดงค่าระยะห่างของเซนเซอร์และกล่อง ค่าแสดงประมาณ 28 ซม.

Arduino IDE Serial Monitor HC SR04 Ultrasonic Sensor

  • ทดสอบเขียนโปรแกรมแสดงข้อความบน SSD1315 OLED module ผ่าน I2C

Maker Uno RP2040 มีตัวควบคุม I2C 2 ตัว ที่สามารถใช้งานได้บน พอร์ต Maker และพอร์ต Grove 6

Grove port SSD1315 OLED module I2C

เราจะทดสอบเขียนโปรแกรมแสดงข้อความบนโมดูล OLED SSD1315 โดยเชื่อมต่อโมดูล OLED เข้ากับพอร์ต Grove 6 โดยใช้สายสายเคเบิล female to grove (ขา GP20 สีขาวต่อกับขาสัญญาณ SDA, ขา GP21 สีเหลืองต่อกับขาสัญญาณ SCL, GND สีดำต่อกับขาสัญญาณ GND, 3.3 V สีแดงต่อกับขาสัญญาณ VCC)

Grove port SSD1315 OLED module I2C

เปิดโปรแกรม Arduino IDE และตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดและพอร์ต COM ที่ถูกต้อง แล้วโค้ดตามนี้


เลือก Verify และเลือก Upload sketch ไปยัง Maker Uno RP2040 แต่สิ่งที่ได้คือ “Compitation error: u8g2lib.: No cuch file or directory”

error u8g2 Arduino IDE

เราจึงต้องไป ดาวน์โหลด Library U8g2 แล้วเรากลับไปที่ดูที่โค้ดอีกครั้ง เลือก Verify และเลือก Upload sketch แต่ไม่มีข้อความปรากฎบนหน้าจอ ซึ่งโค้ดทุกอย่างถูกต้อง ฉันจึงไปหาโมดูล OLED อันเก่าที่ฉันมีอยู่ และผลลัพธ์ที่ได้คือ โมดูล OLED จะแสดง “Hello” ในบรรทัดแรกและ “Cnx-Software” ในบรรทัดที่สอง

 

Maker Uno RP2040 Displaying Text on OLED module

การเริ่มต้นใช้งานบอร์ด Maker Uno RP2040 บนโปรแกรม Arduino IDE  ทดสอบการเขียนโปรแกรม Blink ไฟกระพริบ, ไฟ LED แบบ RGB, กดปุ่มไฟติด, buzzer ทำให้มีเสียง, ใช้งานร่วมกับ Micro Servo Motor เพื่อทดสอบการหมุนของเซอร์โวมอเตอร์, การอ่านค่าเซนเซอร์ด้วย Maker Soil Module วัดความชื้นในแก้วน้ำ, การอ่านค่าเซนเซอร์วัดระยะห่างวัดถุด้วยโมดูลเซนเซอร์ Ultrasonic HC-SR04, แสดงข้อความบนโมดูล OLED SSD1315 ผ่านพิน I2C, สามารถนำไปใช้งานได้ง่าย สะดวก ไม่ซับซ้อนพร้อมมี Tutorials บทช่วยสอนที่มีคำแนะนำวิธีการติดตั้งและตัวอย่างการใช้งานอย่างละเอียด เหมาะสำหรับเหมาะสำหรับผู้เริ่มต้นใช้งานในการศึกษา ไม่เพียงเท่านั้นคุณยังสามารถนำไปต่อยอด ใช้บอร์ดร่วมกับอุปกรณ์เสริมที่มีประโยชน์อื่นๆ เพื่อยกระดับประสบการณ์การเรียนรู้และจุดประกายความคิดสร้างสรรค์ในระดับสูงต่อไปได้

Maker Uno RP2040 review with Arduino IDE

ขอขอบคุณ Cytron ที่ส่งชุด Maker Uno RP2040 kid มาให้เราได้ทำการรีวิว สามารถซื้อบอร์ด Maker Uno RP2040 ราคาประมาณ 500฿, Maker Soil Moisture Sensor ราคา 160฿, HC-SR04 Ultrasonic Sensor ราคาประมาณ 30฿, SG90 Micro Servo ราคา 58฿, OLED I2C 0.96Inch 128×64 Blue Display ราคา 190฿ บนเว็ปไซด์ของ Cytron (Thailand)

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา