49
Raspberry Pi Pico: チュートリアル、ピン配置、知っておくべきこと(更新)
ラズベリーパイ ピコW
(画像提供:Tom's Hardware)

Raspberry Pi Picoは、Linuxコンピュータではなく、Arduinoのようなマイクロコントローラボードであるため、以前のPiから大幅に変更されています。Raspberry Pi Picoの最大のセールスポイントは、4ドルという価格と、組み込みプロジェクトに十分なパワーを提供し、年齢や能力を問わずユーザーがコーディングと電子工学を学習できるようにするRP2040チップです。Windows、Apple、Linuxコンピュータ、または別のRaspberry Piをお持ちの場合は、次のプロジェクトでRaspberry Pi Picoを使用する準備がすでに整っています。他のほとんどのRaspberry Piとは異なり、Picoにははんだ付けされていないヘッダーが付属していますが、私たちのリストにある最高のはんだごての1つを使用すれば、すぐにPicoを大きなプロジェクトに対応させる準備が整います。

ラズベリーパイ ピコW

(画像提供:Tom's Hardware)

2022年6月、Raspberry Piは最新モデルとなるRaspberry Pi Pico Wを発表しました。ご想像の通り、WはWi-Fiの略で、InfineonのCYW43439チップを搭載し、オンボードアンテナを介して2.4GHz帯のWi-Fiを提供します。わずか6ドル(初代Picoより2ドル高い)で、低コストで使いやすいIoT​​プラットフォームが手に入ります。

私たちのレビューでは、Pico W をほんの数瞬でオンラインにすることができました。優れたハードウェアと使いやすい MicroPython モジュールの組み合わせにより、Pico W はまもなく世界中の何千もの IoT デバイスに搭載されることになります。

Raspberry Pi Pico を使い始める 

ラズベリーパイ ピコ

(画像提供:Tom's Hardware)

Raspberry Pi Picoは、これまでのどのモデルとも大きく異なります。Raspberry Piチームが開発したカスタムSoC(System on Chip)であるRP2040「Pi Silicon」を搭載した初のデバイスです。133MHzで動作するデュアルコアArm Cortex M0+、264KBのSRAM、そしてファイル保存用の2MBのフラッシュメモリを搭載しています。 

Raspberry Pi Picoの唯一の欠点は、ワイヤレス接続がないことです。しかし、Raspberry Pi Pico Wのおかげで、この問題は解消されました。RP2040はPiシリーズ初のマイクロコントローラーであり、これにより新しい動作方法が導入されました。Picoはコンピューターではなく、別のコンピューター上の外部アプリケーションでコードを記述し、USB経由でマイクロコントローラーにコードを「フラッシュ」する必要があります。Raspberry Pi Picoの入門チュートリアルでは、PCをPicoに接続し、MicroPythonコードをアップロードする方法を説明しています。

Raspberry Pi Picoでコーディング 

ラズベリーパイ ピコ

(画像提供:Tom's Hardware)

Picoとサードパーティ製のRP2040ボードは、MicroPython、CircuitPython、C/C++、Arduinoなど、様々なプログラミング言語に対応しています。Pico用のブロックベースPythonであるPiper Playも提供されています。

MicroPython と C/C++ は Pi Foundation が公式にサポートしている言語ですが、類似の CircuitPython には USB HID の組み込みサポートなどの利点があり、Pico を PC で認識されるキーボード、マウス、ジョイスティックに変えることができます。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Raspberry Pi Pico 上の MicroPython 

MicroPythonは、マイクロコントローラ向けのPython 3のバージョンです。Damien George氏によって開発され、2014年にPyBoard開発ボードで初めて使用されました。それ以来、この使いやすい言語はより多くのデバイスに採用され、Adafruit社によって開発されたMicroPythonのフォークであるCircuitPythonは、同社のボードシリーズ向けにさらなる機能強化を加えています。Raspberry Pi Pico用のMicroPythonコードの作成は、主要なOSすべてで利用可能なThonny Python IDEを使用して行うことができ、Picoを使い始めるための最も手軽な方法です。 

Raspberry Pi Picoのファームウェアオプション

(画像提供:Raspberry Pi LTD)

Raspberry Pi Pico Wのリリースに伴い、新しいPico W 2用とオリジナルボード用の2種類のファームウェアオプションが利用可能になりました。発表ブログ記事で、Raspberry Pi LTDのCEOが、なぜこれが必要なのかを説明しています。

Pico W向けに提供しているこのUF2ファームウェアは、当社のオリジナルPicoボード用の既存のMicroPythonファームウェアとは別のビルドです。リリース後すぐに、メインのMicroPythonリポジトリに変更内容をアップストリームする予定ですが、MicroPythonはアーキテクチャごとではなくボードごとに個別のバイナリを持っているため、今後は常に2つの異なるUF2ファームウェアリリースが存在します。1つはPico用、もう1つはPico W用です。

MicroPythonのフォークであるCircuitPythonがRP2040ボード向けにリリースされました。Adafruitによって開発されたCircuitPythonには、センサー、LCD / OLED / LEDスクリーン、サーマルプリンターなどの出力デバイス向けの充実したモジュールライブラリが付属しています。CircuitPythonをRaspberry Pi Picoに書き込むのは、MicroPythonの書き込みと同じくらい簡単で、MicroPythonやC/C++に戻したい場合でも元に戻すことができます。

C/C++ 

C/C++でコードを記述するには、2つの方法があります。1つ目は、任意のテキストエディタで直接コードを記述し、ワークフローに従ってファイルをビルドしてPicoに書き込む方法です。もう1つは、グラフィカルなワークフローを使用して、MicrosoftのVisual Studio Codeでコードの作成、ビルド、フラッシュプロセスを1つのアプリケーションで処理する方法です。 

これで、Arduino IDEを使ってPico用のコードを書けるようになりました。ArduinoコードはC/C++のコードに近いので、コードの作成とアップロードはArduino IDEを使う方が簡単かもしれません。

Raspberry Pi Pico GPIO ピン配置 

ラズベリーパイ ピコ

(画像提供:Tom's Hardware)
  • 26 × 多機能 3.3V GPIO ピン
  • 2 × SPI、2 × I2C、2 × UART、3 × 12ビットADC、16 × 制御可能なPWMチャネル
  • カスタム周辺機器のサポート用の 8 個のプログラマブル I/O (PIO) ステート マシン。
  • キャスタレーション モジュールを使用すると、キャリア ボードに直接はんだ付けできます。

3.3Vで動作するRaspberry Pi Picoと、より新しいRaspberry Pi Pico Wはどちらも40ピンのGPIOを搭載しています。GPIOのフォームファクタは、以前のRaspberry Piとは異なります。GPIOピンは、デジタル入出力、パルス幅変調(PWM)、そしてI2C、SPI、UART/シリアルといった特殊な通信プロトコルに対応しています。GPIOには、他のRaspberry Piにはない3つのアナログ入力も搭載されており、可変電圧を用いてポテンショメータ、ジョイスティック、光依存抵抗器(抵抗器のカラーコードを参照)などに接続できます。  

ラズベリーパイ ピコ

(画像提供:Tom's Hardware)

GPIO ピン自体には、Raspberry Pi Pico をプロジェクトまたはキャリア ボードにはんだ付けできるようにするための小さな切り欠きであるカステリションが備わっています。  

ラズベリーパイ ピコ

(画像提供:Tom's Hardware)

さらに重要なのは、Picoにヘッダーピンをはんだ付けしてブレッドボードで使用できることです。詳しくは、Raspberry Pi Picoのピンのはんだ付け方法に関するチュートリアルをご覧ください。 

Raspberry Pi Picoでできること 

ラズベリーパイ ピコ

(画像提供:Tom's Hardware)

小売価格 4 ドルの Raspberry Pi Pico は、電子工学プロジェクトを試したり、物理コンピューティングを学習したりするためのコスト効率の高い手段です。 

ロボット工学や電動プロジェクトの中核で Pico のパワーを活用し、温度、湿度、光、汚染に関するセンサーを使用してデータを収集し、プログラミングと電子工学の基礎を学ぶことができます。

RP2040: Raspberry Pi シリコン

Raspberry Pi PicoはRP2040を採用した最初のボードですが、唯一のボードではありません。サードパーティ製のボードは12種類ほど発表されており、そのうち3種類は既に市場に出回っていることが分かっています。 

私たちのお気に入りのサードパーティ製 RP2040 ボードは、Adafruit の Feather RP2040 です。このボードは、16MB のストレージ (Pico では 2MB)、4 つの ADC チャネル (Pico では 3 つ)、RGB ライト、内蔵 Lipo バッテリー コネクタを備えており、最も重要な点として、Adafruit の巨大な Featherwing アドオン ボード エコシステムに接続できる機能を備えています。

Pimoroni Tiny RP2040もテストしました。これは4つのADCチャネル、8MBのストレージ、そしてRGBライトを搭載した超小型ボードです。SparkFunのMicroMod RP2040は、SoCを小型のM.2ボードに搭載しており、様々な機能を持つキャリアボードに接続できます。

Adafruitは、「ItsyBitsy」フォームファクタと小型のQT Py 2040ボードを搭載したItsyBitsy 2040も発表しました。Arduinoは、Wi-FiとBluetoothを搭載したRP2040の派生版であるArduino Nano RP2040 Connectを開発中であると発表しました。SparkFunは、MicroModに加えて、他に2つのRP2040ボードをリリースする予定です。 

RP2040ボードの比較

スワイプして水平にスクロールします

行0 - セル0ラズベリーパイ ピコWラズベリーパイ ピコアダフルーツ フェザー RP2040アダフルーツ イッツィビッツィ RP2040アダフルーツ QT Py RP2040アダフルーツ トリンキー QT2040アルドゥカム ピコ4MLArduino Nano RP2040 接続サイトロンメーカー パイ ピコサイトロンメーカーPi RP2040ピモロニ キーボウ 2040ピモロノ・ピコリポピモロニ タイニー 2040SparkFun マイクロモッドSparkFun Pro マイクロSparkFun シングプラス
GPIO26 × 多機能 GPIO ピン、2 × SPI、2 × I2C、2 × UART、3 × 12 ビット ADC、8 × プログラマブル I/O (PIO) ステート マシン (カスタム周辺機器のサポート用)、カステルテッド モジュールによりキャリア ボードに直接はんだ付けできます。26 × 多機能 GPIO ピン、2 × SPI、2 × I2C、2 × UART、3 × 12 ビット ADC、8 × プログラマブル I/O (PIO) ステート マシン (カスタム周辺機器のサポート用)、カステルテッド モジュールによりキャリア ボードに直接はんだ付けできます。21個の多機能(SPI×2、I2C×2、UART×2、12ビットADC×4、制御可能なPWMチャネル×16、カスタム周辺機器サポート用のプログラマブルI/O(PIO)ステートマシン×8)。キャスタレーションモジュールにより、キャリアボードへの直接はんだ付けが可能です。23 GPIO ピン、16 x PWM 出力、10 x デジタル I/O、4 x アナログ 12 ビット ADC、2 x I2C、SPI、2 x UART、10 x プログラマブル IO11 個の GPIO ピン。7 x デジタル I/O、4 x アナログ 12 ビット ADC、2 x I2C (Stemma QT を含む)、SPI、UART、6 x プログラマブル IO。Stemma QT / Qwiic コネクタ26 × 多機能 GPIO ピン、2 × SPI、2 × I2C、2 × UART、3 × 12 ビット ADC、16 × 制御可能。カスタム周辺機器サポート用の 8 × プログラマブル I/O (PIO) ステートマシン20×多機能3.3V GPIOピン、1×SPI、1×I2C、1×UART、8×12ビットADC、20×制御可能なPWMチャネル、カスタム周辺機器サポート用の8×プログラマブルI/O(PIO)ステートマシン。1×ユーザーLED(GPIO 13)26 × 多機能 GPIO ピン、2 × SPI、2 × I2C、2 × UART、3 × 12 ビット ADC、16 × 制御可能。カスタム周辺機器サポート用の 8 × プログラマブル I/O (PIO) ステートマシン直接GPIOアクセスはありませんが、7つのGroveコネクタがGPIOアクセスを提供します。4つのサーボヘッダーはGPIOとして使用できます。一部のGPIOピンは分離して使用可能です。I2C、シリアル/UART。これらのピンにアクセスするには、はんだ付けが必要です。26 × 多機能 GPIO ピン、2 × SPI、2 × I2C、2 × UART、3 × 12 ビット ADC、16 × 制御可能。カスタム周辺機器サポート用の 8 × プログラマブル I/O (PIO) ステートマシン12個のGPIOピン。7個のデジタルI/O、4個のアナログ12ビットADC、2個のI2C、SPI、UART、デバッグ30 × 多機能 GPIO ピン、2 × SPI、2 × I2C、2 × UART、3 × 12 ビット ADC、16 × PWM 制御可能。カスタム周辺機器サポート用の 8 × プログラマブル I/O (PIO) ステートマシン20 × 多機能 GPIO ピン、1 × SPI、1 × I2C (Qwiic)、2 × UART、4 × 12 ビット ADC、10 × PWM 制御可能。カスタム周辺機器サポート用の 8 × プログラマブル I/O (PIO) ステートマシン18 × 多機能 GPIO ピン、2 × SPI、2 × I2C (Qwiic)、2 × UART、4 × 12 ビット ADC、8 × PWM 制御可能。カスタム周辺機器サポート用の 8 × プログラマブル I/O (PIO) ステートマシン
フラッシュストレージ2MB2MB8MB8MB8MB8MB2MB16MB2MB2MB2MB4 / 16MB8MB16MB16MB16MB
Wi-Fi / BluetoothInfineon CYW43439 2.4GHz Wi-Fi(オンボードアンテナ付き)該当なし該当なし該当なし該当なし該当なし該当なしNina W102 uBlox Wi-Fiモジュール Bluetooth / BLE 4.2ESP01 / ESP8266経由該当なし該当なし該当なし該当なし該当なし該当なし該当なし
追加機能該当なし該当なし1 x WS2812B Neopixel STEMMA QT / Qwiic コネクタ。オンボード バッテリー充電およびホットスワップ可能な LiPo および Lilon バッテリーのサポート。WS2812B ネオピクセル x 1WS2812B NeoPixel Stemma QT / Qwiicコネクタ x 1USB Aコネクタ スタッキングStemma QTボードHiMax HM01B0、最大QVGA(320 x 240 @60fps)0.96インチLCD SPIディスプレイ(160 x 80、ST7735)、3軸ジャイロスコープ、3軸加速度計、3軸コンパス、MemsマイクST LSM6DSOXTR 6軸IMU ST MP34DT06JTR MEMSマイク ATECC608A-MAHDA-T暗号化コプロセッサMicro SD カードリーダー、6 x Grove コネクタ、オンボードテスト LED、3.5mm ジャックとブザー経由のオーディオ出力、RGB LED ユーザーボタンMX1508 モーターコントローラー、2つのDCモーター出力とモーターテストボタン付きLiPo充電、2 x WS2812B NeoPixel RGB LED16個のKailhホットスワップキー、16個のRGB LEDMCP73831充電器(215mA充電電流)。XB6096I2Sバッテリープロテクター、Stemma QT / Qwiicコネクタ、電源ボタン、LEDステータスインジケーターユーザー制御可能なRGB LEDMicroMod は M.2 フォーム ファクターに準拠しており、追加機能を追加するキャリア ボードで使用するように設計されています。WS2812 アドレス指定可能な LED Qwiic / Stemma QT ブレイクアウトLiPoバッテリー充電 充電およびステータスLED WS2812 アドレス指定可能なLED
USBポートマイクロUSBマイクロUSBUSB-CUSB-CUSB-CUSB-AマイクロUSBマイクロUSBマイクロUSBマイクロUSBUSB-CUSB-CUSB-Cキャリアボードに依存USB-CUSB-C
寸法51 x 21 mm51 x 21 mm50.8 x 22.8 mm36 x 18 mm22 x 18 mm2.54 x 17.8 mm51 x 21 mm45 x 18 mm94 x 68 mm88 x 64 mm76 x 76 mm53 x 21 mm22.9 x 18.2 mm22 x 22 mm33 x 17.8 mm58.4 x 22.8 mm

アクセサリとアドオン

画像

1

6

ピモロニ ピコ アクセサリー
(画像提供:ピモロニ)

ファーストパーツとサードパーツのアクセサリは、Raspberry Piとメーカーコミュニティの生命線です。これらは追加機能を提供し、プロジェクトの実現を容易にします。 

Raspberry Pi Picoの新しいフォームファクタには、新しいアクセサリが必要とされています。英国に拠点を置くRaspberry Piの公式販売代理店であるPimoroniが、その第一弾として市場に投入しました。同社は、複数のアドオンを同時に使用できるシンプルなブレイクアウトボードから、高度なオーディオ出力デバイス、RP2040のプログラマブルIOを使用してDVIビデオ信号を生成するVGAデモボードまで、Pico用の12種類の新しいアクセサリをリリースしました。LEDに興味があるなら、112個のRGB LEDを搭載したUnicorn Packがおすすめです。目が眩むほど美しい輝きを放ちます。 

私たちは、次のようないくつかの Pico アクセサリをレビューする機会がありました。

  • Raspberry Pi Pico用Seeed Grove Shieldのレビュー
  • Pimoroni Picoディスプレイのレビュー
  • ピモロニ ピコエクスプローラーベース レビュー
  • Red Robotics Pico 2レビュー:PicoでHATを使う
  • Cytron Maker Pi Pico レビュー
  • Pimoroni Keybow 2040レビュー:2040搭載キーパッド
  • Kitronik Picoモータードライバーとロボティクスボードのレビュー
  • Pimoroni Picoワイヤレスレビュー
  • Uctronics TinyML学習キットのレビュー
  • Red Robotics Pico 2 Piのレビュー

チュートリアルとサポート

Raspberry Piの最大の魅力は、素晴らしいコミュニティと、数千ものチュートリアルが用意されていることです。基本的なものから複雑なものまで、新しいスキルを学ぶのに役立つ優れたチュートリアルが揃っています。 

Picoが市場に登場してからまだ比較的短い期間ですが、Raspberry Piコミュニティはすでに膨大なリソースを開発しています。Tom's Hardwareでは、Picoのハウツー記事を多数公開しており、以下からご覧いただけます。 

  • Raspberry Pi Picoのセットアップとプログラミング方法
  • Raspberry Pi Picoにピンをはんだ付けする方法
  • Raspberry Pi PicoでWi-Fiとインターネットを利用する方法
  • Arduino IDEでRaspberry Pi Picoをプログラムする方法
  • Raspberry Pi Pico 気象ステーションの作り方
  • Raspberry Pi Picoにアナログジョイスティックを接続する方法
  • Raspberry Pi PicoをDCモーターで使う方法
  • Raspberry Pi Picoでモーションセンサーを使う方法
  • Raspberry Pi Picoで超音波センサーを使う方法
  • Raspberry Pi PicoでOLEDディスプレイを使う方法
  • Raspberry Pi Picoで7セグメントディスプレイを使う方法
  • Raspberry Pi Picoをボタンでリセットする方法
  • Raspberry Pi PicoでI2C LCDディスプレイを使う方法
  • シンプルなRaspberry Pi Picoロボットの作り方

レス・パウンダーは、トムズ・ハードウェアのアソシエイトエディターです。クリエイティブテクノロジストとして、7年間にわたり、老若男女を問わず、教育と啓発のためのプロジェクトを手がけてきました。Raspberry Pi Foundationと協力し、教師向けトレーニングプログラム「Picademy」の執筆・提供にも携わっています。