注目キーワード

【Arduino】Raspberry Pi Pico をArduinoでプログラミング!Hello Worldからはじめよう。

すけろく
Raspberry Pi Picoを手に入れたぞ!
げんろく
おお、Raspberry Pi のマイコンだな。
MicroPythonでプログラムできるな。
すけろく
ん?
Arduinoではプログラムできないのか?
げんろく
いや、できるぞ。
今回はそのあたりを紹介しよう。
最近、「Raspberry Pi 4B」や、「Raspberry Pi Zero」など、Linuxベースのコンピュータは、どこも品薄で入手が困難ですよね。。。
でも「Raspberry Pi」で唯一、入手が容易なものをご存じでしょうか。
それが、「Raspberry Pi Pico」です。

記事内でご紹介するRaspberry Pi Picoはこちら!

created by Rinker
Raspberry Pi
¥1,260 (2024/04/26 17:11:12時点 Amazon調べ-詳細)
Arduino、C/C++、MicroPythonに対応している組み込み開発キットです。
正確なタイマ機能を搭載しています。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ
今回は、この「Raspberry Pi Pico」を、Arduino IDE でプログラミングしてみたいと思います。

Raspberry Pi Picoとは?

 Raspberry Pi Pico とは?

Raspberry Pi財団が独自に開発したARM Cortex M0+デュアルコアのRP2040マイコンを搭載した開発基板です。
C/C++およびMicroPythonで開発が可能となっています。
ただし、他のRaspberry Piとは異なりLinux OSは搭載できないため、注意が必要です。
Raspberry Pi Pico」へのプログラムの書き込みは次の通りになります。
  1. 本体の「BOOT SEL」ボタンを押しながらPCに接続する
  2. フォルダとして認識される
  3. プログラムファイルをフォルダへコピー&ペーストする

今回は、Arduino IDEから書き込みますので、上記の方法は使用しません。

 基本仕様

項目 仕様
CPU Raspberry Pi(UK)設計のRP2040マイコン搭載
デュアルコア ARM Cortex M0+プロセッサ、最大動作周波数 133 MHz
メモリ SRAM:264KB、フラッシュメモリ:2MB
USB USB 1.1 ホスト/デバイス両対応
microUSB端子搭載
GPIO 端面スルーホールを備えているため直接キャリアボードへのはんだづけが可能
26 x 多機能GPIOピン
2 x SPI、2 x I2C、2 x UART、3 x 12 bit ADC、16 x PWMチャンネル
その他 低消費電力スリープモードおよびドーマントモードが利用可能
正確なクロックとタイマーを搭載
温度センサ搭載
高速な浮動小数点ライブラリを搭載
8 x プログラマブルI/O(PIO)
 

GPIO構成

他のセンサーなどとの通信に使用するGPIOの構成は次の通りです。

Raspberry Pi PicoのGPIO配置(Raspberry Pi Pico datasheetより)
Raspberry Pi PicoのGPIO配置(Raspberry Pi Pico datasheetより)
 

Raspberry Pi Pico を使うために必要なもの

Raspberry Pi Picoは、特に付属品なしで販売されています。

そのため、プログラムを書き込む際に必要となるUSBケーブルが別途、必要となります。

USBは、「microUSB」になります。

Arduino IDEで準備すること

Arduino IDE は、開発ボードであるArduino製品、M5Stack、micro:bitなど、幅広いマイコンに対して、組み込みプログラムを書き込める開発環境です。

Arduino IDE で開発を行う際には、次の手順を行う必要があります。

  1. Arduino IDE(開発環境)をインストールする
  2. 開発するマイコンに対応したボードマネージャをインストールする
  3. プログラム内で呼び出すライブラリをインストールする
  4. プログラムを作成し、書き込む

Arduino IDE(開発環境)をインストールする

最新のArduino IDE(2.x)をインストールします。

インストール手順については、次の記事を参考にしてください!
関連記事

