夏休みの自由研究、何を作ろうか迷っているお子さんへ


今回は、夏休みの自由研究で電子工作にチャレンジしたい小学生のお子さんに向けて、Arduino初心者キットだけで作れる「気温お知らせベル」を紹介します。
部屋の気温を測って、25℃を超えるとブザーが鳴ってLEDが光り、「あ、暑くなってきた!」と教えてくれる装置です。半田付けも難しいプログラムも不要なので、夏休みの自由研究にちょうど良いボリュームに仕上がります。
- 気温が25℃を超えたら、ブザーが「ピッピッ」と鳴る
- 同時に、赤いLEDがピカピカ点滅する
- 気温が25℃以下に戻ったら、自動で止まる
- シリアルモニタで現在の気温と湿度も確認できる
使う部品 (全部キットに入っているよ)
ELEGOOのスーパースターターキットを買っていれば、追加で買う物はありません。次の部品を取り出しておきましょう。
| 部品 | 役割 | 個数 |
|---|---|---|
| Arduino UNO R3 (互換) | 装置の頭脳 | 1 |
| DHT11温湿度モジュール | 気温と湿度を測る | 1 |
| LED (赤) | 暑くなったら光る | 1 |
| 抵抗330Ω | LEDを保護する | 1 |
| パッシブブザー | 音で知らせる | 1 |
| ブレッドボード | 配線をする台 | 1 |
| ジャンパーワイヤー | 部品をつなぐ線 | 7〜8本 |
DHT11はキット付属では青いプラスチックのモジュール基板になっていることが多く、VCC・DATA・GNDの3ピンを使います。裸の4本足のDHT11単体を買った場合はNCピンが余ります。温度と湿度を一緒に測れるセンサーで、初心者キットの定番部品です。
完成までの流れ
自由研究としては、次の4ステップで進めるとレポートも書きやすくなります。1日で全部できますが、わからない所をじっくり調べながら2〜3日かけても良いです。
部品の確認"] --> B["Step2
配線する"] B --> C["Step3
プログラム
を書き込む"] C --> D["Step4
動作確認
と観察"]
配線図 (ブレッドボード上の挿し位置)
下の図のように部品を挿していきます。同じ行 (row) の穴は内部で繋がっているので、同じ行に挿せば部品同士が電気でつながります。
a b c d e
+─────────+
[+]rail| . . . . . | ← 5V (Arduino 5V から)
[-]rail| . . . . . | ← GND (Arduino GND から)
+─────────+
row 5 | X . . . . | ← DHT11 VCC ([+]rail)
row 6 | X . . . . | ← DHT11 Data (D2)
row 8 | X . . . . | ← DHT11 GND ([-]rail)
row 11 | X . . . . | ← 330Ω 上足 (D7 から)
row 12 | X . . . . | ← 330Ω 下足+LED アノード
row 14 | X . . . . | ← LED カソード ([-]rail)
row 17 | X . . . . | ← ブザー+足 (D8 から)
row 18 | X . . . . | ← ブザー-足 ([-]rail)
+─────────+
記号: X=部品を挿す穴, .=空き穴
注意: 同じ row の a-e は内部でつながっている
DHT11は4本足ですが、実は3本足だけ使います。「VCC」「DATA」「GND」と書かれた足を使い、もう1本 (NC) は使いません。
部品同士のつながり (信号の流れ)
部品がどう電気でつながるかを、文章で書くとこうなります。
Arduino DHT11 5V ────→ VCC (電源プラス) D2 ←───→ Data (温度のデータ) GND ────→ GND (電源マイナス)
LEDとブザーの方は次のようにつなぎます。
Arduino LED + 抵抗 D7 ────→ 330Ω → LED アノード GND ←──── LED カソード Arduino ブザー D8 ────→ +足 GND ←──── -足
プログラムを書き込もう
配線ができたら、次はプログラムです。Arduino IDEを開いて、下のスケッチをコピーして書き込みましょう。DHT11を使うためのライブラリを先にインストールしておく必要があります。
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
#define LED_PIN 7
#define BUZZER_PIN 8
#define THRESHOLD 25.0 // 25℃を超えたら知らせる
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
dht.begin();
Serial.println("気温お知らせベル スタート!");
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature)) {
Serial.println("センサーが読めません");
delay(2000);
return;
}
Serial.print("気温: ");
Serial.print(temperature);
Serial.print("℃ 湿度: ");
Serial.print(humidity);
Serial.println("%");
if (temperature > THRESHOLD) {
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000, 200);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
} else {
digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN);
delay(1000);
}
}
プログラムが何をしているか
プログラムの動きを図にすると次のようになります。
超えた?"} C -->|Yes| D["LED点滅
+ ブザー"] C -->|No| E["LED消灯
ブザー停止"] D --> B E --> B
毎回気温を測って、25℃を超えていたらLEDとブザーで知らせ、超えていなかったら止める、というシンプルな繰り返しです。
動作確認のしかた
書き込みが終わったら、いよいよ動作確認です。Arduino IDEの「シリアルモニタ」を開くと、現在の気温と湿度が1秒ごとに表示されます。
- シリアルモニタの通信速度が「9600bps」になっているか
- DHT11の足の向きが合っているか (表に印字されている)
- LEDの長い足が抵抗側 (D7側) になっているか
気温を上げて試す方法
夏でも家の中だと25℃を超えないことがあります。次の方法で意図的に気温を上げて、ちゃんと動くか確認しましょう。
- DHT11に手で軽く息を吹きかける (1〜2分で温度が上がる)
- ドライヤーの温風を弱めに当てる (やりすぎ注意)
- 窓際の日差しの当たる場所に置く


自由研究レポートにまとめるコツ
動くものができたら、最後にレポートにまとめます。先生に喜ばれる構成を紹介します。
- 研究のきっかけ (なぜ気温お知らせベルを作ろうと思ったか)
- 使った部品の一覧 (写真もあると良い)
- 配線図とプログラム (この記事の図をマネしてOK)
- 動作の様子 (動画やシーン別の写真)
- 感想と次にやってみたいこと
とくに5番目の「次にやってみたいこと」を書くと評価が上がります。「湿度も組み合わせて、不快指数で鳴らしたい」「LCD画面に気温を表示したい」など、自分のアイデアを書いてみましょう。
まとめ
今回は、夏休みの自由研究で使える「気温お知らせベル」の作り方を紹介しました。初心者キットの部品だけで作れて、家族にも喜ばれる、実用度の高い作品です。
大切なのは、完成したらそれで終わりではなく、自分なりの工夫を1つは加えることです。鳴る温度を変える、湿度も組み合わせる、ブザーの音を3種類に変える、何でもOK。そこが自由研究で一番評価される所です。

今日から始める電子工作 

