สารบัญ:

อีกหนึ่งสถานีตรวจอากาศ Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 ขั้นตอน
อีกหนึ่งสถานีตรวจอากาศ Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 ขั้นตอน

วีดีโอ: อีกหนึ่งสถานีตรวจอากาศ Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 ขั้นตอน

วีดีโอ: อีกหนึ่งสถานีตรวจอากาศ Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 ขั้นตอน
วีดีโอ: Arduino ESP8266 BLYNK IOT - ทดลอง Sensor DHT22/DHT11 วัดอุณหภูมิ และ ความชื้นในอากาศ 2024, พฤศจิกายน
Anonim
อีกหนึ่งสถานีตรวจอากาศ Arduino (ESP-01 & BMP280 & DHT11 & OneWire)
อีกหนึ่งสถานีตรวจอากาศ Arduino (ESP-01 & BMP280 & DHT11 & OneWire)

ที่นี่คุณสามารถค้นหาการทำซ้ำของการใช้ OneWire ด้วยหมุดไม่กี่ตัวของ ESP-01 อุปกรณ์ที่สร้างขึ้นในคำแนะนำนี้จะเชื่อมต่อกับเครือข่าย Wifi ที่คุณเลือก (คุณต้องมีข้อมูลรับรอง…) รวบรวมข้อมูลทางประสาทสัมผัสจาก BMP280 และ DHT11 และส่งข้อมูลที่รวบรวมไปยังช่อง ThingSpeak ที่มีให้ ฉันเดาว่าคุณน่าจะรู้วิธีอัปโหลดภาพร่างไปยัง ESP-01 ของคุณ ฉันจะไม่ลงรายละเอียดเหล่านั้น ถ้าไม่มีตัวควบคุมแรงดันไฟฟ้า วงจรจะต้องได้รับพลังงาน ด้วยกระแสไฟสูงสุด 3.3V DC ไม่มีการเพิ่มข้อความมากนัก บทช่วยสอนควรตรงไปตรงมาจากจุดนี้

ขั้นตอนที่ 1: ขั้นตอนที่ 1: BOM

ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM
ขั้นตอนที่ 1: BOM

ฮาร์ดแวร์:

1 x โมดูล Wifi: ESP-01 (ฉันใช้เวอร์ชัน 1024 KB)

1 x เซ็นเซอร์ความดันและอุณหภูมิ: BMP280

1 x เซ็นเซอร์ความชื้นและอุณหภูมิ: DHT11

1 x ตัวควบคุมแรงดันไฟฟ้า AMS1117 (เป็นทางเลือกสำหรับการจ่ายไฟโดยตรง หรือคุณสามารถใช้อุปกรณ์อื่นๆ ที่สามารถควบคุมแรงดันไฟฟ้าขาเข้าของคุณให้เหลือ 3.3V คงที่)

ขั้นตอนที่ 2: ขั้นตอนที่ 2: การเดินสายไฟ

ขั้นตอนที่ 2: การเดินสายไฟ
ขั้นตอนที่ 2: การเดินสายไฟ

ESP-01 VCC ถึง 3.3VESP-01 GND ถึง GNDESP-01 TX ถึง DHT11 DATAESP-01 GPIO0 ถึง BMP280 SDAESP-01 GPIO2 ถึง BMP280 SCLDHT11 VCC ถึง 3.3VDHT11 GND ถึง GNDBMP280 VCC ถึง 3.3VBMP280 GND เป็น GND

ขั้นตอนที่ 3: ขั้นตอนที่ 3: รหัส

#include #include #include //CHECK #define BMP280_ADDRESS mine ใช้งานได้ (0x76) #include #define DHTPIN 1 //GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3=Rx const char* ssid = "asd "; // WIFI SSID ของคุณ const char* password = "asd"; // WIFIPASS ของคุณ const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // APIKEY ของคุณ // DHT11 สิ่งของ float temperature_buiten; อุณหภูมิลอยตัว_buiten2; DHT dht(DHTPIN, DHTTYPE, 15); //BMP280 Adafruit_BMP280 bmp; การตั้งค่าเป็นโมฆะ () {// I2C สิ่ง Wire.pins (0, 2); Wire.begin(0, 2); //DHT1 dht.begin(); //BMP280 ถ้า (!bmp.begin()) { // Serial.println ("ไม่มี BMP280"); // ในขณะที่ (1) {} } // เชื่อมต่อกับเครือข่าย WiFi WiFi.begin (ssid, รหัสผ่าน); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); } } โมฆะลูป () {// DHT11 ความชื้นลอย = dht.readHumidity (); อุณหภูมิลอย = dht.readTemperature(); if (isnan (ความชื้น) || isnan (อุณหภูมิ)) { กลับ; } //BMP280 สตริง t = สตริง (bmp.readTemperature()); สตริง p = สตริง (bmp.readPressure()); //การเชื่อมต่อ TCP ไคลเอนต์ WiFiClient; const int httpPort = 80; if (!client.connect(host, httpPort)) { return; } url สตริง = "/update?key="; url += writeAPIKey; url += "&field1="; url += สตริง (อุณหภูมิ); //DHT11 CELSIUS url += "&field2="; url += สตริง (ความชื้น); //DHT11 url ความชื้นสัมพัทธ์ +="&field3="; url +=String(bmp.readTemperature()); //BMP280 CELSIUS url +="&field4="; url +=String(bmp.readPressure()/100); //BMP280 MILLIBAR url +="&field5="; url +=String(bmp.readAltitude(1013.25)); //BMP280 เมตร url +="&field6="; url +=String((อุณหภูมิ+bmp.readTemperature())/2); //DHT11 + BMP280 url เฉลี่ยเซลเซียส += "\r\n"; // ส่งคำขอไปยังเซิร์ฟเวอร์ client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r \n\r\n"); ล่าช้า (1000); }

แนะนำ: