Pico PR

【計算方法あり】RaspberryPi Pico本体の温度センサをMicroPythonで使う方法

記事内に商品プロモーションを含む場合があります

はじめに

RaspberryPi PicoでMicroPythonを使って、Pico本体の搭載の温度センサの情報を取得する方法を解説します。

巷たでは、Picoで使える温度センサが数多く販売されていますが、実はPico本体にも温度センサは搭載されており、簡単なプログラムで温度を取得することができます。

今回はその「Pico本体の温度センサ」から温度を取得する方法を解説したいと思います。

こんなことに使える
  • 部屋やベランダの温度を測る。
  • 部品を購入せずにセンサーの扱い方を学ぶ。
  • Pythonで組み込みプログラミングを体験する。

環境

この記事は以下の環境で作成しています。

環境 バージョン 備考
開発用PCのOS Windows 11 Windows7,10でもOKです
言語 MicroPython
開発環境 Thonny 4.1.4
ボード RaspberryPi Pico

※ Picoのセットアップ方法については、こちらの記事をご覧ください。

RaspberryPi Picoとの接続

今回はPico本体に搭載されている温度センサのみを使います。外部の部品・回路に接続する必要はありません。

使用する部品

今回の記事で使用する部品は以下の通りです。

RaspberryPi Pico

Pico本体です。ベーシックスターターキットで買えば、「PCとつなぐためのUSBケーブル」「ブレッドボードで使うためのピンヘッダ」がセットになっているので、到着後すぐに使うことができます。

実行結果

後述する、温度センサの値を取得するコードを実行結果は以下の通りです。

全体コード

Picoに搭載されている温度センサから、温度情報を読み取るコードです。
公式のGitHubの以下ページに掲載されています。

import machine
import utime

# 温度センサが接続されている、
# 4つ目の ADC(アナログデジタルコンバータ) を取得します
sensor_temp = machine.ADC(4)

# ADCの最大電圧3.3Vを16bit(65535)で割って、
# 16bitの 1 目盛りのあたりの電圧(変換係数)を計算します( 約 0.00005V)
conversion_factor = 3.3 / (65535)

while True:

    # センサから取得した値(0~65535) を電圧に変換します。
    reading = sensor_temp.read_u16() * conversion_factor
   
    # 温度を計算します。センサは27度を基準にしているため、
    # 温度センサの数値を27度から引いて計算します。
    temperature = 27 - (reading - 0.706)/0.001721

    print(temperature)
    utime.sleep(2)

コードのポイント

変換係数の計算

センサから取得した16bitの値に変換係数をかけて、温度センサの値を電圧値に変換します。

    # センサから取得した値(0~65535) を電圧に変換します。
    reading = sensor_temp.read_u16() * conversion_factor

温度の計算

Picoに搭載されている温度センサは、27度(0.706V)を基準としているようで、
取得される電圧は、27度からの差分/傾き(どれだけ変化しているか?)の値として考える必要があります。

そのため、単純に取得した値をそのまま温度として積算するのではなく、
27度を基準とした際の変化量として計算することで、温度を算出することができます。

1度につき、0.001721V 変化するので、以下の式で温度を計算します。計算の流れは以下の通りです。

    # 温度を計算します。センサは27度を基準にしているため、
    # 温度センサの数値を27度から引いて計算します。
    temperature = 27 - (reading - 0.706)/0.001721

基準分を引き算して、基準からの変化量を求めます
reading(電圧値) – 0.706

基準からの変化量が、何度分であるかを計算します。
(reading – 0.706)/0.001721

基準の27度からの温度の変化量を引いて、現在の温度を計算します。
temperature = 27 – (reading – 0.706)/0.001721

まとめ

Raspberry Pi Pico に搭載されている温度センサの使い方について解説しました。
参考になればうれしいです。

はじめての方は『ベーシックスターターキット』が安心です

この記事をみて「やってみたいな」「自分でもできるかも」と思ったら、ベーシックスターターキットで始めることをおすすめします。ピンヘッダとケーブルもセットでついてくるので初心者でも安心。”ベーシック”なキットなので、使わないパーツも付いてきません。

お知らせ

そぞらさんのRaspberryPi Pico Wの本が登場

RaspberryPi 界隈で有名、Xでもバズり中の「そぞら」さんがPico Wの本を出しました。

Pico Wを使って、電子工作やMicroPythonの文法、AI活用にいたるまでをゼロから学ぶことができるので、興味のあるかたはぜひご覧ください!

MicroPythonのプログラミングガイドブックが遂に発売!

このブログでよく使用している「MicroPython」の本が遂に発売になりました。

MicroPythonの言語仕様から、プログラミングの仕方までが”みっちり”学べます(笑)。

普段別言語で組み込み系の開発をしている人や、これからマイコンの学習が必要となってしまった(専門分野の)学生などを対象としているため、初心者用とはいきませんが、自前のライブラリの作成を目標にしているので、これ一冊で「ガッツリ」と使い方を学ぶことができます。

全ての内容はここでは紹介しきれないので、詳細は以下のAmazonページをご覧ください。目次だけでも圧巻の内容です。

Pico/Pico W関連のおすすめ本

RaspberryPi Pico / Pico W関連のおすすめ本を独断と偏見で3つ選んでみました。Picoやるならとりあえずこれ買っとけ的な本や、電子工作全般で使える本などを厳選しています。

質問・要望 大歓迎です

「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。

使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

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

Index