กลับไปหน้ารวมไฟล์
bluetooth-weather-station-e61978.md

การวัดและส่งข้อมูลความกดอากาศจากระยะไกล: ศูนย์กลางสภาพอากาศ Bluetooth

การเดินสายไฟยาว 15 เมตร ออกไปนอกหน้าต่างห้องนอนเพื่ออ่านค่าเซ็นเซอร์อุณหภูมิเป็นเรื่องที่ล้าสมัยอย่างยิ่ง Bluetooth Weather Station นำเสนอสถาปัตยกรรมการตรวจสอบสภาพอากาศแบบไร้สายอย่างสมบูรณ์และเป็นอิสระ! โดยใช้อุปกรณ์ราคาถูกอย่าง Arduino Nano ร่วมกับชุดเซ็นเซอร์ที่ซับซ้อนอย่าง BMP280 Barometric Pressure และ DHT11 Humidity โหนดนี้จะวัดพารามิเตอร์ทางความร้อนเฉพาะของสภาพแวดล้อมภายนอกอาคารได้อย่างอิสระและไม่หยุดหย่อน! แทนที่จะใช้ LCD ที่ใช้งานยาก โปรเจกต์นี้จะรวบรวมตัวแปรทั้งหมดไว้อย่างสมบูรณ์แบบในรูปแบบ Serial String matrix ขนาดใหญ่ และส่งข้อมูลอย่างปลอดภัยผ่านคลื่น 2.4GHz ด้วยโมดูล Bluetooth HC-05 ทำให้คุณสามารถเปิด Smartphone Terminal ของคุณได้ทันที และรับข้อมูลการวิเคราะห์สภาพอากาศแบบเรียลไทม์ได้อย่างต่อเนื่องจากเตียงนอนของคุณ!

arduino_radar_sweep_display_1772681940235.png

การจัดโครงสร้างการส่งข้อมูลแบบ Serial (การรวม DHT และ BMP เข้าด้วยกัน)

Arduino ทำหน้าที่เป็นผู้ประสานงานทางคณิตศาสตร์เพียงผู้เดียว

  1. BMP280 สื่อสารโดยใช้โปรโตคอล I2C <Wire.h> ขนาดใหญ่ (ขา A4, A5) โดยตรง
  2. DHT11 สื่อสารผ่านโปรโตคอล 1-Wire ที่กำหนดเองซึ่งเข้มงวดอย่างไม่น่าเชื่อ
  3. ทุกๆ 2000 มิลลิวินาที โปรเซสเซอร์จะเรียกใช้ทั้งสองไลบรารีโดยตรง, ดึงค่า float ที่แท้จริง, จัดรูปแบบอย่างสวยงามโดยใช้ตัวคั่นข้อความธรรมดา และส่งออกทั้งหมดผ่านขา SoftwareSerial!
#include <SoftwareSerial.h>
#include <DHT.h>
#include <Adafruit_BMP280.h>

SoftwareSerial BTSerial(10, 11); // TX explicitly routed via 1K/2K Voltage Divider
DHT dht(2, DHT11);
Adafruit_BMP280 bmp;

void setup() {
  BTSerial.begin(9600); // Initialize the HC-05 2.4GHz RF Link
  dht.begin();
  bmp.begin(0x76);      // Initialize I2C Barometer hardware!
}

void loop() {
  float currentTemp = dht.readTemperature(); 
  float currentHumid = dht.readHumidity();
  float currentPressure = bmp.readPressure() / 100.0; // Math translation to standard hPa units!
  
  // Package entirely as a single contiguous Android-readable string!
  BTSerial.print("Temp: ");
  BTSerial.print(currentTemp);
  BTSerial.print(" C | Humid: ");
  BTSerial.print(currentHumid);
  BTSerial.print(" % | Pressure: ");
  BTSerial.print(currentPressure);
  BTSerial.println(" hPa"); // Explicit carriage return triggers the screen update on the phone!

  delay(2000); // Absolute lockout. The DHT11 crashes totally if queried faster than 2.0s!
}

การสร้างกล่องหุ้มภายนอกที่ปรับปรุงการใช้พลังงานแบตเตอรี่

การวางเซ็นเซอร์ไว้ภายนอกอาคารจะทำให้พวกมันเผชิญกับความเสียหายจากสิ่งแวดล้อมที่ร้ายแรงได้โดยตรง!

  • การออกแบบ Stevenson Screen: คุณต้องติดตั้ง DHT11 ไว้ภายในกล่องพลาสติกสีขาวแบบมีช่องระบายอากาศที่ออกแบบมาโดยเฉพาะ! หากแสงแดดส่องกระทบชิป BMP280 สีดำโดยตรง อุณหภูมิจะสูงขึ้นผิดปกติถึง 15 องศา! กล่องหุ้มจะต้องยอมให้อากาศไหลเวียนได้ แต่ต้องป้องกันรังสีโฟตอนโดยสมบูรณ์!
  • การจัดการพลังงาน: HC-05 จะส่งสัญญาณ RF อย่างต่อเนื่อง ซึ่งจะทำให้แบตเตอรี่ 9V หมดอย่างรวดเร็ว โหนดระดับมืออาชีพจะใช้ AT Commands ที่เฉพาะเจาะจงเพื่อนำ HC-05 เข้าสู่ Sleep Mode อย่างสมบูรณ์ โดยจะตื่นขึ้นมาผ่าน Arduino hardware Interrupt อย่างชัดเจนเพียงครั้งเดียวทุก 10 นาทีเพื่อส่งข้อมูล telemetry เท่านั้น!

องค์ประกอบการวัดและส่งข้อมูลสภาพอากาศ

  • Arduino Uno/Nano (ทำหน้าที่รวบรวมข้อมูล serial ที่เป็นอิสระอย่างปลอดภัย)
  • DHT11 หรือ Elite DHT22 Sensor (DHT22 ให้ข้อมูลสภาพอากาศที่มีความแม่นยำทศนิยม ซึ่งเหนือกว่า DHT11 ที่เป็นจำนวนเต็มแบบดั้งเดิมอย่างสมบูรณ์)
  • BMP180 / BMP280 I2C Barometric Sensor (ใช้ในการพยากรณ์พายุที่กำลังจะมาถึงได้อย่างน่าทึ่ง โดยการติดตามการลดลงของความกดอากาศแบบไดนามิกโดยตรง!)
  • HC-05 หรือ HM-10 Bluetooth Module (ทำหน้าที่เป็นสายต่อ UART ไร้สายที่มองไม่เห็นระหว่าง Nano และ Smartphone โดยตรง!)
  • Android Smartphone (ใช้ในการรันแอปพลิเคชัน "Serial Bluetooth Terminal" ขั้นสูงอย่างปลอดภัยเพื่อดักจับรูปแบบสตริง ASCII ขนาดใหญ่)

ข้อมูล Frontmatter ดั้งเดิม

title: "Bluetooth Weather Station"
description: "Localized meteorological networking! Harvest absolute DHT11 atmospheric capacitance scalars and BMP180 barometric pressure extremes completely natively, bridging the serial UI string natively into Android BT-Terminal architectures perfectly utilizing deep HM-10 packet translation cores."
category: "Wireless & IoT"
difficulty: "Beginner"