CircuitPython with Piper Make

แนะนำการใช้งาน CircuitPython และเขียนโค้ดด้วยวิธีการต่อบล็อก (Block-based Coding) สำหรับบอร์ด Raspberry Pi Pico (RP2040)

Piper Make Editor

Piper Make เป็น Online Code Editor / Drag-and-Drop Coding Platform สำหรับการเขียนโค้ดด้วยวิธีการต่อบล็อก และใช้สำหรับบอร์ดไมโครคอนโทรลเลอร์ Raspberry Pi Pico ที่ใช้ตัวประมวลผล RP2040 SoC

ผู้พัฒนาและให้บริการ Piper Make คือ บริษัท Piper ซึ่งได้ก่อตั้งขึ้นเมื่อปีค.ศ. 2014 และเป็นบริษัท Startup ในประเภท EdTech ตั้งอยู่ในเมือง San Francisco, CA สหรัฐอเมริกา และในปีค.ศ. 2021 ได้จัดตั้งมูลนิธิชื่อว่า Piper Foundation เพื่อสนับสนุนกิจกรรมด้าน STEM Education

เริ่มต้นใช้งาน Piper Make Editor

เริ่มต้นใช้งานโดยการเปิดเว็บเบราว์เซอร์ เช่น Google Chrome ไปยังเว็บ https://make.playpiper.com/ ตามรูปตัวอย่างต่อไปนี้

ถัดไปจะต้องเตรียมบอร์ด Raspberry Pi Pico และเลือกทำขั้นตอน Tools > Setup my Pico

ถัดไปเป็นการอัปโหลดไฟล์เฟิร์มแวร์ (Firmware) ที่ได้มาจากเว็บไซต์ของ Piper Make เพื่อนำไปใส่ลงในหน่วยความจำแฟลซของบอร์ด Pico

ในขั้นตอนนี้ บอร์ด Pico จะต้องเข้าสู่โหมด UF Bootloader ซึ่งทำได้โดยการกดปุ่ม BOOTSEL บนบอร์ด Pico ค้างไว้ แล้วเสียบสาย USB เข้าที่พอร์ต microUSB และอีกด้านหนึ่งของสาย ให้เสียบเข้ากับพอร์ต USB ของคอมพิวเตอร์ผู้ใช้ จากนั้นเมื่อปล่อยปุ่มแล้ว จะมองเห็น USB Drive ปรากฏขึ้น (RPI-RP2)

Piper Make จะแสดงขั้นตอนที่ต้องดำเนินการไปตามลำดับดังนี้

ข้อสังเกต: ในขั้นตอนการติดตั้งไฟล์เฟิร์มแวร์ จะมีการดาวน์โหลดไฟล์จาก https://make.playpiper.com/assets/firmware/piper_circuitpython.uf2 มายังเครื่องคอมพิวเตอร์ของผู้ใช้

ในขณะที่จัดทำเอกสารนี้ เวอร์ชันของไฟล์เฟิร์มแวร์ที่ได้ดาวน์โหลดและติดตั้งใช้งานคือ

Adafruit CircuitPython 6.2.0-beta.3-74-gaa0288a21-dirty on 2021-03-17

เมื่อติดตั้งเฟิร์มแวร์ได้สำเร็จแล้ว ถัดไปเป็นการสร้างโปรเจกต์ใหม่ แล้วลองเขียนโค้ดด้วยวิธีการต่อบล็อก

การสร้างโปรเจกต์ใหม่และเริ่มต้นต่อบล็อก

ในหน้าต่างหลัก จะเห็นว่า มีไอคอนให้เลือกคือ New Project สำหรับการสร้างโปรเจกต์ใหม่ หรือจะลองดูตัวอย่างโปรเจกต์ที่มีมาให้แล้ว เช่น Blink หรือ Traffic Light เป็นต้น

