〇Raspberry Pi PicoとBME680センサーを接続した写真
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAwjts9mAvtbOambXMyaU7_t-G5ky54qEkOwEkXY9SDUz3lhyphenhyphenlHiYeApmhsBEKJIIt_mw3G150G6BPbwiXc23to1PzggsrrAhTgOOGA8aAL6pkvpkcNAqaVIbOdooOWBzOvq7HeFCbCQiu/s320/pico_bme680_circuit.png)
作成手順
1. 部品の用意以下の部品を用意します。
・BME680センサーモジュール
BME680は秋月電子さんの「BME680使用 温湿度・気圧・ガスセンサモジュールキット」を使用しました。
https://akizukidenshi.com/catalog/g/gK-14469/
2. Raspberry Pi PicoとBME680センサーモジュールを配線します
BME680のVINピン -> Raspberry Pi Picoの3.3Vピン
BME680のSCLピン -> Raspberry Pi PicoのGP1番ピン
BME680のSDAピン -> Raspberry Pi PicoのGP0番ピン
BME680のGNDピン -> Raspberry Pi PicoのGNDピン
3. MicroPython用「bme680」モジュールの導入
Thonnyを利用する場合、bme680モジュールのインストールは以下の手順を実行します。
3-1.MicroPython用のbme680モジュールのダウンロード
robert-hhさんが公開している以下のページからCode -> Download ZIPを選択して、モジュールのソースコードをダウンロードします。
ZIPファイルをダウンロード後、解凍しておきます。
https://github.com/robert-hh/BME680-Micropython
3-2.bme680.pyのアップロード
Thonnyの「表示」メニューから→「ファイル」を選択します。Rapberry Pi Pico側に/libフォルダがなければ、ペイン下側のフォルダで右クリックメニューから[ New Directory...」を選択し、フォルダ名を入力して/libフォルダを作成します。
フォルダ作成ダイアログ
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnPwga9eRnUMwqQeW858EKLO2TEXkuDi7yM3Jkq260XiLWV3yA7PqUwx4oyg9B0F5oRcd2IP4LUw2-U-wSpMIbWQO9wjxsIZsj-5lBCqEgT2kZyx-xlTJKcnJHwdzgTnO8Na6JpC5kW0Oe/s320/enter_lib_folder_name3.png)
3.3.ローカルPCのフォルダ内のPythonモジュールをアップロード
Raspberry Pi Pico側の/libフォルダに移動後(左側ペインの下のlibフォルダをダブルクリックで移動)、ローカルPCのフォルダにあるbme680.pyで右クリックメニューから「upload to /lib」を選択してモジュールのライブラリをアップロードします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6R796HxE6LqM2f06Djuifmpo0RAItU1QjkjeL8wkN2v9_rEu-5pmAnwfWTWF-a-Eg7ADfWhfVUd4-bkiPBwJcCVS7oPJ3oLfKlJN0ICGWYFVxQTbuCb7rU_rd-BkPcNGveh79PvEVsMFi/s320/lib_upload_bme680.png)
4. プログラミングとプログラムのアップロード
以下のプログラムをmain.pyとしてRaspberry Pi Picoに保存して、実行します。実行後3秒おきに温度・湿度・気圧・ガスの値を取得できることを確認します。
main.py
from bme680 import *
from machine import I2C, Pin
import time
scl = Pin(1)
sda = Pin(0)
bme = BME680_I2C(I2C(0, scl=scl, sda=sda))
while True:
print("Temp:{}, Humidity:{}, Pressure:{}, Gas:{}".format(bme.temperature, bme.humidity, bme.pressure, bme.gas))
time.sleep(3)
0 件のコメント:
コメントを投稿