すけろく Arduino IDEの2.x版がそろそろ使えそうだな。 げんろく たしかに、これまで使ってきたArduino IDE 1.8ではない オートコンプリート機能などが追加されているらしい。 […]

開発するマイコンに対応したボードマネージャをインストールする

今回は、「Raspberry Pi Pico」を使いますので、対応するボードマネージャをインストールします。

ボードマネージャの名前は、以下のものです。

こちらは公式ではありませんが、Raspberry Pi Picoと同じRP2040というチップを搭載している他の製品にも対応しているため便利です。

使用する情報 設定値
ボードマネージャURL https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
ボードマネージャ名 Raspberry Pi Pico/RP2040

上記以外に公式のライブラリもあります。

使用する情報 設定値
ボードマネージャ名 Arduino Mbed OS RP2040 Boards

ボードマネージャのインストール手順については、次の記事を参考にしてください!

関連記事

今回は、「Arduino IDE 2.0」の「ボードマネージャ」と書き込み先のボードの指定について記載します。 Arduino IDEは、Arduinoに対応した各種ボード(Arduino uno、M5Stack、M5Stic[…]

プログラム内で呼び出すライブラリをインストールする

今回は、Arduino IDEの標準ライブラリを使いますので、ライブラリは新規にインストールしません。

ライブラリのインストール手順については、次の記事を参考にしてください!

関連記事

「Arduino IDE」では、使用する機能やセンサー、ボードを使用するプログラムで使用できる有効なライブラリが公開されています。 ライブラリを使用すると、効率的かつ品質を確保したプログラミングが可能です。 この記事では、Ar[…]

これでArduino IDEで「Raspberry Pi Pico」にプログラムを書き込む準備ができました。

Raspberry Pi Picoで”Hello World”してみる

今回は、正常に書き込めるかを含めて、動作確認しますので、シリアル通信で、「Hello World」を送信してみます。

Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。

 Arduino IDE スケッチ例

 Raspberry Pi Picoへの書き込み

初回書き込み時

  1.  Raspberry Pi Picoの「BOOT SEL」ボタンを押しながら、パソコンにUSB接続します。
  2.  Arduino IDEで前述のプログラムを記載して、 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  3. 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。
    「Arduino Mbed OS RP2040 Boards」-「Raspberry Pi Pico」
     ※今回は、公式のボードマネージャを使います。
  4. 「シリアルポート」は、認識されていない場合もありますが、その場合は選択はしない状態にします。
  5. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。
  6.  書き込みが完了すると、新しくCOMポートが認識されます。
    次からはそのCOMポートを選択します。

2回目以降

  1.  Raspberry Pi PicoをパソコンにUSB接続します。
  2.  Arduino IDEで前述のプログラムを記載して、 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  3. 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。
    「Arduino Mbed OS RP2040 Boards」-「Raspberry Pi Pico」
     ※今回は、公式のボードマネージャを使います。
  4. 「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
  5. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。(転送速度は「9600」です)
  6. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

 プログラム実行結果

シリアルモニタを起動すると、以下のとおり表示されます。

hello world
hello world
hello world
hello world
・・・

編集後記

いかがだったでしょうか。

Raspberry Pi Pico」のプログラミングといえば、「microPython」と考えていましたが、Arduino IDEでプログラムできるとうれしいです。

これで、他のマイコンと同じArduino IDEで開発できます!

Raspberry Pi Pico」と同じRP2040というチップを搭載している機器にも使えるので応用ができそうです。

記事は、以上になります。

最後までご覧いただきありがとうございました。

記事内でご紹介したRaspberry Pi Picoはこちら!

created by Rinker
Raspberry Pi
¥1,260 (2024/04/26 17:11:12時点 Amazon調べ-詳細)
Arduino、C/C++、MicroPythonに対応している組み込み開発キットです。
正確なタイマ機能を搭載しています。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