ラズパイPico(RP2040)には内部温度センサーが搭載されています。ArduinoIDE環境とC/C++記述の両方で温度を取得する方法をまとめておきます。
▼PicoをArduino環境で使う方法はこちら▼
まずはArduino環境の場合です。こちらの earlephilhower/arduino pico のボードライブラリ使えば、関数が準備されているので内部温度の読み取りは簡単です。
analogReadTemp()
▲この関数記述するだけで温度を読み出すことが可能。戻り値の単位は「℃」です。
▲読み取り値をシリアルモニターで表示してます。
Arduino公式のほうのボードライブラリにはこういった関数は準備されてませんが、C/C++で記述すすれば読み取りはできます。
▼C/C++の場合▼
// 2017/07/10 imo Lab. // https://garchiving.com/ #include <hardware/adc.h> void setup() { Serial.begin(115200); adc_init(); adc_set_temp_sensor_enabled(true); adc_select_input(4); } void loop() { float t = 27.0 - ((adc_read() * 3.3 / 4096.0) - 0.706) / 0.001721; Serial.println(t); delay(1000); }
▲ArduinoIDEでこのまま書き込み可能です。ここまで記述するとArduinoIDEを使用する意味はあまりないかもしれませんね。
センサーの精度はあまり高くないようです。使い道はあまりないかもしれませんが、簡単に内部温度を取得できるので便利です。
コメント