🌞
Raspberry Pi Pico WでBMP280を使う
概要
Raspberry Pi Pico Wでいろいろ作ろうと思うのですが、まずは使い方に慣れるため、BMP280(温度・気圧センサー)のサンプルコードを実行してみることにしました。
USBシリアル経由でデータを取得するところまでをまとめました。
サンプルコードはこちらにあるものを使っています。
1. 環境準備
必要なもの
- Raspberry Pi Pico W
- BMP280センサ
- ジャンパーワイヤー(M/M)× 4本
- USBケーブル(データ転送対応)
配線
BMP280はI2Cで接続します。
exampleのフォルダの中に配線図もあるので、そのとおりに繋ぎます。
- GPIO 4 (Pin 6) → SDA (BMP280)
- GPIO 5 (Pin 7) → SCL (BMP280)
- 3.3V (Pin 36) → VCC (BMP280)
- GND (Pin 38) → GND (BMP280)
2. ビルド方法
CMakeLists.txtの変更
シリアル通信で動作結果などを確認する際、USBシリアル出力の有効化の設定が必要になります。
CMakeLists.txtにあるpico_enable_stdio_usbを以下のように変更します。
pico_enable_stdio_usb(bmp280_i2c 1)
Pico W用にビルド
cd /pico-examples
mkdir -p build
cd build
cmake .. -DPICO_BOARD=pico_w
make bmp280_i2c
3. プログラムの書き込み
UF2ファイルをPico Wに書き込む
BOOTSELボタンを押しながらPico WをPCに繋ぎます。
cp build/i2c/bmp280_i2c/bmp280_i2c.uf2 /media/ユーザー名/RPI-RP2/
または、ファイルマネージャーで RPI-RP2 にドラッグ&ドロップ
書き込まれたら自動で実行されます。
4. シリアルモニターで接続
デバイス確認
ls -l /dev/ttyACM*
通常は /dev/ttyACM0 として認識されます。
シリアルモニターで確認します。
picocom -b 115200 /dev/ttyACM0
うまく動いていれば
Pressure = 100.303 kPa
Temp. = 25.20 C
Pressure = 100.303 kPa
Temp. = 25.20 C
Pressure = 100.303 kPa
Temp. = 25.20 C
Pressure = 100.303 kPa
Temp. = 25.20 C
Pressure = 100.302 kPa
Temp. = 25.20 C
Pressure = 100.302 kPa
Temp. = 25.20 C
Pressure = 100.302 kPa
Temp. = 25.21 C
という表示になります。
Discussion