Raspberry Pi Picoのアナログ入力(ADC)のテストをします。
Picoは、ADC(アナログデジタルコンバータ)を5個持っています。
ただし、ユーザーが使えるのは、3個です。
各チャンネルの使用目的とピン割り当ては、以下のとおりです。
ADC(0) ユーザー GP26 31番ピン
ADC(1) ユーザー GP27 32番ピン
ADC(2) ユーザー GP28 34番ピン
ADC(3) Vsys電源電圧
ADC(4) 内蔵温度計
PicoのADCの解像度は12ビットで0~3.3Vを0~4095に変換します。データは、16ビット(0~65535)で格納されます。
まず、ADC(0)を使って、読み込んだ電圧を測定してみましょう。
回路図です。10kΩのボリュームに3.3Vを加え、電圧を変化させて、ADC(0) GP26(31番ピン)に入力します。
MicroPythonのスクリプトです。
4行目 GP26を入力に設定します。(この行を記入しなくても動作しました。)
5行目 使うADCを指定します。
6行目 AD変換された値をVに変換する係数です。
9行目 ADC(0)の値を読み込み、V(ボルト)に変換します。
10行目 Shellにその値を表示します。{:.2f}で、小数点以下2桁まで表示します。
1.74~1.76Vが測定されました。最終桁は少し動きます。
実際の電圧をデジタル電圧計で測定してみました。
0.1V以内の誤差で測定できるようです。
次に、CPU(コア)の温度を内蔵のセンサーで測定してみます。
スクリプトです。
5行目 センサーが接続されているADC(4)を指定します。
9行目 温度に変換する式です。
10行目 小数点以下1桁まで表示します。
室温は、20℃程度でしたので、やや低めに測定されました。
Shellには、漢字も表示できるんですね。
Web上にRaspberry Pi Picoの情報はまだ多くはありません。そこで、Interface 8月号を購入しました。「ラズパイのマイコン Pico 攻略本」です。
さすがに、詳しく書いてあり、参考になります。MIcroPythonについては、巻末の方に特集が掲載されています。
※コメント投稿者のブログIDはブログ作成者のみに通知されます