Arduino Nano製ウェザーステーション:気圧・温湿度・UV・時計表示付き
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| Seeed Grove バロメーターセンサー (BMP280) | 1 | 気圧・温度、SPI接続 |
| DHT11 温湿度センサー (4ピン) | 1 | 湿度測定用 |
| 0.96インチ OLEDディスプレイ (128x64, SSD1306) | 1 | I2C接続 |
| GUVA-S12SD UVセンサー | 1 | アナログ出力、UVインデックス算出用 |
| DS3231 RTCモジュール | 1 | I2C、時計表示用 |
必要な工具
- はんだごて、鉛フリーハンダ
- 3Dプリンター(ケース製作用、Ender 3等)
使用するアプリとオンラインサービス
- Arduino IDE
- Autodesk Fusion 360(ケース設計用)
プロジェクト概要
インターネット接続不要のローカル完結型ウェザーステーションです。周囲の気圧、温度、湿度、UVインデックス(窓際設置時)を測定し、OLEDディスプレイに表示。さらにRTC搭載で時刻・日付・曜日も表示します。

Step 1: ケース製作

Autodesk Fusion 360で設計、緑PLAで造形(サポート必要、インフィル20%、速度70mm/s)。STLファイルはプロジェクトに同梱。
Step 2: BMP280(気圧・温度) - SPI接続
- CS → D10
- SDA (MOSI) → D11
- SDO (MISO) → D12
- SCK → D13
ライブラリ:Adafruit_BMP280.h
// 初期化
Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);
bmp.begin();
// 読み取り
float pressure = bmp.readPressure() / 100.0; // hPa
float temperature = bmp.readTemperature(); // °C
float altitude = bmp.readAltitude(1005.47); // 海面気圧を地域値に設定
Step 3: DS3231 RTC - I2C接続
- SCL → A5
- SDA → A4
ライブラリ:DS3231.h
初回はライブラリ付属の DS3231_set.ino で時刻合わせ。メインプログラムではライブラリ関数で時刻・日付・曜日を取得。曜日はswitch文で日本語名に変換。
Step 4: DHT11(湿度) - デジタル接続
- Data Out → D2
ライブラリ:DHT.h
DHT dht(DHTPIN, DHTTYPE);
dht.begin();
float humidity = dht.readHumidity(); // %
Step 5: GUVA-S12SD UVセンサー - アナログ接続
GaN系ショットキーフォトダイオード。検出波長 240-370nm(UVBと大半のUVAをカバー)。アナログ電圧出力をADCで読み取り、UVインデックスに変換。
float sensorValue = analogRead(A0);
float sensorVoltage = sensorValue / 1024.0 * 5.0;
int UV_index = sensorVoltage / 0.1;
Step 6: OLEDディスプレイ (SSD1306) - I2C接続
- SCK → A5
- SDA → A4
ライブラリ:Adafruit_GFX.h, Adafruit_SSD1306.h
4ページ構成で5秒ごとに切り替え表示:
- 時刻・日付・曜日
- 気圧・高度
- 温度・湿度
- UVインデックス
ビットマップ画像(フレーム0-2)を用いてアイコン表示。
ソースコード
完全なスケッチ(Local weather station code)を同梱。主要ライブラリとフォント(FreeSans9pt7b, FreeMonoBoldOblique12pt7b)を使用。
回路図

カスタムパーツ
3Dプリント用ケースSTLファイル同梱。
製造プロセス
- Raspberry Pi搭載DIYソーラー駆動気象ステーション
- Raspberry Pi 2とADS-WS1で屋外気象観測ステーションを構築
- Raspberry Piで気象観測ステーションを構築し、日次天気データをメール送信
- 高度気象ステーション v2.0:温度・気圧・湿度・高度のリアルタイム監視
- Arduino制御の6連ショット・ドリンクミキシングステーション – 自作カクテル自動製造機
- スマートホーム連携向けマルチポジション温度センサーシステム
- 高性能 Arduino 気象観測気球データロガーの製作ガイド
- 10ドルで作る携帯型Arduino気象観測ステーション – Nano、DHT22、BMP180、LCDで簡単DIY
- ArduinoとThingSpeakで作るリアルタイム気象モニタリングシステム
- ESP8266とDHT22で作るWi-Fi気象観測ステーション – ThingSpeak連携
- Arduino MKR GSM 1400で作るスマートリストバンド:Hologram IoT × Azure × Power BIで患者見守り