Raspberry Pi PicoでGroveセンサを使ってみたいと考えていたところ、Pico用のGrove Sheildと各種GroveセンサがセットになったStarter Kitを見つけたので使ってみました。
この記事ではStarter Kitと、Grove Shieldの使い方を説明します。
Starter Kitに付属する各種モジュールの使い方も説明しようと思いましたが、長くなってしまったので別記事にしました。各モジュールの使い方とサンプルコードは以下を参照してください。サンプルコードはC++で実装しました。
※やる気が続く限り順次、センサを追加していく予定です。
Grove Starter Kit for Raspberry Pi Pico
自分が購入したStarter Kitはこちらです。
このキットには製品ページにあるように14個のGroveモジュールが付属しています。
PicoをGrove Shieldに取り付けることで、はんだ付けをしなくてもGroveセンサなどを使用することができます(Picoにピンヘッダの取り付けは必要)。
- Grove - LED Pack
- Grove - RGB LED (WS2813 Mini)
- Grove - Light Sensor
- Grove - Sound Sensor
- Grove - Rotary Angle Sensor
- Grove - Temperature & Humidity Sensor
- Grove - mini PIR motion sensor
- Grove - Passive Buzzer
- Grove - Button
- Grove - Servo
- Grove - Mini Fan
- Grove - Relay
- Grove - 16x2 LCD
- Grove Shield for Pi Pico
公式がマニュアルなどを準備してくれています(全て英語です)。
英語が読めなくてもMicroPythonで書かれたサンプルコードがあるので、コードをコピペするだけでいくつかのモジュールがすぐ使えます。
Grove Shield for Pi Pico
Picoを取り付けるだけでGroveモジュールが使用可能になるシールドです。
このシールドには10個のGroveモジュールの取り付け口などがついています。
- 3 x アナログポート
- 3 x デジタルポート
- 2 x UART
- 2 x I2C
- 電圧切り替えスイッチ(5V / 3.3V)
- SPI
PicoのGPIOと各ポートの対応関係は以下になります。
|種類|Groveポート|PICO GPIOピン番号|
|-|-|-|-|
|アナログ|A0|26|
|アナログ|A1|27|
|アナログ|A2|28|
|デジタル|D16|16|
|デジタル|D18|18|
|デジタル|D20|20|
|UART|UART0 TX|1|
|UART|UART0 RX|2|
|UART|UART1 TX|4|
|UART|UART2 RX|5|
|I2C|I2C0 SDA|8|
|I2C|I2C0 SCL|9|
|I2C|I2C1 SDA|6|
|I2C|I2C1 SCL|7|
いくつか使用していないGPIOピンがあります。これらはPicoを差し込んだソケットの隣についているソケットから使用可能です。
デバッガを使って開発する方法
Picoの公式マニュアルにはPicoを2台使ったデバッガを使って開発する方法が記載されています。
Grove SheildにPicoを取り付けた状態でも、同じようにデバッガを使用することができます。
ただし、このとき1点注意があります。
デバッガを実行するPico (Pico Prove)からGrove Sheildを取り付けたPicoに電源供給をするとき、VSYSではなくVBUSを使用します。
公式マニュアルやほとんどの開発環境構築を説明している記事ではVSYSを使うように説明しているので気をつけてください。
公式マニュアルには一応、補足説明が書いてあります(公式マニュアルのP62)
他のピンは通常通り接続します。
各種モジュールの使い方とC++コード
MicroPyhonのサンプルコードは公式にあるのですが自分はC++を使いたかったので、C++で実装しました。
最初に述べたように、最初は簡単に使えるだろうと思っていたのでこの記事中で説明するつもりだったのですが、想定よりも大変だったため別記事に分けました。
興味ある方はご覧ください。
参考
- Starter Kit
- Grove Shield
- Raspberry Pi Pico