ให้ลองสร้างโปรเจกต์ใหม่ แล้วตั้งชื่อโปรเจกต์ใหม่

ถัดไปลองกดปุ่ม Connect บริเวณมุมซ้ายล่าง เพื่อลองดูว่า สามารถเชื่อมต่อกับบอร์ด Pico ที่ได้ติดตั้งเฟิร์มแวร์ไว้แล้วได้หรือไม่

เมื่อสามารถเชื่อมต่อกับบอร์ด Pico ได้แล้ว ข้อความ Connect (สีเขียว) จะเปลี่ยนเป็น Disconnect (สีแดง)

ลองดูบล็อกคำสั่งต่าง ๆ ซึ่งมีการจัดแบ่งเป็นกลุ่ม ตามรูปตัวอย่างดังนี้

ถัดไปให้ตั้งชื่อโปรเจกต์ใหม่ เช่น Pico_Demo-1 จากนั้นมาลองต่อบล็อกเพื่อทำให้ LED บนบอร์ด Pico กระพริบได้ (ตรงกับขา GP25) และลองส่งข้อความผ่านทาง USB-to-Serial

เมื่อต่อบล็อกตามตัวอย่างได้สำเร็จแล้ว ถ้ากดปุ่ม DOWNLOAD จะได้ไฟล์ .PNG

ถ้าต้องการรันโค้ด โดยใช้บอร์ด Pico ให้กดปุ่ม START ตรงมุมซ้ายบน

ให้ลองกดปุ่ม DIGITAL VIEW แล้วจะมองเห็นรูปกราฟิกของบอร์ด ซึ่งจะมีการเปลี่ยนแปลงที่บริเวณ LED25 ติดและดับสลับกัน

หรือถ้าเปลี่ยนไปหน้า CONSOLE ก็จะเห็นข้อความที่ได้รับมาจากบอร์ด Pico

ถ้าเปลี่ยนไปหน้า PYTHON ก็จะเห็นโค้ด CircuitPython ที่ได้มีการแปลงโดยอัตโนมัติมาจากบล็อกคำสั่งที่ได้นำมาต่อเข้าด้วยกัน

ตัวอย่างโค้ด CircuitPython จากตัวอย่างในรูป มีดังนี้

## ---- Imports ---- ##
from piper_blockly import *
import time
import board

## ---- Definitions ---- ##
GP25 = piperPin(board.GP25, "GP25")

## ---- Code ---- ##
consoleClear()
print('Hello Raspberry Pi Pico!')
while True:
  GP25.setPin(1)
  time.sleep(1)
  GP25.setPin(0)
  time.sleep(1)

แม้ว่า Piper Maker จะมีบล็อกคำสั่งให้เลือกใช้สำหรับเขียนโค้ดได้โดยทั่วไป แต่ยังขาดบล็อกสำหรับโมดูลฮาร์ดแวร์ประเภทต่าง ๆ จากที่เห็นได้ในส่วนของ LIBRARY มีรายการให้เลือกค่อนข้างจำกัด เช่น

  • อุปกรณ์พื้นฐาน เช่น ปุ่มกด สวิตช์เลื่อน หลอด LED

  • โมดูล Temperature Sensor

  • โมดูล Color Sensor

  • โมดูล Ultrasonic Range Finder Sensor

  • โมดูล R/C Servo

กล่าวสรุป

Piper Make Editor ก็ถือว่าเป็นบริการฟรีที่ทำให้ผู้ใช้สามารถฝึกเขียนโค้ดแบบต่อบล็อกบนหน้าเว็บเบราว์เซอร์ สำหรับบอร์ดไมโครคอนโทรลเลอร์ Raspberry Pi Pico ซึ่งมีราคาไม่แพง การทำงานของ Piper Make ในส่วนที่เป็นเฟิร์มแวร์นั้นได้ใช้ CircuitPython ของบริษัท Adafruit เป็นพื้นฐานในการทำงาน

Last updated