稼働中

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