Բովանդակություն:

DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Arduino IDE- ի միջոցով Blynk սերվերի վրա. 4 քայլ
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Arduino IDE- ի միջոցով Blynk սերվերի վրա. 4 քայլ

Video: DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Arduino IDE- ի միջոցով Blynk սերվերի վրա. 4 քայլ

Video: DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Arduino IDE- ի միջոցով Blynk սերվերի վրա. 4 քայլ
Video: Arduino Nano, BME280 և SSD1306 OLED եղանակային կայան 2024, Հուլիսի
Anonim
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով ՝ Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով ՝ Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով ՝ Blynk սերվերի միջոցով
DIY եղանակային կայան ՝ օգտագործելով DHT11, BMP180, Nodemcu Arduino IDE- ով ՝ Blynk սերվերի միջոցով

Github: DIY_Weather_Station

Hackster.io: Եղանակային կայան

Դուք կտեսնեի՞ք Եղանակի կիրառումը: Ինչպես բացելիս դուք ծանոթանում եք եղանակային պայմաններին, ինչպիսիք են ՝ peratերմաստիճանը, Խոնավությունը և այլն: ապավինեք Եղանակի կիրառմանը: Այդ նպատակով եկեք անցնենք Եղանակային կայանի ստեղծմանը, որը ծախսարդյունավետ է, ինչպես նաև հուսալի և տալիս է մեզ ճշգրիտ արժեք:

Օդերևութաբանական կայանը մթնոլորտային պայմանների չափման գործիքներով և սարքավորումներով հաստատություն է `եղանակի կանխատեսումների համար տեղեկատվություն տրամադրելու և եղանակի ու կլիմայի ուսումնասիրման համար: Միացման և ծածկագրման համար մի փոքր ջանք է պահանջվում: Այսպիսով, եկեք սկսենք:

Նոդեմկուի մասին

NodeMCU- ն բաց կոդով IoT հարթակ է:

Այն ներառում է որոնվածը, որն աշխատում է Epress8 Systems- ի ESP8266 Wi-Fi SoC- ով և սարքավորում, որը հիմնված է ESP-12 մոդուլի վրա:

«NodeMCU» տերմինը լռելյայն վերաբերում է որոնվածին, այլ ոչ թե dev հավաքածուներին: Firmware- ն օգտագործում է Lua սցենարական լեզու: Այն հիմնված է eLua նախագծի վրա և կառուցված է Espressif Non-OS SDK- ի վրա ՝ ESP8266- ի համար: Այն օգտագործում է բազմաթիվ բաց կոդով նախագծեր, ինչպիսիք են lua-cjson և spiffs:

Սենսորների և ծրագրակազմի պահանջներ.

1. Նոդեմկու (esp8266-12e v1.0)

2. DHT11

3. BMP180

4. Arduino IDE

Քայլ 1: Իմացեք ձեր սենսորների մասին

Իմացեք ձեր սենսորների մասին
Իմացեք ձեր սենսորների մասին

BMP180:

Նկարագրություն:

BMP180- ը բաղկացած է պիեզո-դիմադրողական տվիչից, անալոգային թվային փոխարկիչից և E2PROM- ով և սերիական I2C ինտերֆեյսով կառավարման միավորից: BMP180- ն ապահովում է ճնշման և ջերմաստիճանի չփոխհատուցված արժեքը: E2PROM- ը պահպանել է 176 բիթ անհատական ստուգաչափման տվյալներ: Սա օգտագործվում է փոխհատուցելու փոխհատուցումը, ջերմաստիճանի կախվածությունը և սենսորի այլ պարամետրերը:

  • UP = ճնշման տվյալներ (16 -ից 19 բիթ)
  • UT = ջերմաստիճանի տվյալներ (16 բիթ)

Տեխնիկական բնութագրեր.

  • Vin: 3 -ից 5VDC
  • Տրամաբանություն. 3 -ից 5 Վ համապատասխանություն
  • Ureնշման զգայուն տիրույթ ՝ 300-1100 hPa (ծովի մակարդակից 9000 մ -500 մ բարձրության վրա)
  • Մինչև 0.03hPa / 0.25 մ լուծույթ -40-ից +85 ° C գործառնական միջակայք, +-2 ° C ջերմաստիճանի ճշգրտություն
  • Այս տախտակը/չիպը օգտագործում է I2C 7-բիթանոց հասցեն ՝ 0x77:

DHT11:

Նկարագրություն:

  • DHT11- ը հիմնական, ծայրահեղ ցածր գնով թվային ջերմաստիճանի և խոնավության տվիչ է:
  • Այն օգտագործում է խոնավության տարողունակության տվիչ և թերմիստոր ՝ շրջապատող օդը չափելու համար, և թվային ազդանշան է դուրս հանում տվյալների քորոցի վրա (անալոգային մուտքային կապեր անհրաժեշտ չեն): Դրա օգտագործումը բավականին պարզ է, բայց պահանջում է մանրակրկիտ ժամանակ ՝ տվյալների գրավման համար:
  • Այս սենսորի միակ բացասական կողմն այն է, որ դրանից կարող եք նոր տվյալներ ստանալ միայն 2 վայրկյանը մեկ անգամ, այնպես որ մեր գրադարանից օգտվելիս սենսորների ընթերցումները կարող են լինել մինչև 2 վայրկյան առաջ:

Տեխնիկական բնութագրեր.

  • 3 -ից 5 Վ հզորություն և I/O
  • Լավ է 0-50 ° C ջերմաստիճանի ընթերցման համար ± 2 ° C ճշգրտության համար
  • Լավ է 20-80% խոնավության ընթերցումների համար `5% ճշգրտությամբ
  • 2.5 մԱ առավելագույն ընթացիկ օգտագործումը փոխակերպման ընթացքում (տվյալները պահանջելիս)

