RaspberryPi

RaspberryPi Pico 温度センサの使い方 【MicroPython Thonny】

はじめに

Raspberry Pi Pico に搭載されている温度センサの使い方について解説します。

~ この記事の内容 ~

こんなことに使える
  • 部屋などの環境温度を測れる。
  • 追加の部品の購入なしでセンサに触れる。
  • Pythonで組み込みプログラミングをさくっと体験できる。

以下の方は次の記事も合わせてご覧ください。

  • 買った後にどうやってセットアップするの?
  • Windows7だとPicoを認識しない。

環境

環境バージョンなど備考
開発PC Windows 7 手動のドライバインストールが必要です
開発環境thonny-3.3.11
ボードRaspberry Pi Pico  
ケーブルUSB2.0 TypeA – MicroB

RaspberryPi Pico を使ってみたい

スイッチサイエンスなど、電子工作系のWebサイトで購入可能ですが、送料無料のプライム会員さんや、別の買い物と合わせれば、いつものAmazonでも100円以下の違いで購入可能です。安価なのでポイントだけでの購入もできるかもしれません。以下はGroveシリーズでおなじみのSeeedStudioが出品しているページです。

千円程度で試せるお手軽ボードですが、H/Wのプログラミングの学習・ノウハウの習得には十分な機能を持っています。是非触りながらいろいろと試してみてください。

実行結果

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

全体コード

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

https://github.com/raspberrypi/pico-micropython-examples/blob/master/adc/temperature.py

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 に搭載されている温度センサの使い方について解説しました。
参考になればうれしいです。

UdemyならRaspberryPiの講座が見つかります

Udemyで『RaspberryPi』『Pico』『Arduino』の基礎/実践講座を受講できます。無料もあるので「動画で学びたい」「本は読み尽くした」という方は以下のリンクをご覧ください。

⇒ RaspberryPiの講座一覧はこちら
icon

以下の記事で、RaspberryPi・RaspberryPi Picoのおすすめ講座3選も解説しています。

質問・要望 大歓迎です

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

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

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

COMMENT

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