📃
micropython
  • Programming with MicroPython
  • MicroPython for BBC Micro:bit
    • BBC Micro:bit Overview
    • Micro:bit Code Examples
  • MicroPython for STM32
    • MicroPython Firmware Flashing for STM32
    • STM32 Code Examples
  • MicroPython for ESP32
    • WebREPL
    • ESP32 Code Examples
    • How To Blink LEDs with ESP32
    • ESP32 Programming with M5Stack Core
    • ESP32 with Dual-Channel DAC Output
    • ESP32 Networking
  • Arduino C/C++ versus MicroPython
  • Building MicroPython Firmware
  • MicroPython Benchmarking
  • MicroPython for RP2040 Pico
    • RPi Pico RP2040 Code Examples
    • PIO Programming
    • PIO Signaling and Measurement
  • CircuitPython
    • CircuitPython with Piper Make
    • CircuitPython for SAMD21
    • SAMD21 Code Examples
    • CircuitPython for STM32
    • STM32 Code Examples
    • CircuitPython for Pico RP2040
  • List of PDF Files
Powered by GitBook
On this page
  • Piper Make Editor
  • เริ่มต้นใช้งาน Piper Make Editor
  • การสร้างโปรเจกต์ใหม่และเริ่มต้นต่อบล็อก
  • กล่าวสรุป

Was this helpful?

  1. CircuitPython

CircuitPython with Piper Make

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

PreviousCircuitPythonNextCircuitPython for SAMD21

Last updated 4 years ago

Was this helpful?

Piper Make Editor

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

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

ถัดไปจะต้องเตรียมบอร์ด 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 จะแสดงขั้นตอนที่ต้องดำเนินการไปตามลำดับดังนี้

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

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 เป็นพื้นฐานในการทำงาน

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

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

ข้อสังเกต: ในขั้นตอนการติดตั้งไฟล์เฟิร์มแวร์ จะมีการดาวน์โหลดไฟล์จาก มายังเครื่องคอมพิวเตอร์ของผู้ใช้

Piper
Piper Foundation
https://make.playpiper.com/
https://make.playpiper.com/assets/firmware/piper_circuitpython.uf2
Piper Make
Raspberry Pi Pico
RP2040 SoC
รูป: Piper Make Concept (Source: Piper)
รูป: Piper Make - Main Page
รูป: ลำดับขั้นตอนการติดตั้งไฟล์ UF2 Firmware
รูป: การสร้างโปรเจกต์ใหม่
รูป: ตัวอย่างการเลือกพอร์ต USB Serial ที่ตรงกับบอร์ด Pico
รูป: โค้ดที่ประกอบด้วยบล็อกที่ได้นำมาต่อกัน (ดาวน์โหลดมาเป็นไฟล์ .PNG)
รูป: ตัวอย่างโมดูลที่สามารถนำมาใช้งานได้