Քայլ 2: Միացում

Միացում
Միացում

DHT11- ը Nodemcu- ի հետ

Pin 1 - 3.3V

Պին 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 Nodemcu- ով:

Վին - 3.3 Վ

Գնդ - Գնդ

SCL - D6

SDA - D7

Քայլ 3: Կարգավորեք Blynk- ը

Image
Image
Կարգավորել Blynk- ը
Կարգավորել Blynk- ը

Ի՞նչ է Բլինկը:

Blynk- ը հարթակ է iOS և Android հավելվածներով ՝ Arduino- ն, Raspberry Pi- ն և նմանատիպ սարքերը ինտերնետով կառավարելու համար:

Դա թվային վահանակ է, որտեղ դուք կարող եք կառուցել ձեր նախագծի գրաֆիկական ինտերֆեյս `պարզապես վիջեթները քարշ տալով և գցելով: Շատ պարզ է ամեն ինչ կարգավորել, և դուք կսկսեք պտտվել 5 րոպեից պակաս ժամանակում: Բլինկը կապված չէ ինչ -որ կոնկրետ տախտակի կամ վահանի հետ: Փոխարենը, այն աջակցում է ձեր ընտրած սարքավորումները: Անկախ նրանից, թե ձեր Arduino- ն կամ Raspberry Pi- ն կապված են ինտերնետին Wi-Fi- ով, Ethernet- ով կամ այս նոր ESP8266 չիպով, Blynk- ը ձեզ կդարձնի առցանց և պատրաստ կլինի ձեր իրերի ինտերնետին:

Blynk- ի ստեղծման վերաբերյալ լրացուցիչ տեղեկությունների համար. Blynk- ի մանրամասն կարգավորում

Քայլ 4: Կոդ

Կոդ
Կոդ

// Յուրաքանչյուր տողի մեկնաբանությունները տրված են ստորև նշված.ino ֆայլում

#ներառել #սահմանել BLYNK_PRINT Սերիալ #ներառել #ներառել #ներառել #ներառել #ներառել Adafruit_BMP085 bmp; #սահմանել I2C_SCL 12 #սահմանել I2C_SDA 13 բոց dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], բալտ [20]; bool bmp085_present = ճշմարիտ; char auth = "Տեղադրեք ձեր հեղինակային բանալին Blynk հավելվածից այստեղ"; char ssid = "Ձեր WiFi SSID- ը"; char pass = "Ձեր գաղտնաբառը"; #սահմանել DHTPIN 2 #սահմանել DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Քորոցի և dhttype BlynkTimer ժամաչափի սահմանում; void sendSensor () {if (! bmp.begin ()) {Serial.println («Չհաջողվեց գտնել վավեր BMP085 սենսոր, ստուգեք լարերը»); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Չհաջողվեց կարդալ DHT սենսորից"); վերադարձ; } կրկնակի գամմա = տեղեկամատյան (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, ժ); Blynk.virtualWrite (V6, t); Blynk.virtualWrite (V10, bp); Blynk.virtualWrite (V11, ba); Blynk.virtualWrite (V12, bt); Blynk.virtualWrite (V13, dst); Blynk.virtualWrite (V14, dp); } void setup () {Serial.begin (9600); Blynk.begin (author, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); ուշացում (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Խորհուրդ ենք տալիս: