รีวิว: Pico:ed V2 บอร์ดสมองกลเพื่อการเรียนรู้ด้วย Raspberry Pi RP2040

Pico:ed V2 เป็นบอร์ดที่พัฒนาโดยบริษัท ELECFREAKS ใช้ไมโครคอนโทรลเลอร์ Raspberry Pi Pico RP2040 ที่ได้รับความนิยมมากที่สุดในปัจจุบัน มีปุ่ม Bootsel เพื่อให้ผู้ใช้งานสะดวกในการอัพเดทของเฟิร์มแวร์ ได้ง่ายขึ้น มีปุ่มกดอินพุต แบบกดติดปล่อยดับที่สามารถเขียนโปรแกรมรับค่าได้ 2 ปุ่ม มีการแสดงผล LED แบบ Dot Matrix 7×17 ติดตั้งอยู่บนตัวบอร์ดสำหรับการแสดงกราฟฟิกและข้อความ และมีลำโพงแบบพาสซีพบัซเซอร์เพื่อเล่นเสียงเพลงได้หลากหลาย บอร์ด Pico:ed V2 สามารถเขียนโปรแกรมด้วย CircuitPython หรือ C++ ได้  นอกจากนี้มีการออกแบบรูปทรงที่โค้งมนมากขึ้นเพื่มความน่ารัก และมีการออกแบบขอบพินเป็นคลื่นเพื่อให้ผู้ใช้งานไม่เจ็บมือขณะใช้งาน สีสันสดใส ทำให้มีความสวยงามมากขึ้น อีกทั้งยังสามารถเชื่อมต่อกับอุปกรณ์ต่อพ่วงต่างๆที่ใช้กับ BBC micro:bit ได้ เป็นการเพิ่มการเรียนรู้การเขียนโปรแกรมด้วยภาษา Python และ C/C++ ได้อีกด้วย

คุณสมบัติของบอร์ด Pico:ed V2

  • Raspberry Pi RP2040 โปรเซสเซอร์ Arm Cortex M0+ แบบ Dual Core พร้อม RAM ภายใน 264kB และรองรับชิปแฟลชแบบ QSPI 2MB
  • ขั้วต่อ USB และจุดเชื่อมต่อแบตเตอรี่
  • ไฟ LED แสดงสถานะพลังงานและไฟ LED การถ่ายโอนข้อมูลของ USB
  • แสดงผลด้วย LED 7*17 Dot-matrix
  • ปุ่ม Bootsel และ ปุ่มรีเซ็ต
  • จุดต่ออินพุต เอาต์พุต 25 พิน
  • ปุ่มกดอิพุตแบบกดติดปล่อยดับ 2 ปุ่ม
  • ลำโพงแบบพาสซีพบัซเซอร์
  • สามารถใช้งานเข้ากับอุปกรณ์เสริม BBC micro:bit ได้
  • สามารถใช้ MicroBlocks สำหรับการเขียนโปรแกรมแบบ Block-Base ได้

 รายละเอียดสเปคของบอร์ด Pico:ed V2

รายละเอียด Pin ของบอร์ด Pico:ed V2

สามารถดาวน์โหลดรายละเอียด Pin แบบ HD ได้ที่นี่ >>> Pico-ed-V2-Pin-Diagram.pdf

การติดตั้งเฟิร์มแวร์ CircuitPython

Pico:ed รองรับการเขียนภาษา C,  C++, MicroPython, CircuitPython

CircuitPython เป็นภาษาโปรแกรมที่ออกแบบมาเพื่อลดความซับซ้อนของการเรียนรู้ โดย CircuitPython เป็นวิธีที่ง่ายที่สุดในการเขียนโปรแกรมไมโครคอนโทรลเลอร์ สามารถดาวน์โหลด firmware .UF2 ได้ที่ Link นี้

หลังจากดาวน์โหลด Firmware CircuitPython จากนั้นให้กดปุ่ม BOOTSEL ค้างไว้

จากนั้นเชื่อมต่อ Pico:ed เข้ากับคอมพิวเตอร์ โดยใช้สาย USB และปล่อยปุ่ม BOOSEL บนบอร์ด Pico:ed จากนั้นจะเห็นไดร์ของ Pico:ed “RPI-RP2”

