Turinys:

„Pasidaryk pats“oro stotis naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį: 4 žingsniai
„Pasidaryk pats“oro stotis naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį: 4 žingsniai

Video: „Pasidaryk pats“oro stotis naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį: 4 žingsniai

Video: „Pasidaryk pats“oro stotis naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį: 4 žingsniai
Video: 5. НАСТОЯЩИЕ СТРАШНЫЕ ИСТОРИИ УЖАСОВ В НОЧНОМ КЛУБЕ, АН... 2024, Lapkritis
Anonim
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį
„Pasidaryk pats“oro stotis, naudojant DHT11, BMP180, „Nodemcu“su „Arduino IDE“per „Blynk“serverį

„Github“: DIY_Weather_Station

Hackster.io: orų stotis

Ar būtumėte matę „Weather Application“? Atidarę jį, jūs pažįstate oro sąlygas, tokias kaip temperatūra, drėgmė ir tt pasikliauti „Weather“programa. Šiuo tikslu galime pereiti prie „Weather Station“kūrimo, kuris yra ekonomiškas, taip pat patikimas ir suteikia mums tikslią vertę.

Meteorologinė stotis yra įrenginys, turintis prietaisus ir įrangą atmosferos sąlygoms matuoti, kad gautų informaciją apie orų prognozes ir ištirtų orą bei klimatą. Prijungti ir koduoti reikia šiek tiek pastangų. Taigi pradėkime.

Apie Nodemcu:

„NodeMCU“yra atvirojo kodo daiktų interneto platforma.

Jame yra programinė įranga, veikianti naudojant „ESP8266 Wi-Fi SoC“iš „Espressif Systems“, ir aparatinė įranga, pagrįsta ESP-12 moduliu.

Terminas „NodeMCU“pagal nutylėjimą reiškia programinę įrangą, o ne kūrėjų rinkinius. Programinė įranga naudoja „Lua“scenarijų kalbą. Jis pagrįstas „eLua“projektu ir sukurtas naudojant „Espressif Non-OS SDK“, skirtą ESP8266. Jis naudoja daug atvirojo kodo projektų, tokių kaip „lua-cjson“ir „spiffs“.

Reikalavimai jutikliams ir programinei įrangai:

1. „Nodemcu“(esp8266-12e v1.0)

2. DHT11

3. BMP180

4. „Arduino IDE“

1 žingsnis: pažinkite savo jutiklius

Žinokite savo jutiklius
Žinokite savo jutiklius

BMP180:

Apibūdinimas:

BMP180 sudaro pjezo-varžinis jutiklis, analoginis-skaitmeninis keitiklis ir valdymo blokas su E2PROM ir nuoseklia I2C sąsaja. BMP180 užtikrina nekompensuojamą slėgio ir temperatūros vertę. E2PROM išsaugojo 176 bitų individualių kalibravimo duomenų. Jis naudojamas kompensuoti poslinkį, priklausomybę nuo temperatūros ir kitus jutiklio parametrus.

  • UP = slėgio duomenys (nuo 16 iki 19 bitų)
  • UT = temperatūros duomenys (16 bitų)

Techninės specifikacijos:

  • Vin: nuo 3 iki 5 V DC
  • Logika: suderinama nuo 3 iki 5 V
  • Slėgio jutimo diapazonas: 300-1100 hPa (nuo 9000 m iki -500 m virš jūros lygio)
  • Iki 0,03 hPa / 0,25 m skiriamoji geba-nuo 40 iki +85 ° C veikimo diapazonas, +-2 ° C temperatūros tikslumas
  • Ši plokštė/lustas naudoja I2C 7 bitų adresą 0x77.

DHT11:

Apibūdinimas:

  • DHT11 yra pagrindinis, nebrangus skaitmeninis temperatūros ir drėgmės jutiklis.
  • Jis naudoja talpinį drėgmės jutiklį ir termistorių aplinkiniam orui matuoti ir išspjauna skaitmeninį signalą ant duomenų kaiščio (nereikia analoginių įvesties kaiščių). Tai gana paprasta naudoti, tačiau reikia kruopščiai nustatyti duomenų gavimo laiką.
  • Vienintelis tikras šio jutiklio trūkumas yra tas, kad iš jo galite gauti naujų duomenų tik kartą per 2 sekundes, todėl naudojant mūsų biblioteką jutiklių rodmenys gali būti iki 2 sekundžių.

Techninės specifikacijos:

  • Nuo 3 iki 5 V maitinimo ir įvesties/išvesties
  • Tinka 0-50 ° C temperatūros rodmenims ± 2 ° C tikslumui
  • Tinka 20–80% drėgmės rodmenims 5% tikslumu
  • 2,5 mA maksimali srovė, naudojama konvertavimo metu (prašant duomenų)

2 žingsnis: ryšys

Ryšiai
Ryšiai

DHT11 su Nodemcu:

1 kaištis - 3.3V

2 kaištis - D4

3 kaištis - NC

4 kaištis - Gnd

BMP180 su „Nodemcu“:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

3 žingsnis: nustatykite „Blynk“

Image
Image
„Blynk“sąranka
„Blynk“sąranka

Kas yra Blynk?

„Blynk“yra platforma su „iOS“ir „Android“programomis, skirtomis valdyti „Arduino“, „Raspberry Pi“ir panašius dalykus internetu.

Tai skaitmeninis prietaisų skydelis, kuriame galite sukurti savo projekto grafinę sąsają tiesiog vilkdami ir numesdami valdiklius. Viską sukonfigūruoti tikrai paprasta ir pradėsite tvarkytis greičiau nei per 5 minutes. „Blynk“nėra pririštas prie tam tikros lentos ar skydo. Vietoj to, ji palaiko jūsų pasirinktą aparatūrą. Nesvarbu, ar jūsų „Arduino“, ar „Raspberry Pi“yra prijungtas prie interneto per „Wi-Fi“, „Ethernet“ar šią naują ESP8266 mikroschemą, „Blynk“padės jums prisijungti prie interneto ir pasiruošti daiktų internetui.

Norėdami gauti daugiau informacijos apie „Blynk“nustatymą: Išsami „Blynk“sąranka

4 žingsnis: kodas

Kodas
Kodas

// Kiekvienos eilutės komentarai pateikiami toliau esančiame.ino faile

#include #define BLYNK_PRINT Serial #include #include #include #include #include Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = tiesa; char auth = "Įdėkite savo autentifikavimo raktą iš programos" Blynk "čia"; char ssid = "Jūsų WiFi SSID"; char pass = "Jūsų slaptažodis"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Smeigtuko ir dhttype BlynkTimer timer nustatymas; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Nepavyko rasti galiojančio BMP085 jutiklio, patikrinkite laidus!"); nors (1) {}} plūdė h = dht.readHumidity (); plūdė t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Nepavyko nuskaityti iš DHT jutiklio!"); grįžti; } dviguba gama = log (h / 100) + ((17,62*t) / (243,5 + t)); dvigubas dp = 243,5*gama / (17,62-gama); plūdė bp = bmp.read Slėgis ()/100; plūdė ba = bmp.readAltitude (); plūdė bt = bmp.readTemperature (); plūdė 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); } void setup () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); „Wire.begin“(I2C_SDA, I2C_SCL); vėlavimas (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Rekomenduojamas: