📃
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
  • บอร์ดไมโครคอนโทรลเลอร์ Raspberry Pi Pico
  • การติดตั้งไมโครไพธอนสำหรับ RPi Pico
  • แหล่งข้อมูลและเอกสารอ้างอิง
  • กล่าวสรุป

Was this helpful?

MicroPython for RP2040 Pico

แนะนำการใช้งานไมโครไพธอนสำหรับบอร์ด Raspberry Pi Pico ที่ใช้ตัวประมวลผล RP2040 -- เริ่มต้นเขียนเมื่อวันที่ 12 กุมภาพันธ์ พ.ศ. 2564

บอร์ดไมโครคอนโทรลเลอร์ Raspberry Pi Pico

บริษัท Raspberry Pi (Trading) Ltd. (Cambridge, UK) ได้เปิดตัวบอร์ดไมโครคอนโทรลเลอร์ที่มีชื่อว่า "Raspberry Pi Pico" ในวันที่ 21 มกราคม พ.ศ. 2564 ซึ่งถือว่าเป็นก้าวแรกในทิศทางการพัฒนาฮาร์ดแวร์ที่ไม่ใช่คอมพิวเตอร์บอร์ดเดี่ยว (Single-Board Computer: SBC) และได้มีการตั้งราคาไว้ที่ $4 จึงเป็นบอร์ดประเภท Low-Cost (ราคาจำหน่ายในประเทศไทยจะอยู่ราว ๆ ไม่เกิน 200 บาท)

รายละเอียดเกี่ยวกับบอร์ด RPi Pico มีดังนี้ (Board Specifications)

  • RP2040 microcontroller chip designed by Raspberry Pi (UK)

  • Dual-core Arm Cortex M0+ processor, clock running up to 133 MHz

  • 264KB of SRAM, and 2MB of on-board Flash memory

  • USB 1.1 with device and host support

  • Low-power sleep and dormant modes

  • Drag-and-drop programming using mass storage over USB

  • 26 × multi-function GPIO pins (Pico I/O voltage is fixed at 3.3V!!!)

  • 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels

  • On-chip temperature sensor

  • Accelerated floating-point libraries on-chip

  • 8 × Programmable I/O (PIO) state machines for custom peripheral support

หน่วยความจำ SRAM ขนาด 264 KB ก็คือว่า คอนข้างมากสำหรับไมโครคอนโทรลเลอร์ 32 บิต และความจุของ Flash ขนาด 2 MB ก็เหมาะสำหรับการสร้าง Flash-based File System เอาไว้ใช้งาน

รหัส “RP2040” มีความหมายอย่างไร ?

  • RP = Raspberry Pi

  • 2 = Dual Core

  • 0 = Arm Cortex M0+

  • 4 = floor(log2(264 KB/16 KB)) — 264 KB SRAM

  • 0 = floor(log2(0 / 16KB)) — no on-chip Flash memory

ในเชิงฮาร์ดแวร์ เราอาจกล่าวเกี่ยวกับบอร์ด Raspberry Pi Pico (RP2040) ได้ดังนี้

  • ตัวประมวลผลแบบสองแกน: ภายในชิปไมโครคอนโทรลเลอร์ RP2040 มีซีพียูตระกูล ARM Cortex M0+ อยู่สองแกน (Dual-Core) ความเร็วปรกติ 48 MHz แต่ก็สามารถปรับโดยซอฟต์แวร์ให้ รันได้สูงถึง 133 MHz

  • ไม่มี on-chip Flash และใช้ Serial Flash ภายนอก: บอร์ด RPi Pico มี 2 MB external Quad-SPI Flash (สูงสุด 16 MB)

  • มาพร้อมกับ UF2 Bootloader ใน ROM ทำให้ง่ายต่อการอัปโหลดโปรแกรมลงไปในหน่วยความจำของบอร์ด

  • ตัวประมวลผลที่รองรับการใช้งาน Native USB: สามารถโปรแกรมให้รองรับการทำงานแบบ USB CDC จึงไม่จำเป็นต้องใช้ USB-to-Serial Chip (เช่น CP210x, CH34x) และรองรับ USB MSC (Mass Storage) เป็นต้น

  • ใช้ SWD (Serial-Wire Debug) สำหรับ Flashing / In-Circuit Debugging

  • รับอินพุตแรงดันไฟเลี้ยงสำหรับบอร์ดได้จากขา VUSB / VSYS: ขา 5V (VSUB) หรือขา VSYS (รับแรงดันไฟฟ้าในช่วงกว้าง ตัังแต่ 1.8V ถึง 5.5V)

  • มีวงจรประเภท Programmable I/O (PIO) จำนวน 2 ชุด แต่ละวงจรประกอบด้วยวงจรหน่วยย่อยที่ทำงานแบบ State Machine อีก 4 ชุด เหมาะสำหรับงานประเภท Real-Time I/O