ทำการลากไฟล์ UF2 ที่ดาวน์โหลดมาก่อนหน้านี้ไปยังไดฟ์  “RPI-RP2” และเมื่อติดตั้งเสร็จสิ้น ไดรฟ์ “RPI-RP2” จะหายไป และไดรฟ์ “CIRCUITPY” จะปรากฏขึ้นแทนที่ จากนี้แสดงว่าคุณติดตั้ง CircuitPython สำเร็จแล้ว

สามารถเริ่มเขียนโปรแกรมใน code.py ใน CIRCUITPY ได้เลย

การติดตั้ง Thonny IDE

โดยการทดสอบกับบอร์ด Pico:ed เราจะใช้  Thonny เป็น Python IDE ระดับสำหรับเริ่มต้น ซึ่งออกแบบมาเหมาะสำหรับการเรียนรู้และการสอนการเขียนโปรแกรม พัฒนาโดย Tartu University ในเอสโตเนีย สามารถโหลดและติดตั้งโปรแกรมได้ที่ Link นี้

เปิด Thonny ขึ้นมา จากนั้นคลิกเมนู “Run” เลือก “Configure interperter”

  1. คลิกเลือก “Interpreter”
  2. คลิกเลือก “CircuitPython(generic)”
  3. คลิก “OK” จากนั้นก็ทำการตั้งค่าเสร็จสิ้น

ทดสอบ Onboard LED

Pico:ed V2 แสดงสถานะไฟ LED ที่ติดตั้งอยู่บนบอร์ดให้กระพริบ

โค้ด

Button

Pico:ed V2 มีปุ่มกดแบบอินพุต 2 ปุ่มที่ด้านหน้า โดยแต่ละปุ่มสามารถตั้งโปรแกรมแยกกันหรือใช้ร่วมกันได้

โค้ดทดสอบจะทำการแสดงตัวเลข เริ่มต้นที่ 0 ถ้าหากมีการกดปุ่ม A  ตัวเลขจะ -1 และถ้าหากมีการกดปุ่ม B  ตัวเลขจะ +1

Music

Pico:ed V2 ใช้ลำโพงแบบพาสซีพบัซเซอร์ สามารถตั้งโปรแกรมให้เล่นเสียงตามโน้ตดนตรีประเภทต่างๆ ได้ และยังมีคำสั่งของเพลงสำเร็จรูปมากกว่า 20 เพลงดังนี้

  • DADADADUM
  • ENTERTAINER
  • PRELUDE
  • ODE
  • NYAN
  • RINGTONE
  • FUNK
  • BLUES
  • BIRTHDAY
  • WEDDING
  • FUNERAL
  • PUNCHLINE
  • PYTHON
  • BADDY
  • CHASE
  • BA_DING
  • WAWAWAWAA
  • JUMP_UP
  • JUMP_DOWN
  • POWER_UP
  • POWER_DOWN

โค้ดการทดสอบเล่นเสียงเพลง DADADADUM


โค้ดการทดสอบเล่นเพลงแบบโน้ตเพลง

LED dot-matrix screen

Pico:ed V2 แสดงผล LED แบบ Dot Matrix 7×17 ขับด้วยชิป IS31FL3731 ติดตั้งอยู่บนตัวบอร์ดสำหรับการแสดงกราฟฟิกและข้อความต่างๆ

โค้ดตัวอย่างแสดงข้อความและตัวเลข


พร้อมด้วยชุดคำสั่งแสดงกราฟฟิกมากกว่า 25 ชนิด

  • NO
  • SQUARE
  • RECTANGLE
  • RHOMBUS
  • TARGET
  • CHESSBOARD
  • HAPPY
  • SAD
  • YES
  • HEART
  • TRIANGLE
  • CHAGRIN
  • SMILING_FACE
  • CRY
  • DOWNCAST
  • LOOK_RIGHT
  • LOOK_LEFT
  • TONGUE
  • PEEK_RIGHT
  • PEEK_LEFT
  • TEAR_EYES
  • PROUD
  • SNEER_LEFT
  • SNEER_RIGHT
  • SUPERCILIOUS_LOOK
  • EXCITED

โค้ดตัวอย่างการแสดงกราฟฟิกแบบ HAPPY


