7.2 室温計

サーミスターとI2C LCD1602を使って、室温計を作成できます。

このプロジェクトは非常にシンプルで、 2.13 温度計 に基づきI2C LCD1602で温度を表示します。

必要なコンポーネント

このプロジェクトには以下のコンポーネントが必要です。

一式をまとめて購入するのは非常に便利です。リンクはこちら:

名称

このキットに含まれるアイテム

リンク

ケプラーキット

450+

Kepler Kit

以下のリンクから個別に購入することもできます。

SN

コンポーネント

個数

リンク

1

Raspberry Pi Pico W

1

BUY

2

Micro USBケーブル

1

3

ブレッドボード

1

BUY

4

ジャンパーワイヤー

数本

BUY

5

抵抗器

1(10KΩ)

BUY

6

サーミスター

1

BUY

7

I2C LCD1602

1

BUY

回路図

sch_room_temp

配線

wiring_room_temp

コード

注釈

  • 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が何も表示しない場合は、裏面のポテンショメーターを回してコントラストを調整できます。