Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Në këtë tutorial, ju do të ndërtoni një monitor ajri që monitoron temperaturën e ajrit, lagështinë dhe presionin, të gjitha duke përdorur Blynk, një esp32, një DHT22 dhe një BMP180.
Furnizimet
- esp32 Mikrokontrollues
- DHT22
- BMP180
Hapi 1: Konfiguroni Blynk
Ju do të keni nevojë për Blynk për këtë projekt në mënyrë që të shihni rezultatet në kohë reale kudo në botë. Ju mund të shihni se si të konfiguroni Blynk në mësimin tim të mëparshëm.
Hapi 2: Instaloni Bibliotekat
Biblioteka e parë që do t'ju duhet të instaloni është Biblioteka SparkFun RHT03 Arduino, mund ta shkarkoni nga https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#bibliotekë-instalim. Pasi ta shkarkoni hapni Arduino IDE dhe shkoni te Sketch> Include Library> Add. ZIP Library … dhe zgjidhni skedarin.zip që sapo shkarkuat.
Biblioteka e dytë që duhet të instaloni është Biblioteka Adafruit BMP085, mund ta instaloni duke shkuar te Sketch> Përfshi Bibliotekën> Menaxhoni Bibliotekat … pastaj kërkoni për 'BMP085'.
Hapi 3: Lidhni qarkun
Tani ju duhet të lidhni qarkun, është një qark mjaft i lehtë. Shihni skemat e qarkut më lart.
Hapi 4: Ndërtoni Aplikacionin për Blynk
Ju do të keni nevojë për aplikacionin në Blynk në mënyrë që të merrni të dhënat dhe t'ju tregohen në aplikacion, në mënyrë grafike. Për ta ndërtuar atë përdorni fotografitë e mësipërme.
Widgets:
- 2x matësa
- 1x Niveli horizontal
Cilësimet e matësit të temperaturës:
- Emri: Temperatura
- Ngjyra: Portokalli/E Verdhë
- Hyrja: V5 0-100
- Etiketa: /pin /° C
Intervali i rifreskimit: 1 sekondë
Cilësimet e matësit të lagështisë:
- Emri: Lagështia
- Ngjyra: Blu e çelur
- Hyrja V6 0-100
- Etiketa: /pin /%
- Intervali i rifreskimit: 1 sekondë
Cilësimet e nivelit të presionit
- Emri: Presioni
- Ngjyra: Portokalli/E Verdhë
- Hyrja: V7 950-1050
- Boshti i rrokullisjes: Joaktiv
- Intervali i rifreskimit: 1 sekondë
Hapi 5: Ngarko kodin
Tani jemi gati për kodin. Para se të ngarkoni kodin do t'ju duhet të bëni disa ndryshime, gjeni rreshtin char auth = "YourAuthToken"; dhe zëvendësoni YourAuthToken me Shenjën Auth që keni shkruar më herët dhe nëse jeni duke përdorur wifi gjeni linjën char ssid = "YourNetworkName"; dhe zëvendësoni YourNetworkName me emrin e rrjetit tuaj dhe gjeni linjën char pass = "YourPassword"; dhe zëvendësoni YourPassword me fjalëkalimin tuaj Wifi. Pasi ta keni bërë këtë, tani mund të ngarkoni kodin.
#përcakto BLYNK_PRINT Seriali #përfshi
#përfshi
#përfshi
#përfshi
#përfshi
#përfshi
/////////////////////
// Përkufizimet e kunjave // ///////////////////// const int DHT22_DATA_PIN = 27; // PIN i të dhënave DHT22 const int FLAME_SENSOR_DATA_PIN = 32; // Pin i të dhënave të sensorit të flakës ////////////////////////// // Krijimi i objektit RHT03 // ////////// ////////////////// RHT03 rht; // Kjo krijon një objekt RTH03, të cilin do ta përdorim për të bashkëvepruar me sensorin //////////////////////////// BMP180/BMP085 Krijimi i Objektit // ////////////////////////// Adafruit_BMP085 bmp; // Ju duhet të merrni Auth Token në Aplikacionin Blynk. // Shko te Cilësimet e Projektit (ikona e arrës). char auth = "YourAuthToken"; // Kredencialet tuaja WiFi. // Vendosni fjalëkalimin në "" për rrjetet e hapura. char ssid = "Emri juaj i rrjetit"; char pass = "Fjalëkalimi juaj"; Kohëmatës BlynkTimer; void sendSensor () {int updateRet = rht.update (); nëse funksionet (updateRet == 1) {// Lagështia (), tempC () dhe tempF () mund të quhen - pas // një azhurnimi të suksesshëm () - për të marrë lagështinë dhe temperaturën e fundit // vlera noton lagështia e fundit = rht. lagështia (); noton lastTempC = rht.tempC (); noton lastTempF = rht.tempF (); float lastPressure = bmp.readPressure ()/100; Blynk.virtualWrite (V5, funditTempC); Blynk.virtualWrite (V6, Lagështia e fundit); Blynk.virtualWrite (V7, Presioni i fundit); } else {// Nëse përditësimi dështoi, provoni të vononi për RHT_READ_INTERVAL_MS ms para se të provoni përsëri // vonesë (RHT_READ_INTERVAL_MS); }} void setup () {// Debug console Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Ju gjithashtu mund të specifikoni serverin: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.filloj(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); rht.filloj (DHT22_DATA_PIN); nëse (! bmp.begin ()) {Serial.println ("Nuk mund të gjej një sensor të vlefshëm BMP085/BMP180, kontrolloni instalimet elektrike!"); ndërsa (1) {}} // Konfiguro një funksion që do të thirret çdo timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }
Hapi 6: Përfundoi
Mirë, qarku tani është i plotë dhe tani mund të vendoset në një vend ku mundësohet dhe do të dërgojë të dhëna të temperaturës, lagështisë dhe presionit në telefonin tuaj!