皆さんこんにちは、D2-PLANの宗一郎です。
今回ご紹介しようと思うのはRaspberry pi picoを用いた温度測定とLED点滅の連携です。
これからIoTをかじろう、ラズパイ買ってみようと考えている方、
また既にラズパイを買ってみたという方には為になれば幸いと思います。
『550円でIoT企画!』
この企画はたった550円で買えるRaspberry pi picoを使用したIoT化を目指し初歩的な電子工作から高度なIoTにもチャレンジしていく企画です。特に田舎、地方に特化したIoT活用方法を考えながら進め少しでも現場で使えるIoT化ができればと思っています。私自身ラズパイは初心者なのでブログを通して成長して行ければと思います。
本題
『Raspberry pi picoで温度とLEDの連携をやってみた』
必要な物
パソコン(私はMacなので紹介はMacの場合です)
Raspberry pi pico(買う必要があるのはこれだけ?)
micro USB type-B(今時どこでもありますよね?)
以上なんです。ピコには標準で温度センサとLEDが付いています。はんだごてを使うような電子工作も必要ありません。
●Raspberry pi pico の購入の仕方
ラズパイはスイッチサイエンスというところ購入できます。
ピコは低価格ということもあり購入できる個数に制限がある場合がありますが…
スイッチサイエンス↓
amazonは少し高いですが一応Rapberry pi picoのリンク貼っておきます。
Raspberry pi picoの初期設定
前回の記事で初期設定について書いております。
よろしければこちらを参考にして見てください。
LEDを点滅させるプログラム
LEDを点滅させる為のプログラムは下記の記事で紹介しております。
よろしければ参考にしてみてください。
温度を取得するプログラム
温度を取得する為のプログラムは下記の記事で紹介しております。
よろしければ参考にしてみてください。
温度とLEDの連携プログラム
さて今回のテーマの本題です。今回実施したいのは温度の値に対応してLEDを点滅させることです。今回はLEDと温度センサが搭載しているのであえてこういったテーマを考えましたが、これができれば温度変化に対応してエアコンのスイッチを入れたり、ドアを開閉させたりと可能性は無限大です。
書いたプログラムは下記です。
前回までに紹介していますLEDの点滅と温度取得のプログラムを組み合わせているだけなのでそれほど複雑に書いてはいません。ここでは温度センサで29度以上を取得するとLEDを点滅させると言う内容です。if文を使用して温度の変数tempatureの値が29以上の場合のみLED点滅を指示しています。
#必要モジュールのインポート
import machine
import time
#Pin set
led = machine.Pin(25, machine.Pin.OUT)
#温度取得初期設定
count = 0
sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)
#LED初期化
led.off()
#処理
while True:
reading = sensor_temp.read_u16() * conversion_factor
temprature = 27 - (reading - 0.706)/0.001721
print(temprature)
time.sleep(1.5)
if (temprature < 29):
led.value(0)
else:
led.value(1)
time.sleep(0.2)
led.value(0)
time.sleep(0.2)
led.value(1)
time.sleep(0.2)
led.value(0)
プログラムの実行
実際に実行してみます。
温度を上げる為に途中手で少し温めました。上手く動作してますね。
本当の基本ではありますが使い方徐々にわかってきました。できることが増えると想像が膨らみます。次回は一旦ピコを離れ、前に注文してあったラズパイzeroが届いたので、温湿度の計測を実施してみたいと思います。
次回からは少し難しくなってきそうです…
※走り書きで文章を書いておりますので、間違った内容や不備がある場合があります。お気づきになられましたら是非ご連絡頂けますと幸いです。
instagram 私のインスタ → @soichiro_koyanagi
instagram D2-PLAN → @d2_plan
Comments