「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

and more...

Lab.以外の情報を紹介しています。

プロセッサー「RP2040」を搭載した小型のコンピューターボード

Raspberry Pi Pico(ラズベリー・パイ Pico)

2022-06-012022-06-01

ラズベリー・パイ財団が独自に開発したプロセッサー「RP2040」を搭載した小型のコンピューターボード「Raspberry Pi Pico(ラズベリー・パイ Pico)」を紹介します。

Raspberry Pi Pico(ラズベリー・パイ Pico)

Raspberry Pi Pico(ラズベリー・パイ Pico)は、ラズベリー・パイ財団が独自に開発したプロセッサー「RP2040」を搭載した小型のコンピューターボードです。RP2040が持つほぼすべてのGPIOを外部へ引き出し、センサーや無線通信などの付加機能を省くことにより、低価格で提供されています。

ラズベリー・パイ財団が独自に開発したプロセッサー「RP2040」

ラズベリー・パイ財団が独自に開発したプロセッサー「RP2040」は、最高速度133MHzで動作するArm Cortex-M0+を2つ(下図のProc0とProc1)持つデュアルコアのプロセッサーです。

メインRAMとして264KバイトのSRAMを内蔵しています。プログラム保存用のフラッシュメモリーは外付けで、XIP(Execute-In-Place)を通して、Quad SPI(QSPI)インタフェースで接続されます。外付けフラッシュメモリーは、メモリー空間の0x10000000番地からマッピング(最大16Mバイト)され、内部メモリーのように参照することができます。

RP2040には、30個(0~29)のGPIOがあり、うち4個(26~29)がADコンバーター(ADC)に接続されています。また、SPI・I2C・UART・16チャネルのPWMを搭載しています。

Raspberry Pi Pico(ラズベリー・パイ Pico)のGPIO

Raspberry Pi Picoは、プログラム保存用として2Mバイトの外付けフラッシュメモリーをボード上に実装しています。また、RP2040が持つ30個のGPIOのうち、4個が予約済みGPIO(RP2040の23~25、29)としてボード上で使われ、残りの26個が外部へ引き出されています。GPIOのロジックレベルは3.3Vです。

Raspberry Pi Picoピンアウト図

Raspberry Pi Picoピンアウト図 Raspberry Pi Documentation - Raspberry Pi Pico
  • GPIO×26:GP0~GP22(デジタル)、GP26~GP28(デジタル/アナログ)
  • ADC(12ビット)×3:ADC0~ADC2
  • UART×2:UART0、UART1
  • SPI×2:SPI0、SPI1
  • I2C×2:I2C0、I2C1
  • PWM×16チャネル

予約済みGPIOの25番は、ボード上のLED(GP25)に接続されています。ハードウェア用のプログラミングでは、最初にLEDを点滅させるのが常套手段(Lチカなど)ですが、Raspberry Pi Picoでは、このLEDをプログラムで制御できます。

Raspberry Pi Pico(ラズベリー・パイ Pico)の電源

Raspberry Pi Picoに電源を供給する方法は主に3つあります。USBコネクターにパソコンや5Vの電源ユニットをつなぐ方法(a)、VBUSピンに5Vを供給する方法(b)、VSYSピンに1.8V~5.5Vを供給する方法(c)です。いずれの方法も3V3ピンから外部回路用として3.3Vが出力されます。この3V3ピンは出力専用なので、電源に接続してはいけません。

Recommended ways of powering Raspberry Pi Pico

Recommended ways of powering Raspberry Pi Pico Hardware design with RP2040 - 3.1 Power

予約済みGPIOの24番はVBUSピンの監視、29番はVSYSピンの電圧監視、23番は省電力制御に用いられています。

Raspberry Pi Pico(ラズベリー・パイ Pico)の外観

Raspberry Pi Picoの大きさは、51.3mm×21mm×3.9mm(USBコネクタ含まず)で、40ピンのDIP(Dual Inline Package)形状となっています。

ボードの長辺側には、それぞれ20個のスルーホールがあり、ピンヘッダーを取り付けることができるので、ブレッドボードなどで手軽に回路の試作・実験ができます。また、スルーホールの外側には、半円状の端面スルーホールがあり、直接ユニバーサル基板などにハンダ付けすることができます。

図1-1.Raspberry Pi Pico(ラズベリー・パイ Pico)
図1-1.Raspberry Pi Pico(ラズベリー・パイ Pico)

短辺側の一方は、パソコンと接続するためのUSBコネクタです。もう一方はSWD(Serial Wire Debug)と呼ばれるデバッグ用の信号線(3ピン)が引き出されています。

ボード上にある白いボタンはBOOTSELと呼ばれるもので、押しながら起動するとマスストレージデバイスとして認識され、ドライブとして見えるようになります。このドライブに特別なUF2ファイル(ファームウェアなど)をコピーすると、フラッシュメモリーに書き込まれます。

Raspberry Pi Pico(ラズベリー・パイ Pico)の開発環境

Raspberry Pi Picoの開発環境として、MicroPythonC/C++ SDKが公式から提供されています。MicroPythonは、Python 3というプログラミング言語をベースに開発されたもので、マイクロコントローラーという制限された環境で動作することを目的として最適化されたインタプリターです。最小限のPython標準ライブラリーとMicroPython固有のライブラリーに加えて、MicroPythonが動作するマイクロコントローラーに合わせて、そのハードウェアを操作する固有のライブラリーが用意されています。

Get Started with MicroPython on Raspberry Pi Pico

Thonnyを使って、MicroPythonでプログラミングを行います。環境の構築からブレッドボードを使った外部回路の制御まで詳しく解説しています。

図1-2は、Python IDE(統合開発環境)であるThonnyを使って、Raspberry Pi Picoボード上のLEDを点灯させるMicroPythonスクリプトを記述した例です。

図1-2.MicroPythonによるオンボードLEDの点灯
図1-2.MicroPythonによるオンボードLEDの点灯

MicroPythonでは、machineモジュール(上記スクリプトの1行目)にハードウェア固有のクラスや関数が含まれています。Raspberry Pi Picoのmachimeモジュールを見ると、Pin(GPIO)・I2C・PWM・SPI・ADCなどのクラスが含まれ、これらをMicroPythonで制御できることがわかります。

Python IDE(統合開発環境)であるThonnyを使って、Raspberry Pi Picoの開発に必要な手順を紹介しています。ぜひ参考にしてください。

おすすめ

Raspberry Pi Pico

RP2040マイクロコントローラーチップをベースにした、低コストで高性能のマイクロコントローラーボードです。

Get Started with MicroPython on Raspberry Pi Pico

In Get Started with MicroPython on Raspberry Pi Pico, you will learn how to use the beginner-friendly language MicroPython to write programs and connect hardware to make your Raspberry Pi Pico interact with the world around it.

確かな力が身につくPython「超」入門 第2版

著 者
鎌田 正浩
出版社
‎SBクリエイティブ
発売日
2022/03/08

ワンランク上を目指す人のためのPython実践活用ガイド

著 者
鈴木 たかのり 他
出版社
‎技術評論社
発売日
2022/03/04

Pythonプログラミングパーフェクトマスター[Python3/Anaconda/PyQt5対応第3版]

著 者
金城 俊哉
出版社
‎秀和システム
発売日
2020/12/19

Pythonプログラミング逆引き大全 400の極意

著 者
金城 俊哉
出版社
‎秀和システム
発売日
2021/1/16

スッキリわかるPython入門

著 者
国本 大悟 他
出版社
‎インプレス
発売日
2019/6/13
この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動
2017 sanuki.com Inc.