工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino UNO、BMP280センサー、LCDで作るシンプルな気象観測ステーション

必要な部品と材料

部品数量備考
Arduino UNO1メインマイコンボード
Adafruit Standard LCD - 16x2 白文字/青背景1温度・気圧表示用
GY-BMP280 (BMP280搭載モジュール)1温度・気圧センサー
抵抗 220Ω1LCDバックライト用
ジャンパーワイヤー17本配線用

使用ソフトウェア

プロジェクト概要

Arduino UNOとBMP280センサー、16x2キャラクタLCDを使用した、シンプルな気象観測ステーションの第1版です。BMP280はI2Cインターフェースで温度と気圧を高精度に測定できます。

Arduino UNO、BMP280センサー、LCDで作るシンプルな気象観測ステーション
完成イメージ
Arduino UNO、BMP280センサー、LCDで作るシンプルな気象観測ステーション
ブレッドボード上の配線

スポンサー: Utsource.net - 電子部品の調達に信頼できるサイトです。

現在、ワイヤレス化したv2.0を開発中です。アップデートをお楽しみに!

Arduinoスケッチ

以下のコードをArduino IDEで書き込むと、センサーから取得した温度と気圧をLCDに表示します。

#include <LiquidCrystal.h> // LCDライブラリ
#include <BMP280.h>      // BMP280ライブラリ

BMP280 bmp;                          // センサーインスタンス
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCDピン設定 (RS, E, D4, D5, D6, D7)

#define P0 1013.25      // 標準大気圧 (hPa)
#define CONTRAST_PIN 9  // LCDコントラスト調整用PWMピン
#define BRIGHT_PIN 10   // LCD輝度調整用PWMピン

double temperature = 0;
double pressure = 0;
char measureStatus = 0;

void collectData() {
  measureStatus = bmp.startMeasurment();
  if (measureStatus != 0) {
    delay(measureStatus); // 測定完了待ち
    measureStatus = bmp.getTemperatureAndPressure(temperature, pressure);
    if (measureStatus != 0) {
      pressure += 17;    // センサー誤差補正 (+17 hPa)
      temperature -= 0.8; // センサー誤差補正 (-0.8℃)
      
      lcd.clear();
      lcd.print("T: ");
      lcd.print(temperature);
      lcd.print(" C");
      lcd.setCursor(0, 1);
      lcd.print("P: ");
      lcd.print(pressure);
      lcd.print(" hPa");
    } else {
      lcd.print("Error.");
    }
  } else {
    lcd.print("Error.");
  }
}

void setup() {
  lcd.begin(16, 2);
  pinMode(CONTRAST_PIN, OUTPUT);
  pinMode(BRIGHT_PIN, OUTPUT);
  analogWrite(CONTRAST_PIN, 100);  // コントラスト調整 (0-255)
  analogWrite(BRIGHT_PIN, 255);    // 輝度最大
  
  if (!bmp.begin()) {
    lcd.print("Init. failed.");
    lcd.setCursor(0, 1);
    delay(1000);
    lcd.print("Check wiring.");
    while (1); // 停止
  } else {
    lcd.print("Init. OK.");
  }
  
  bmp.setOversampling(4); // オーバーサンプリング設定
  delay(2000);
  collectData();
}

void loop() {
  collectData();
  delay(2000); // 2秒ごとに更新
}

回路図・配線

以下の配線で接続してください。BMP280はI2C接続 (SDA: A4, SCL: A5)、LCDは4ビットモードで接続します。

Arduino UNO、BMP280センサー、LCDで作るシンプルな気象観測ステーション

主な接続ポイント

補足・改良ポイント

製造プロセス

  1. Raspberry Pi 2とADS-WS1で屋外気象観測ステーションを構築
  2. Raspberry Piで気象観測ステーションを構築し、日次天気データをメール送信
  3. 高度気象ステーション v2.0:温度・気圧・湿度・高度のリアルタイム監視
  4. Arduino制御の6連ショット・ドリンクミキシングステーション – 自作カクテル自動製造機
  5. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  6. DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
  7. Pixel Chaser: Arduino Nanoで作るワンタップLEDゲーム
  8. 高性能 Arduino 気象観測気球データロガーの製作ガイド
  9. 10ドルで作る携帯型Arduino気象観測ステーション – Nano、DHT22、BMP180、LCDで簡単DIY
  10. eDOT:高精度Arduino時計・気象ステーション(IRリモコン・自動輝度調整内蔵)
  11. Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム