こちらで、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))