7.2 室温計¶
サーミスターとI2C LCD1602を使って、室温計を作成できます。
このプロジェクトは非常にシンプルで、 2.13 温度計 に基づきI2C LCD1602で温度を表示します。
必要なコンポーネント
このプロジェクトには以下のコンポーネントが必要です。
一式をまとめて購入するのは非常に便利です。リンクはこちら:
名称 |
このキットに含まれるアイテム |
リンク |
---|---|---|
ケプラーキット |
450+ |
以下のリンクから個別に購入することもできます。
SN |
コンポーネント |
個数 |
リンク |
---|---|---|---|
1 |
1 |
||
2 |
Micro USBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1(10KΩ) |
||
6 |
1 |
||
7 |
1 |
回路図
配線
コード
注釈
kepler-kit-main/micropython
のパス下にある7.2_room_temperature_meter.py
ファイルを開くか、このコードをThonnyにコピペして、「Run Current Script」をクリックまたはF5キーを押して実行します。右下角にある「MicroPython(Raspberry Pi Pico)」インタープリターをクリックして選択してください。
詳細なチュートリアルは、 コードを直接開いて実行する を参照してください。
from lcd1602 import LCD
import machine
import utime
import math
thermistor = machine.ADC(28)
lcd = LCD()
while True:
temperature_value = thermistor.read_u16()
Vr = 3.3 * float(temperature_value) / 65535
Rt = 10000 * Vr / (3.3 - Vr)
temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
Cel = temp - 273.15
#Fah = Cel * 1.8 + 32
#print ('Celsius: %.2f C Fahrenheit: %.2f F' % (Cel, Fah))
#utime.sleep_ms(200)
string = " Temperature is \n " + str('{:.2f}'.format(Cel)) + " C"
lcd.message(string)
utime.sleep(1)
lcd.clear()
プログラムが実行された後、LCDには現在の環境の温度値が表示されます。
注釈
コードと配線が正しいのにもかかわらず、LCDが何も表示しない場合は、裏面のポテンショメーターを回してコントラストを調整できます。