การติดตั้งไมโครไพธอนสำหรับ RPi Pico

การติดตั้งเฟิร์มแวร์สำหรับไมโครไพธอนไปยังบอร์ด RPi Pico ก็ทำได้ไม่ยาก มีขั้นตอนดังนี้

2) กดปุ่ม BOOTSEL บนบอร์ด RPi Pico ค้างไว้ จากนั้นเสียบสาย microUSB เชื่อมต่อกับคอมพิวเตอร์ของผู้ใช้ แล้วปล่อยปุ่ม BOOTSEL

3) จากนั้นจะมองเห็น USB Drive ในคอมพิวเตอร์ ให้ลากไฟล์ .uf2 ไปใส่ลงในไดรฟ์ดังกล่าว แล้วรอให้บอร์ด RPi Pico รีเซตการทำงานใหม่อีกครั้ง

เมื่อได้ติดตั้งไฟล์ไมโครไพธอนไปยังบอร์ด RPi Pico แล้วก็สามารถใช้โปรแกรมอย่างเช่น Thonny IDE เชื่อมต่อกับบอร์ด RPi Pico และเริ่มต้นการเขียนโปรแกรม

โค้ดตัวอย่าง: การทำให้ LED ที่อยู่บนบอร์ด ซึ่งตรงกับขา GPIO-25 (GP25) กระพริบได้โดยการเปลี่ยนสถานะลอจิก High และ Low สลับไปเรื่อย ๆ

import machine
import utime

# use onboard LED
led = machine.Pin(25, machine.Pin.OUT)
try: 
    while True:
        state = not led.value()
        led.value( state )
        print('LED state:', state)
        utime.sleep(0.5)
except KeyboardInterrupt:
    pass
led.value(0) # turn off LED

แหล่งข้อมูลและเอกสารอ้างอิง

กล่าวสรุป

บอร์ด RPi Pico มีจุดเด่นหลายประการ และราคาก็ไม่แพง แม้ว่าจะไม่รองรับการเชื่อมต่อกับระบบเครือข่าย เช่น Wi-Fi หรือ Bluetooth ถ้าไม่มีโมดูลเสริม แต่ก็ถือว่าเป็นอีกหนึ่งตัวเลือกสำหรับผู้ที่สนใจจะลองใช้บอร์ดไมโครคอนโทรลเลอร์ที่มีตัวประมวลผลตระกูล ARM Cortex-M Series และนำมาเขียนโค้ดไมโครไพธอน หรือภาษา C/C++

PreviousMicroPython BenchmarkingNextRPi Pico RP2040 Code Examples

Last updated 4 years ago

Was this helpful?

Source:

Ref.:

เขียนโปรแกรมได้โดยใช้ภาษา C/C++ และ / ในเบื้องต้น

ผู้พัฒนาไมโครไพธอน (Damien George) ได้พัฒนาโค้ดไมโครไพธอนให้สามารถใช้ได้กับ RP2040 และเรียก MicroPython port (เริ่มต้นที่เวอร์ชัน v1.13) นี้ว่า ""

1) ดาวน์โหลดไฟล์ .uf2 (เช่น ไฟล์pico_micropython_20210121.uf2) มายังเครื่องผู้ใช้ และสามารถเลือกไฟล์ล่าสุดได้จาก

ไฟล์โค้ดตัวอย่างสาธิตการทำงานไมโครไพธอนสำหรับ RP2040:

ไฟล์เอกสาร .PDF แนะนำการใช้งาน MicroPython API / SDK:

ไฟล์เอกสาร .PDF สำหรับ RP2040 Datasheet:

ไฟล์เอกสาร .PDF สำหรับ Pico Datasheet:

เผยแพร่ภายใต้ลิขสิทธิ์ Attribution-ShareAlike 4.0 International ()

https://datasheets.raspberrypi.org/pico/pico_datasheet.pdf
https://www.raspberrypi.org/documentation/pico/getting-started/
MicroPython
CircuitPython
rp2
https://micropython.org/download/rp2-pico/
https://github.com/raspberrypi/pico-micropython-examples
https://datasheets.raspberrypi.org/pico/sdk/pico_python_sdk.pdf
https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf
https://datasheets.raspberrypi.org/pico/pico_datasheet.pdf
CC BY-SA 4.0
รูป: บอร์ด Raspberry Pi Pico มุมมองจาก Top View และ Bottom View
รูป: Pico Pinout Diagram
รูป: หน้าเว็บสำหรับดาวน์โหลดไฟล์ .uf2
รูป: การเขียนและรันโค้ดตัวอย่างสำหรับไมโครไพธอน
รูป: ตัวอย่างการตั้งค่าใน Thonny IDE เพื่อเชื่อมต่อกับบอร์ด RPi Pico