Raspberry Pi Pico の内蔵温度センサの値取得のプログラムの解説を書いてみて思うこと
どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)
「Raspberry Pi Pico で取得する温度が、実際の温度と大分違うんだが…」で紹介したプログラムに解説コメントを付け加えてみた。
ついでにコメントを付け加えてみて、思ったことも書いていくよ。(*^^*)
Raspberry Pi Pico の内蔵温度センサの値取得のプログラム解説コメント付き
import machine
import utime
# 温度センサが接続されている4つ目のADC(アナログデジタルコンバータ)の値を取得
sensor_temp = machine.ADC(4)
# ADCの最大電圧3.3Vを16bit(2の16乗である65536、0スタートの値のため、-1して65535)で割って、
# 16bitの 1 目盛りのあたりの電圧(変換係数)を計算( 約 0.00005V)
conversion_factor = 3.3 / (65535)
while True:
# センサから取得した値(0~65535) を16bitの値に変換係数をかけて電圧値に変換
reading = sensor_temp.read_u16() * conversion_factor
# 温度計算
# ・センサは27℃(0.706V)を基準にしている
# ・1℃に付き0.001721V変化する
# 27℃から温度変化量(温度センサの数値から基準値である0.706を引いた値に1℃ごと電圧変化量が何℃分か計算した値)を引いて現在温度を計算
temperature = 27 - (reading - 0.706)/0.001721
print(temperature)
utime.sleep(2)
理屈が分かってみると
センサーから取得された値を温度に変換する計算式は正しいっぽい。
(公式で公開されているプログラムだから正しいんだろうが…)
ということは、Raspberry Pi Pico 内蔵の温度センサーは、標準の実装のままだと、もともとかなりの誤差が生じるか、何か値を補正する処置が必要ってことなんだろう。
つまり、Raspberry Pi Pico 内蔵の温度センサーから値を取得するより、別途環境センサーをつけて温度を取得したほうが精度が良さそう。
正直、これだと Raspberry Pi Pico 単体でできることって「単色 LED による Lチカ」くらいなんで、かなり微妙な気がする。
以前「Raspberry Pi Pico の初期設定(その1)」に書いたように、Raspberry Pi Pico には標準では無線通信( Wi-Fi や Bluetooth )の機能がないため、IoT(モノのインターネット)に向かない上、値を表示するディスプレイも無いのでセンサーを付けたとしても、センサーの値を表現する方法も「単色 LED でできる表現」だけだからだ。
単色 LED でできる表現
単色 LED で表現できることは、かなり限られていると思う。
- LEDの消灯
- LEDの点灯
この2つに加えて良いところ、
- LEDの点滅速度(速い点滅)
- LEDの点滅速度(遅い点滅)
このあたりだろう。
つまり、最大でも4つの状態を表すのが限界なんじゃなかろうか?
単色でなく RGB 指定可能な LED であれば、色も加えて「色数 x 4つの状態」でかなりの状態を表現ができるんだけどね。(例えば、 Nature Remo や Nature Remo E lite は、RGB LED のおかげで、点滅状態により、いろいろな状態が分かるようになっている)
結論
- Raspberry Pi Pico は、単体の電子工作デバイスとしてかなり微妙。
- 単体では通信機能がないため、IoT(モノのインターネット)には向かない。
- 標準で付いている温度センサーの取得値も誤差がありすぎて、使い物にならない。
- 単色 LED で表現できる状態が4種類までで、他に単体での出力機能がない。
PCに接続してればデバッグ用のUSBシリアルポートのprintfができるけど、PCに繋いでいないと使えないし…。
何か外付けでつなぐにしてもピンヘッダが必要になる。
ピンヘッダ付きの Raspberry Pi Pico が 990 円であり、それに接続する外付けするものが追加で必要になってくる。
最初から Wi-Fi や BLE が使えて GPIO ピンもあり、Grove互換インターフェースもあり、プログラム可能なボタンと RGB LED を持つ M5Atom Lite が 1,353円なのことを考えると(400円で外付けできるものが限られていることから)電子工作用デバイスとしては、Raspberry Pi Pico は、コストパフォーマンスがかなり微妙な気がする。
もっとも printf ができるから MicroPython の学習用デバイスとしては、良いかなぁくらいだと思う。
ただし、ピンヘッダをつけて、外付けで使えるものをいろいろ揃ってしまえば、使い道はあるんじゃないかと思う。
実際、かげさんも「Groveスターターキット(Raspberry Pi Pico用)」というのを買っていたりする。かげさんが購入した頃より、値上がりしているが…
これについては、別の記事に書こうと思う。
ここまではOKだ
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載
コメント
このブログの新着コメントをRSSリーダに登録する為のxml