【Python】Micro PythonでラズパイpicoのCPU内部の温度取得

こちらで、MicroPythonにて遊べるようにしたRaspberry pi Picoですが、多くのIOを持っています。こういうIOは、情報の伝送やデジタル世界と実世界をつなぐセンサの接続に重要な機能です。

ラズパイpicoには、アナログ電圧をデジタル変換してくれるADC(ADコンバータ)が実装されています。そのADCは5つあるのですが、そのうち1つはCPUの内部温度を測るためにADC4につながっています。

その値を読み取り、表示することを試みます。取得したADCの値は、電圧そのものではないので、coeffという係数をかけて、電圧に変更しています。また、電圧から温度への変換も行っています。

この温度取得の処理をwhileループで繰り返し実行しています。

そのコードはこちらとなります。

from machine import Pin, ADC
import utime
coeff = 3.3 / 65535
while True:
    a2 = ADC(ADC.CORE_TEMP)
    v = a2.read_u16() * coeff
    temp = 27 - (v - 0.706) / 0.001721
    print('CPU temp = {}'.format(temp))

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です