โค้ดตัวอย่างการแสดงกราฟฟิกแบบสร้างเอง โดยตัวเลขแต่ละตำแหน่งหมายถึงความสว่างแต่ละดวงของ LED

  • 1 คือแสงเบาสุด
  • 9 คือแสงสว่างสุด

Pins

Pico:ed V2 พินใช้เป็นวิธีการเชื่อมต่ออุปกรณ์ภายนอก และสามารถใช้สายคีบปากจระเข้ เพื่อขยายความสามารถในการใช้งานของ Pico:ed V2 ให้มากยิ่งขึ้น หรือใช้ร่วมกับบอร์ดขยายต่างๆที่ใช้กับบอร์ด BBC:microbit ได้

ในการทดสอบเราได้นำมาใช้งานร่วมกับ RGB:BIT เพื่อนำมาขับไฟ RGB (ws2812b) 16 ดวง โดยเชื่อมต่อ PIN16 (P16)

เราเรียกโปรเจคนี้ว่า RGB Light Box โครงสร้างเราออกแบบและปริ้นเครื่องด้วย 3D Printer ใช้ถ่าน AAA 2 ก้อน (3V)

การเพิ่ม lib สำหรับการการแสดงไฟ RGB

ในการเขียนโปรแกรมหลอดไฟ LED ชนิด RGB (ws2812b) ด้วย CircuitPython จะต้องใช้ไฟล์ไลบรารี่ neopixel ของ Adafruit สามารถดาวน์โหลดไฟล์ไลบรารี neopixel ได้โดย Link นี้และทำการคัดลอกไฟล์ไปไว้ในไดเร็กทอรี “lib” ของไดร์ “CIRCUITPY”

Pico:ed V2 นำมาเสียบกับ RGB:BIT ทำการเขียนโปรแกรมทดสอบแสดงไฟ RGB แบบ Rainbow

โค้ดแสดงไฟ RGB เปลี่ยนสีแบบ Rainbow


นำมาประกอบกันแล้วจะได้ RGB Light Box ที่สวยงามและเปลี่ยนสีได้และทดสอบการเขียนโปรแกรมเปลี่ยนสีแบบ Color Chase

โค้ดแสดงไฟ RGB เปลี่ยนสีแบบ Color Chase

วิดีโอการทำงานและทดสอบบอร์ด Pico:ed V2 กับ RGB Light Box

สรุป

บอร์ด Pico:ed V2 การออกแบบของบอร์ดมีความน่ารัก สีสันสดใส และเป็นมิตรแก่ผู้ใช้งาน สร้างความไม่น่าเบื่อแก่ผุ้เรียน อีกทั้งสามารถนำไปใช้ต่อยอดการเรียนรู้ในการต่อโมดูลต่างๆได้อีกมากมาย หรือนำไปใช้การเรียนรู้ในห้องเรียนสำหรับเด็กๆ ในโรงเรียนที่ต้องการเรียนรู้เกี่ยวกับการเขียนโปรแกรมด้วย CircuitPython ซึ่งเป็นพื้นฐานมาจากภาษา Python ในปัจจุบัน นอกจากนี้ยังสามารถใช้กับอุปกรณ์ต่อพ่วงที่ micro:bit ต่อได้ซึ่งเรียกได้ว่าใช้แทนกันได้เลยเป็นอีกนึงตัวเลือกที่น่าสนใจ สำหรับผู้ที่จะเริ่มต้นเรียนรู้การเขียนโปรแกรมบอร์ด Pico:ed V2 สามารถเขียนได้ทั้ง ภาษา Block-Base (ลากวาง) ภาษา CircuitPython (Python) และภาษา C/C++  บอร์ดนี้ตอบโจทย์ของนักประดิษฐ์ที่จะเริ่มต้นสร้างโปรเจคเล็กๆของตนเองด้วยไมโครคอนโทรลเลอร์ Raspberry Pi RP2040

ผมต้องขอขอบคุณบริษัท ELECFREAKS ที่ส่งบอร์ด Pico:ed V2 ได้มาทดสอบ สามารถหาซื้อ Pico:ed V2 ในราคา $12.90 (~460฿)  ที่ร้านค้า ELECFREAKS

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

โฆษณา
โฆษณา