ぴこぴこ ぴぃ~ぴぃ~
にゃあにゃあ
OnLineBackUp
# ==============================
# 【Gemini】様
### ブザー制御プログラム (MicroPython)
import time
from machine import Pin
# ブザーが接続されているGPIOピンの定義
BUZZER_PIN = 5
# Pinオブジェクトの初期化 (出力として設定)
buzzer = Pin(BUZZER_PIN, Pin.OUT)
# ブザーを鳴らす時間と止める時間(秒)
on_time_sec = 0.5 # 鳴っている時間
off_time_sec = 1.0 # 止まっている時間
print(f"GPIO {BUZZER_PIN} 番のブザーを一定間隔で鳴らします。")
# 無限ループで繰り返す
while True:
# 1. ブザーを鳴らす (ON)
buzzer.value(1)
print("-> ブザーが鳴っています (ON)")
time.sleep(on_time_sec)
# 2. ブザーを止める (OFF)
buzzer.value(0)
print("-> ブザーを停止しました (OFF)")
time.sleep(off_time_sec)
### 変更のポイント
# **次に、ブザーの鳴らし方について何か調整したいことはありますか?**
# (例:「短い音を3回鳴らしてから1秒休むようにしたい」「鳴らす時間を短くしたい」など)
# ==============================
# ==== 【Gemini】様
# 回路に問題がないとのこと、安心いたしました。
# それでは、ご提案いただいた「短い音を3回鳴らしてから1秒休む」という、アラームのようなリズムで鳴らすプログラム例を作成しました。
# このリズムは、ただ鳴らし続けるよりも「何かの通知」であることが分かりやすく、実用的なパターンです。
### 短い音で3回鳴らすプログラム
import time
from machine import Pin
# ブザーが接続されているGPIOピン
BUZZER_PIN = 5
buzzer = Pin(BUZZER_PIN, Pin.OUT)
# 設定
short_beep_dur = 0.1 # 短い音の長さ(0.1秒)
short_pause_dur = 0.1 # 音と音の間の短い休み(0.1秒)
long_pause_dur = 1.0 # 3回鳴った後の長い休み(1秒)
print(f"GPIO {BUZZER_PIN}: 3回連続のビープ音を開始します。")
while True:
# --- 3回鳴らすループ ---
for i in range(3):
buzzer.value(1) # 鳴らす
print(f"BEEP {i+1}")
time.sleep(short_beep_dur)
buzzer.value(0) # 止める
time.sleep(short_pause_dur)
# --- 3回鳴り終わった後の長い休み ---
print("Wait...")
time.sleep(long_pause_dur)
### 調整のヒント
# * **音のキレを良くしたい場合**: `short_beep_dur`(鳴らす時間)を `0.05` などに短くすると、より「チッ、チッ、チッ」という鋭い音になります。# * **緊急報のようにしたい場合**: `long_pause_dur` を `0.5` くらいに短くすると、せわしない警告音のような印象になります。
# このように、`for` ループ(回数を決めた繰り返し)を使うことで、単調な音を組み合わせて「パターン」を作ることができます。
# このプログラムを試してみて、音の間隔や回数など、さらにイメージに近いものはありますか?
# ==============================
にゃあにゃあ
ぴぃ~ぴぃ~
じじぃ~
温湿度せんさー あらかから
「もっと正確に測りたい!」という欲が出るのは、エンジニアの証ですね。素晴
らしい向上心です!
現在使っている DHT11 は、いわば「温湿度の世界への入門用」です。そこから
一歩踏み出すための代表的なセンサーたちの比較をまとめました。
---
## 温湿度センサー 徹底比較表
| センサー名 | 湿度精度 | 温度精度 | 通信方式 | 特徴 |
| --- | --- | --- | --- | --- |
| DHT11 | | ℃ | 独自1-Wire | 安価。精度は「目安」程度。 |
| DHT22 | | ℃ | 独自1-Wire | DHT11と使い方が同じ。少し高精度。 |
| BME280 | | ℃ | I2C/SPI | 気圧も測れる。天気予報に向く。 |
| SHT31 | | ℃ | I2C | 温湿度の専門家。 非常に高精度で安定。 |
## 次に選ぶならどれ?(私のアドバイス)
「精度」にこだわりたい今のあなたに、おすすめの選び方を提案します。
1. 「本格的な計測」なら SHT31 がイチオシ!
もし「乾湿計よりも正確に測りたい」のであれば、スイスのSensirion(センシ
リオン)社製の SHT31 が最高です。
* 理由: 工場出荷時にしっかり校正されており、反応が非常に速いです。高級
な温湿度計にも使われる信頼のブランドです。
* 楽しさ: 「はぁ〜」と息を吹きかけたときの数値の戻り方も、DHT11よりキビ
キビしていて気持ちいいですよ。
2. 「天気予報」に興味があるなら BME280
ボッシュ社製のセンサーで、温度・湿度に加えて「気圧」が測れるのが最大の武
器です。
* 理由: 気圧の変化が分かると、「これから雨が降るかも?」「台風が近づい
ている」といった予測ができるようになります。
* 注意点: 湿度そのものの精度は、SHT31の方が一歩リードしているという評価
が多いです。
3. 手軽にアップグレードしたいなら DHT22
今のDHT11と見た目がそっくり(色が白い)で、プログラムもほとんど同じもの
が使えます。
* 理由: 追加の学習コストがほぼゼロで、精度だけを数段上げることができま
す。
## 💡 知っておくと役立つ「接続方式」の変化
これからの本格的なセンサー(SHT31やBME280)は、「I2C(アイ・スクエア・シ
ー)」という通信方式を使うようになります。
* DHT11:ピン1本でデータを送る(シンプル)
* I2C:SDA と SCL という2本のピンで、複数のセンサーと会話できる(プロ仕
様)
最初は少し難しく感じるかもしれませんが、ラズパイピコはこの I2C が非常に
得意です。SHT31などを導入すると、配線も「本格的な電子工作」の雰囲気が出
てきて楽しいですよ!
今のDHT11で「LEDを光らせる」という基本が完璧にマスターできたので、次は S
HT31 あたりで「プロ級の計測」に挑戦してみるのが、一番「精度の違い」を実
感できて面白いと思います。
次は「気圧」を測ってみたいですか? それとも「最高精度の湿度」を追求して
みたいですか?
[温湿度センサーの仕組みと違いの解説](https://www.google.com/search?q=htt
ps://www.youtube.com/watch%3Fv%3DFj-y5w99j_I)
この動画では、さまざまな温湿度センサーの精度や反応速度を比較しており、DH
T11から次のステップへ進む際の参考になります。
南米の密林情報
DHT11
HiLetgo 3個セット DHT11温度センサー モジュール湿度センサーモジュール デュポンラインと付属 Arduinoと互換 [並行輸入品]
ブランド: HiLetgo
¥1,198¥1,198 税込
DHT22
OSOYOO Arduino用 DHT22 デジタル 温度 湿度 センサー モジュール デジタル温湿度測定 アルドゥイーノやRaspberry Pi 2 3 4 5 用 電子工作用 2個セット
OSOYOOのストアを表示
¥1,241¥1,241 税込
BME280
湿温度 気圧センサーモジュール 高精度センサー GY-BME280と交換 3.3V I2C/SPI 通信対応 Raspberry Pi/Arduino用 2個入り
ブランド: ETERMETA
¥1,759¥1,759 税込
SHT31
温湿度センサモジュール SHT31 SHT31-D IIC I2Cインターフェース デジタル出力 3.3V 5V オス・メスケーブル付き for Arduino用
ブランド: DAOKAI
¥739¥739 税込
やっちまったい! 何度目だ?
きゃあきゃあ
ぎゃあぎゃあ
しくしく
やっちまったい!
らずぱい ぴこ
で
つい!
遊んでしまった!
で
買って しまった!
デジタルマルチメータ
くすん;;
12月は いっぱい
お買い物 したから
もう
年内は
無駄使いしない!
あの!
岩より 固い 決意 は?
かなしい;;
じじぃ~
温湿度センサー DHT11 またたび-2
にゃあにゃあ
わんわん
ぴこぴこ
ばぁ~~~じょん あっぷ♪
らずぱい ぴこ
+
温湿度センサー DHT11
で
温湿度計!
南米の密林
VKLSVAN
3個セット DHT11温度センサー
モジュール湿度センサーモジュール
デュポンラインと付属 Arduinoに対応
販売: VKLSVAN
¥799
使用するのは 1個
接続図

冬場だと特に、室内でも湿度が20%〜30%台まで下がることがあるので、「低いね!」と言われたのかもしれませんね。
今のプログラムはしっかり動いているので、「作り直し」ではなく「改修(付け足し)」で大丈夫ですよ!
LEDを2つ(赤と緑)用意して、ピコに繋いでみましょう。
1. 準備するもの
* LED 2つ(赤色と緑色)
* 抵抗器 2つ(330Ω前後など、LEDが壊れないようにするもの)
* ジャンパー線
2. 配線のイメージ
今のDHT11はそのままで、新しくLEDを2つ追加します。
* 緑LED: GP14 に接続
* 赤LED: GP13 に接続
(※それぞれ、抵抗を挟んでGNDに繋いでくださいね)
3. 改修後のプログラム
今のコードに、「もし湿度が〇〇%以下なら〜」という判断(if文)を付け足しました。これをThonnyに貼り付けて動かしてみてください。
```python
import machine
import dht
import utime
# センサーの設定(GP15)
sensor = dht.DHT11(machine.Pin(15))
# LEDの設定
led_green = machine.Pin(14, machine.Pin.OUT) # ちょうどいい時
led_red = machine.Pin(13, machine.Pin.OUT) # 乾燥しすぎの時
print("計測とLED通知を開始します...")
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
print(f"温度: {temp}℃ 湿度: {hum}%")
# ここからLEDの判定
if hum < 40:
# 湿度が40%より低い(乾燥している)
led_red.value(1) # 赤を点灯
led_green.value(0) # 緑を消灯
print("!乾燥しています!")
else:
# 湿度が40%以上(ちょうどいい)
led_red.value(0) # 赤を消灯
led_green.value(1) # 緑を点灯
print("湿度は適正です。")
#
except OSError as e:
print("センサーから読み取れません。")
utime.sleep(2)
```
解説
* `machine.Pin(14, machine.Pin.OUT)`:新しく「ここは電気を出す場所だよ」とピコに教えてあげています。
* `if hum < 40:`:ここで「もし湿度が40未満だったら」と判断しています。この「40」という数字を書き換えるだけで、自分の好きな基準に変えられます。
* `.value(1)`:電気を流す(点灯)、`.value(0)`:電気を止める(消灯)という意味です。
もしLEDや抵抗が手元にあれば、ぜひ繋いでみてください!
「配線のやり方を詳しく知りたい」とか「LEDが1個しかないんだけど…」という場合は、またすぐ教えてくださいね。
# ==============================
