สารบัญ:
- ขั้นตอนที่ 1: รู้จักเซ็นเซอร์ของคุณ
- ขั้นตอนที่ 2: การเชื่อมต่อ
- ขั้นตอนที่ 3: ตั้งค่า Blynk
- ขั้นตอนที่ 4: รหัส
วีดีโอ: สถานีตรวจอากาศ DIY โดยใช้ DHT11, BMP180, Nodemcu พร้อม Arduino IDE ผ่านเซิร์ฟเวอร์ Blynk: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
Github: DIY_Weather_Station
Hackster.io: สถานีตรวจอากาศ
คุณคงเคยเห็น Weather Application ใช่ไหม? เช่น เมื่อคุณเปิดมัน คุณจะรู้สภาพอากาศ เช่น อุณหภูมิ ความชื้น ฯลฯ ค่าที่อ่านได้คือค่าเฉลี่ยของพื้นที่ขนาดใหญ่ ดังนั้น หากคุณต้องการทราบพารามิเตอร์ที่แน่นอนที่เกี่ยวข้องกับห้องของคุณ คุณไม่สามารถทำได้เพียงแค่ พึ่งพาแอปพลิเคชั่นสภาพอากาศ เพื่อจุดประสงค์นี้ เรามาสร้างสถานีตรวจอากาศซึ่งคุ้มค่าและเชื่อถือได้และให้ค่าที่ถูกต้องแก่เรา
สถานีตรวจอากาศเป็นสถานที่ที่มีเครื่องมือและอุปกรณ์สำหรับวัดสภาพอากาศเพื่อให้ข้อมูลสำหรับการพยากรณ์อากาศและเพื่อศึกษาสภาพอากาศและสภาพอากาศ ต้องใช้ความพยายามเพียงเล็กน้อยในการเสียบและเขียนโค้ด มาเริ่มกันเลยดีกว่า
เกี่ยวกับโนเดมคู:
NodeMCU เป็นแพลตฟอร์มโอเพ่นซอร์ส IoT
ประกอบด้วยเฟิร์มแวร์ที่ทำงานบน ESP8266 Wi-Fi SoC จาก Espressif Systems และฮาร์ดแวร์ที่ใช้โมดูล ESP-12
คำว่า "NodeMCU" โดยค่าเริ่มต้นหมายถึงเฟิร์มแวร์มากกว่าชุดพัฒนา เฟิร์มแวร์ใช้ภาษาสคริปต์ Lua อิงตามโครงการ eLua และสร้างขึ้นจาก Espressif Non-OS SDK สำหรับ ESP8266 ใช้โปรเจ็กต์โอเพ่นซอร์สมากมาย เช่น lua-cjson และ spiffs
ข้อกำหนดของเซนเซอร์และซอฟต์แวร์:
1. Nodemcu (esp8266-12e v1.0)
2. DHT11
3. BMP180
4. Arduino IDE
ขั้นตอนที่ 1: รู้จักเซ็นเซอร์ของคุณ
BMP180:
คำอธิบาย:
BMP180 ประกอบด้วยเซนเซอร์ความต้านทานแบบเพียโซ ตัวแปลงอนาล็อกเป็นดิจิตอล และชุดควบคุมที่มี E2PROM และอินเทอร์เฟซ I2C แบบอนุกรม BMP180 ให้ค่าความดันและอุณหภูมิที่ไม่มีการชดเชย E2PROM เก็บข้อมูลการสอบเทียบแต่ละรายการไว้ 176 บิต ใช้เพื่อชดเชยออฟเซ็ต การขึ้นกับอุณหภูมิ และพารามิเตอร์อื่นๆ ของเซ็นเซอร์
- UP = ข้อมูลแรงดัน (16 ถึง 19 บิต)
- UT = ข้อมูลอุณหภูมิ (16 บิต)
ข้อมูลทางเทคนิค:
- วิน: 3 ถึง 5VDC
- ลอจิก: สอดคล้องกับ 3 ถึง 5V
- ช่วงการตรวจจับแรงดัน: 300-1100 hPa (9000m ถึง -500m เหนือระดับน้ำทะเล)
- สูงสุด 0.03hPa / 0.25m ความละเอียด-40 ถึง +85°C ช่วงการทำงาน, +-2°C ความแม่นยำของอุณหภูมิ
- บอร์ด/ชิปนี้ใช้ที่อยู่ I2C 7 บิต 0x77
DHT11:
คำอธิบาย:
- DHT11 เป็นเซ็นเซอร์อุณหภูมิและความชื้นแบบดิจิตอลพื้นฐานราคาประหยัดพิเศษ
- ใช้เซ็นเซอร์ความชื้นแบบคาปาซิทีฟและเทอร์มิสเตอร์เพื่อวัดอากาศโดยรอบ และแยกสัญญาณดิจิตอลบนขาข้อมูล (ไม่จำเป็นต้องใช้หมุดอินพุตแบบอะนาล็อก) ค่อนข้างใช้งานง่าย แต่ต้องใช้เวลาในการดึงข้อมูลอย่างระมัดระวัง
- ข้อเสียเพียงอย่างเดียวของเซ็นเซอร์นี้คือ คุณสามารถรับข้อมูลใหม่จากเซ็นเซอร์ได้ทุกๆ 2 วินาทีเท่านั้น ดังนั้นเมื่อใช้ไลบรารีของเรา การอ่านเซ็นเซอร์อาจมีอายุไม่เกิน 2 วินาที
ข้อมูลทางเทคนิค:
- กำลังไฟ 3 ถึง 5V และ I/O
- เหมาะสำหรับการอ่านค่าอุณหภูมิ 0-50 °C ±2°C ความแม่นยำ
- เหมาะสำหรับการอ่านค่าความชื้น 20-80% พร้อมความแม่นยำ 5%
- การใช้กระแสไฟสูงสุด 2.5 mA ระหว่างการแปลง (ขณะขอข้อมูล)
ขั้นตอนที่ 2: การเชื่อมต่อ
DHT11 กับ Nodemcu:
พิน 1 - 3.3V
พิน 2 - D4
พิน 3 - NC
พิน 4 - Gnd
BMP180 พร้อม Nodemcu:
วิน - 3.3V
Gnd - Gnd
SCL - D6
SDA - D7
ขั้นตอนที่ 3: ตั้งค่า Blynk
Blynk คืออะไร?
Blynk เป็นแพลตฟอร์มที่มีแอป iOS และ Android เพื่อควบคุม Arduino, Raspberry Pi และไลค์บนอินเทอร์เน็ต
เป็นแดชบอร์ดดิจิทัลที่คุณสามารถสร้างอินเทอร์เฟซแบบกราฟิกสำหรับโครงการของคุณโดยเพียงแค่ลากและวางวิดเจ็ต การตั้งค่าทุกอย่างง่ายมาก และคุณสามารถเริ่มซ่อมแซมได้ภายในเวลาไม่ถึง 5 นาที Blynk ไม่ได้ผูกติดอยู่กับบอร์ดหรือโล่บางอัน แต่จะสนับสนุนฮาร์ดแวร์ที่คุณเลือกแทน ไม่ว่า Arduino หรือ Raspberry Pi ของคุณจะเชื่อมโยงกับอินเทอร์เน็ตผ่าน Wi-Fi, อีเธอร์เน็ต หรือชิป ESP8266 ใหม่นี้ Blynk จะช่วยให้คุณออนไลน์และพร้อมสำหรับอินเทอร์เน็ตในทุกสิ่งของคุณ
สำหรับข้อมูลเพิ่มเติมในการตั้งค่า Blynk: การตั้งค่า Blynk โดยละเอียด
ขั้นตอนที่ 4: รหัส
//ความคิดเห็นสำหรับแต่ละบรรทัดอยู่ในไฟล์.ino ด้านล่าง
#รวม #define BLYNK_PRINT อนุกรม #รวม #รวม #รวม #รวม #รวม Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba; ถ่าน dstmp[20], btmp[20], bprs[20], balt[20]; bool bmp085_present=จริง; char auth="ใส่รหัสการตรวจสอบสิทธิ์ของคุณจากแอป Blynk ที่นี่"; char ssid = "SSID WiFi ของคุณ"; char pass = "รหัสผ่านของคุณ"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); //กำหนดพินและตัวจับเวลา dhttype BlynkTimer; เป็นโมฆะ sendSensor() { if (!bmp.begin()) { Serial.println("ไม่พบเซ็นเซอร์ BMP085 ที่ถูกต้อง ให้ตรวจสอบการเดินสาย!"); ในขณะที่ (1) {} } float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan (h) || isnan (t)) { Serial.println ("ไม่สามารถอ่านจากเซ็นเซอร์ DHT!"); กลับ; } แกมมาสองเท่า = log(h/100) + ((17.62*t) / (243.5+t)); ดับเบิล dp = 243.5*แกมมา / (17.62 แกมมา); float bp = bmp.readPressure()/100; float ba = bmp.readAltitude(); float bt = bmp.readTemperature(); float dst = bmp.readSealevelPressure()/100; Blynk.virtualWrite(V5, h); Blynk.virtualWrite(V6, t); Blynk.virtualWrite (V10, bp); Blynk.virtualWrite (V11, ba); Blynk.virtualWrite (V12, bt); Blynk.virtualWrite (V13, dst); Blynk.virtualWrite (V14, DP); } การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Blynk.begin(รับรองความถูกต้อง, ssid, ผ่าน); dht.begin(); Wire.begin(I2C_SDA, I2C_SCL); ล่าช้า(10); timer.setInterval (1000L, sendSensor); } วงเป็นโมฆะ () { Blynk.run (); timer.run(); }
แนะนำ:
สถานีตรวจอากาศ Arduino โดยใช้ BMP280-DHT11 - อุณหภูมิ ความชื้น และความดัน: 8 ขั้นตอน
สถานีตรวจอากาศ Arduino โดยใช้ BMP280-DHT11 - อุณหภูมิ ความชื้น และความดัน: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีสร้างสถานีตรวจอากาศที่จะแสดงอุณหภูมิ ความชื้น และความดันบนจอ LCD TFT 7735 ดูวิดีโอสาธิต
ESP8266 NodeMCU + LM35 + Blynk (สถานีตรวจอากาศ IOT/ Digital Temp Sensor): 4 ขั้นตอน
ESP8266 NodeMCU + LM35 + Blynk (สถานีตรวจอากาศ IOT/ Digital Temp Sensor): สวัสดีทุกคน! ในคำแนะนำนี้ เราจะเรียนรู้วิธีเชื่อมต่อเซ็นเซอร์ LM35 กับ NodeMCU และแสดงข้อมูลอุณหภูมิบนอินเทอร์เน็ตบนสมาร์ทโฟนด้วยแอปพลิเคชัน Blynk (ในโปรเจ็กต์นี้ เราจะใช้วิดเจ็ต SuperChart ใน Bl
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
สร้างนาฬิกาด้วย M5stick C โดยใช้ Arduino IDE - นาฬิกาแบบเรียลไทม์ RTC พร้อม M5stack M5stick-C: 4 ขั้นตอน
สร้างนาฬิกาด้วย M5stick C โดยใช้ Arduino IDE | นาฬิกาแบบเรียลไทม์ RTC พร้อม M5stack M5stick-C: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีสร้างนาฬิกาด้วยบอร์ดพัฒนา m5stick-C ของ m5stack โดยใช้ Arduino IDE ดังนั้น m5stick จะแสดงวันที่ เวลา & สัปดาห์ของเดือนบนจอแสดงผล
สถานีตรวจอากาศ IoT พร้อม RPi และ ESP8266: 10 ขั้นตอน
สถานีตรวจอากาศ IoT ด้วย RPi และ ESP8266: ในบทช่วยสอนก่อนหน้านี้ เราได้เล่นกับ NodeMCU เซ็นเซอร์ และเรียนรู้วิธีจับและบันทึกข้อมูลบนแพลตฟอร์ม ThingSpeak (อินเทอร์เน็ตของทุกสิ่ง (IoT) ที่ให้คุณรวบรวมและจัดเก็บข้อมูลเซ็นเซอร์ในคลาวด์ และพัฒนาแอพพลิเคชั่น IoT):IOT