Raspberry Pi Pico(s_01)LM61 用モジュール
LM61 LM61c.py
LM61は単一電源温度センサーです。2.7V, SOT-23 or TO-92 Temperature Sensor。
※詳細はデータシートを参照ください。
LM61で使う自作の’LM61c.py’を記事d_03を元に作成しました。’LM61c.py’は末尾にあります。
使い方だけを記載します。
※開発環境はThonnyです。ThonnyでMicroPythonをRaspberry Pi Pico with RP2040にインストールして使っています。
使い方
■ファイル転送
Raspberry Pi Picoへ’LM61c.py’を送った後でimportして使います。
※LM61c.pyの末尾に、使用例(LM61c_ex.py)の## example以降をコピペ追加しても動作確認できます。
■メソッド
‘LM61c’をimportすると「Temp,Core」のメソッドが使えるようになります。
LM61c(ADC_num=0,ADC_ref=3.3)で初期化します。
ADC_numは0~2です。LM61の出力を接続するADCを選択します。
ADC_refはDefaultで3.3Vです。
(01)Temp()
LM61の測定温度を返します。
(02)Core()
Raspberry Pi Picoのコア温度を返します。LM61とは関係ないです。
使用例
LM61の測定温度とコア温度を返します。
LM61c_ex.py
#!/usr/bin/env python
from LM61c import LM61
## example
a=LM61(0) # instance ADC0を使います。ADC_Vref=3.3Vです。
t=a.Temp()
print('Temp=%6.2f℃' %t)
c=a.Core() # instance
print('Core=%6.2f℃' %c)
実行結果
実行すると以下のようになりました。※Thonnyのshellに表示されます。
LM61c_ex.py
>>> %Run -c $EDITOR_CONTENT
Temp= 29.93℃
Core= 32.67℃
>>>
LM61用モジュール
LM61c.py
#!/usr/bin/env python
# -*- coding: utf-8 -*
from machine import ADC
##LM61 2.7V, SOT-23 or TO-92 Temperature Sensor
# Vo=(+10mV/C x temp)+600mV >> temp=(Vo-600mv)/10mV
# ADC0(GP26)
class LM61:
def __init__(self,ADC_num=0,ADC_ref=3.3):
self.num=ADC_num
self.vref=ADC_ref
def Temp(self):
vo=ADC(self.num).read_u16()*(self.vref/2**16) #ADC_ref=3.3V
temp=(vo-0.6)/0.01
return temp
def Core(self):
## CORE_TEMP -- 4
core_temp =27-((ADC(4).read_u16()*(3.3/2**16))-0.706)/0.001721
return core_temp