マイコンにプラス! シリアル拡張IC サンプルブック[基板付き] という本を購入していました。
定番の温度センサーICであるLM75の互換ICが付属していました。
Raspberyy Pi Pico2Wに接続して動作の確認をいたしました。
from machine import I2C, Pin
import time
# I2Cを初期化
sda=machine.Pin(16)
scl=machine.Pin(17)
i2c=machine.I2C(0,sda=sda, scl=scl, freq=4000)
print(i2c.scan())
# LM75のアドレス
LM75_ADDRESS = 55
data = 0
def read_temp():
"""LM75から温度データを読み取る"""
# 温度データを読み込む
data = i2c.readfrom(LM75_ADDRESS, 2)
# データを整数に変換
temp = (data[0] << 8 | data[1]) >> 7
# 符号付き整数に変換
if temp > 127:
temp -= 256
# 温度をCelsuisに変換
return temp / 2
while True:
# 温度を読み取る
temperature = read_temp()
# 結果を表示
print("Temperature: ", temperature, "°C")
# 1秒待つ
time.sleep(1)
結果
28.4
28.9
というように出ました。

