はじめに:ラズパイPico Wで作る自作LINE Botとは?
自作スマートリモコン 第1回
はじめに:ラズパイPico WとDHT11で温湿度を測る
こんにちは、ニンジンです🥕
この記事では、Raspberry Pi Pico Wと温湿度センサー「DHT11」を使って、部屋の温度と湿度を測る手順を解説します。必要な部品の選び方、Pico WとDHT11の配線・結線図、開発環境(Thonny)のセットアップ、そして実際に温度を読み取るMicroPythonコード(Temp_get_test.py)まで、実機の写真つきでまとめます。
きっかけは、留守番中の愛犬でした。落雷などによる一瞬の停電で自宅のエアコンが切れてしまうと、留守番中の犬が危険な室温にさらされてしまいます。そこで「室温が危険な値になったら自動でスマホのLINEに通知が飛んでくる仕組み」を、格安のマイコンボードで自作することにしました。
この連載は全5回です。第1回の今回は、部品の準備から、PC上で実際に温度を読み取るところまでを進めます。
この記事で分かること
- 温湿度監視に必要な部品(Pico W・DHT11・ブレイクアウトボード・USBケーブル・ACアダプタ)と選び方
- 「データ通信対応」Micro USBケーブルを選ばないとPico Wが認識されない理由
- Pico WとDHT11の配線・結線図(VCC・GND・DATAの3本)
- ThonnyのインストールとPico WへのMicroPython書き込み手順
- 温度・湿度を3秒おきに表示するMicroPythonコード(
Temp_get_test.py)
構成図と仕組み:Pico Wを使ったIoT温湿度監視システムの全体像
完成形のシステムは、次の流れで動きます。
- 温湿度センサー(DHT11)が部屋の温度・湿度を計測する
- 小さな頭脳「Raspberry Pi Pico W」がその値を処理する
- Pico Wの内蔵 Wi-Fi機能 でインターネットに接続する
- LINE Messaging API を介して、スマホへアラートを送信する
市販のペット見守りカメラや高価なスマートホーム機器を買わなくても、数百円〜数千円の電子部品を組み合わせるだけで、自分好みの見守りシステムが作れます。第1回はこのうち「DHT11で計測する」ところまでを扱います。Wi-FiとLINE通知は第2回・第3回で実装します。
必要な部品と選び方:DHT11センサーと「データ通信対応USBケーブル」の罠
今回使う部品はこちらです。どれもAmazonや電子部品ショップで安価に手に入ります。
Raspberry Pi Pico W
今回の主役。Wi-Fi機能を搭載した格安のマイコンボードです。末尾に「W」が付いているものを必ず選んでください。ピンヘッダが最初からはんだ付けされている「Pico WH」なら、はんだ付けなしで始められます。
Micro USBケーブル(データ通信対応のもの)
今回いちばんの重要ポイントです。見た目が同じでも「充電専用ケーブル」ではPCがPico Wを認識しません。必ずデータ通信対応のものを用意してください(理由は後述)。
※リンクにはアフィリエイトを含みます。
Pico WとDHT11の配線・結線図
部品がそろったら、Pico WとDHT11をジャンパーワイヤーで接続します。DHT11モジュールのピンは3本だけです。下の配線表のとおりにつなぎます。
| DHT11側のピン表記 | 役割 | つなぐ先:Pico Wのピン(物理番号) |
|---|---|---|
| VCC(+ / 5V / 3.3V) | 電源 | 3V3(OUT)(物理36番ピン) |
| GND(- / G) | グランド | GND(物理38番ピン) |
| DATA(OUT / S / D) | データ通信 | GP15(物理20番ピン) |
開発環境の構築:ThonnyのインストールとMicroPythonの書き込み
ハードウェアができたら、次はPico Wにプログラムを書き込むためのPC環境を作ります。エディタには、Raspberry Pi財団が推奨している「Thonny」を使います。
Step 1:開発ソフト「Thonny」のインストール
ブラウザで Thonny公式サイト にアクセスします。
Step 2:Pico WをPCに接続する(USBで認識しない罠)
買ってきたばかりのPico Wには、まだプログラムを動かすためのOS(MicroPython)が入っていません。次の手順で「BOOTSELモード」にして接続します。
① Pico W基板上の白い小さなボタン「BOOTSEL」を押し込みます。
② 押したまま、PCにつないだMicro USBケーブルをPico Wに挿します。
③ PC側でUSB認識音が鳴ったら、ボタンから指を離します。
成功すると、PCのエクスプローラーに RPI-RP2 という名前のUSBメモリのようなドライブが現れます。
Step 3:MicroPython(OS)の書き込み
MicroPython v1.28.0 on 2026-04-06; Raspberry Pi Pico W with RP2040
Type "help()" for more information.温度取得テスト:DHT11センサーを動かすMicroPythonコード
準備が整いました。センサーから室温を読み取れるか、テストプログラムを動かしてみます。
Thonny上半分の白いエリア(エディタ)に、下のコードを貼り付けます。貼り付けたら画面上部の緑色の「実行」ボタン(またはF5キー)を押し、保存先を聞かれたら「Raspberry Pi Pico」を選んで、ファイル名を Temp_get_test.py にして保存します。
# Temp_get_test.py
import machine
import dht
import time
# 20番ピン(GP15)にDHT11のDATAピンが繋がっていると指定
sensor = dht.DHT11(machine.Pin(15))
print("温湿度センサーの読み取りを開始します(Ctrl+Cで停止)")
while True:
try:
# センサーからデータを取得
sensor.measure()
# 温度と湿度を読み込み
temp = sensor.temperature()
humidity = sensor.humidity()
# 画面に表示
print(f"温度: {temp}°C, 湿度: {humidity}%")
except OSError as e:
# 読み取りエラー(タイミングのズレなど)が発生した場合
print("センサーの読み取りに失敗しました。配線を確認してください。")
# DHT11は連続で読み取ると負荷がかかるため、3秒待つ
time.sleep(3)コードのポイントはdht.DHT11(machine.Pin(15))の 15 です。これはGP15(物理20番ピン)を指しています。別のGPIOに配線した場合はこの数字を書き換えます。DHT11は連続で読み取ると値が乱れるため、time.sleep(3) で3秒あけています。
テスト結果
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
温湿度センサーの読み取りを開始します(Ctrl+Cで停止)
温度: 27°C, 湿度: 58%
温度: 27°C, 湿度: 59%センサーに息を吹きかけると数値がリアルタイムに上がっていくのが分かります。これで「部屋の温度を測る」という現実世界のデータを、Pico Wに取り込めるようになりました。
第1回のまとめと次回(LINE Messaging API設定編)
第1回では、部品の準備、Pico WとDHT11の配線、Thonny+MicroPythonのセットアップ、そして温度取得テストまでを進めました。特に「充電専用USBケーブルではPico Wが認識されない」という点は、最初の関門なので覚えておいてください。
ただし、これだけでは外出先から室温を知ることはできません。次回は、このデータをスマホに届けるための「LINE Messaging API」の設定を行います。ネット上の古い記事どおりに進めると詰まりやすい、公式アカウント連携やWebhookまわりの最新手順を解説します。
次に読む記事
よくある質問(FAQ)
QRaspberry Pi PicoとPico Wの違いは何ですか?
APico WはWi-FiとBluetoothを内蔵したモデルです。本連載は温度データをLINEへ送るのにWi-Fiを使うため、必ず「W」が付いたPico W(またはピンヘッダ実装済みのPico WH)を選んでください。無印のPicoではネットワーク接続ができません。
QDHT11とDHT22(AM2302)はどちらを使えばよいですか?
ADHT11は測定範囲0〜50℃・湿度20〜80%・精度±2℃程度で、室温の見守り用途には十分です。より高精度・広範囲が必要ならDHT22(AM2302)を使います。コードはライブラリのdht.DHT11(...)をdht.DHT22(...)に変えるだけで動きます。
Q「充電専用ケーブル」かどうかを見分ける方法はありますか?
A確実なのは、スマートフォンとPCをそのケーブルでつないでファイル転送(データ通信)ができるか試すことです。パッケージに「Data」「Sync」「データ転送対応」と書かれているものを選べば安心です。Pico Wを挿してもRPI-RP2ドライブが出ないときは、まずケーブルを疑ってください。
QOSErrorで「センサーの読み取りに失敗しました」が続きます。
A配線(特にDATAとGND)の緩み、GP15以外のピンに挿している、DHT11とDHT22を取り違えている、のいずれかが多いです。time.sleep(3)をtime.sleep(5)に延ばすと安定することもあります。
QThonnyのインタプリタ一覧に「MicroPython (Raspberry Pi Pico)」が出てきません。
AまだMicroPythonが書き込まれていない状態です。BOOTSELボタンを押しながらUSBを挿し直してRPI-RP2ドライブを表示させ、オプション画面の「Install or update MicroPython」からRP2・Pico Wを選んで書き込んでください。
Q表示される温度が実際より高く出ます。
APico Wやブレッドボードの発熱をDHT11が拾っている可能性があります。センサーを基板から少し離す、ジャンパー線で5cmほど浮かせる、といった対策で改善します。
自作スマートリモコンシリーズ(全5回)
- ラズパイPico WとDHT11で温湿度を測定する方法|配線図とMicroPythonコード(この記事)
- LINE Messaging APIの始め方|チャネル作成とアクセストークン・ユーザーIDの取得手順
- Pico WからLINEへ通知を送るMicroPythonコード|urequestsでプッシュ送信・日本語エラー400対策
- ラズパイPico Wで赤外線リモコンを自作|受信・送信回路と38kHz PWM制御
- GASを中継サーバーにLINEからPico Wを遠隔操作する方法|Webhookとポーリングで双方向通信
Follow me on X
本ブログの中の人「ニンジン🥕」はXやってます。新着記事はいち早くポストでお知らせしているので、見逃したくない方は @ninjin_py_vba をフォローしてみてください🥕
@ninjin_py_vba をフォローシリーズ記事一覧
電子工作・自動化ツールの製作記録をシリーズごとにまとめています。気になるテーマからお読みください。
-
FILE.01 — IoT
Raspberry Pi Pico W × GASラズパイPico W×GASで自作!「LINEで動く温湿度&スマートリモコン」完全ロードマップ
「外出中のペットの室温が心配…」そんな思いからスタートしたIoT自作プロジェクトの総集編。温湿度監視からエアコン遠隔操作まで、仕組みをゼロから作りたい方のための全5回の開発記録です。
シリーズを読む -
FILE.02 — CNC
Arduino × レーザー刻印CNCCNC自作シリーズ
高精度な加工を目指し、本格的な自作CNC製作に挑戦中。現在は基幹パーツであるオリエンタルモーターの納品を待つ「設計・準備編」を公開。ハードとソフトの両面から、理想のマシンを形にする過程をリアルタイムにお届けします。
シリーズを読む -
FILE.03 — XY軸制御
Raspberry Pi × ステッピングモーターXYテーブルシリーズ
Raspberry Piとステッパモーターを使い、ゼロから2軸制御に挑む記録。OS設定から回路設計、多軸制御のPythonコードまで、躓きやすいポイントを徹底図解。電子工作初心者が「動く感動」を味わうための実戦ガイドです。
シリーズを読む -
FILE.04 — 業務自動化
Python × Excel × CustomTkinter【Python開発記】NINJIN Mail制作記
PythonとExcelを連携させ、実務で即戦力となるメール送信ツールを開発。CustomTkinterによるUI構築や、ミスを防ぐテンプレート活用術など、現場の「痒い所に手が届く」自動化ノウハウを細部まで丁寧に解説します。
シリーズを読む -
FILE.05 — 業務自動化
Python × Excel × GUIアプリ化Invoice Maker(請求書・見積書自動作成)
手作業の請求書作成から卒業!PythonでExcelデータを読み込み一括PDF化する「Invoice_Maker」の作り方を全3回で解説。基本ロジックからGUIアプリ化まで、実務で役立つ自動化ノウハウが満載です。
シリーズを読む

































コメント