Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä opetusohjelmassa rakennat ilmamittarin, joka valvoo ilman lämpötilaa, kosteutta ja painetta, kaikki käyttämällä Blynkia, esp32, DHT22 ja BMP180.
Tarvikkeet
- esp32 Mikro -ohjain
- DHT22
- BMP180
Vaihe 1: Asenna Blynk
Tarvitset Blynkin tähän projektiin, jotta voit nähdä tulokset reaaliajassa kaikkialla maailmassa. Näet kuinka Blynk asennetaan edellisessä opetusohjelmassa.
Vaihe 2: Asenna kirjastot
Ensimmäinen asennettava kirjasto on SparkFun RHT03 Arduino Library, voit ladata sen osoitteesta https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#kirjastoasennus. Kun olet ladannut sen, avaa Arduino IDE ja valitse Luonnos> Sisällytä kirjasto> Lisää. ZIP -kirjasto… ja valitse juuri lataamasi.zip -tiedosto.
Toinen asennettava kirjasto on Adafruit BMP085 -kirjasto. Voit asentaa tämän siirtymällä kohtaan Luonnos> Sisällytä kirjasto> Hallinnoi kirjastoja… ja etsi sitten”BMP085”.
Vaihe 3: Johdotkaa piiri
Nyt sinun on johdettava piiri, se on melko helppo piiri. Katso piirikaaviot yllä.
Vaihe 4: Rakenna sovellus Blynkille
Tarvitset sovelluksen Blynkissä, jotta voit vastaanottaa tiedot ja näyttää ne graafisesti sovelluksessa. Rakenna se käyttämällä yllä olevia kuvia.
Widgetit:
- 2x mittaria
- 1x vaakasuora taso
Lämpömittarin asetukset:
- Nimi: Lämpötila
- Väri: Oranssi/keltainen
- Tulo: V5 0-100
- Etiketti: /pin /° C
Päivitysväli: 1 sek
Kosteusmittarin asetukset:
- Nimi: Kosteus
- Väri: Vaaleansininen
- Tulo V6 0-100
- Tunniste: /pin /%
- Päivitysväli: 1 sek
Painetason asetukset
- Nimi: Paine
- Väri: Oranssi/keltainen
- Tulo: V7 950-1050
- Kääntöakseli: Pois
- Päivitysväli: 1 sek
Vaihe 5: Lataa koodi
Nyt olemme valmiita koodiin. Ennen kuin lataat koodin, sinun on tehtävä muutamia muutoksia, etsi rivi char auth = "YourAuthToken"; ja korvaa YourAuthToken aiemmin kirjoittamallasi todennustunnuksella ja jos käytät wifiä, etsi rivi char ssid = "YourNetworkName"; ja korvaa YourNetworkName verkkosi nimellä ja etsi rivi char pass = "YourPassword"; ja korvaa salasanasi Wifi -salasanallasi. Kun olet tehnyt tämän, voit nyt ladata koodin.
#define BLYNK_PRINT -sarja #sisällytä
#sisältää
#sisältää
#sisältää
#sisältää
#sisältää
/////////////////////
// Nastan määritelmät // ////////////////////// const int DHT22_DATA_PIN = 27; // DHT22 -datanappi const int FLAME_SENSOR_DATA_PIN = 32; // Liekinsensorin datanasta //////////////////////////// // RHT03 -objektin luominen // ////////// ////////////////// RHT03 rht; // Tämä luo RTH03 -objektin, jota käytämme vuorovaikutuksessa anturin kanssa ///////////////////////////// BMP180/BMP085 Objektin luominen // //////////////////////////// Adafruit_BMP085 bmp; // Sinun pitäisi saada todennustunnus Blynk -sovelluksessa. // Siirry projektiasetuksiin (mutterikuvake). char auth = "YourAuthToken"; // WiFi -kirjautumistietosi. // Aseta salasana "" avoimille verkoille. char ssid = "Oma verkkosiNimi"; char pass = "Oma salasana"; BlynkTimer -ajastin; void sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// Kosteus () -, tempC () - ja tempF () -toimintoja voidaan kutsua - onnistuneen päivityksen jälkeen () - saadaksesi viimeisen kosteus- ja lämpötila // -arvon latestHumidity = rht.humidity (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.read Pressure ()/100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, latestHumidity); Blynk.virtualWrite (V7, uusin paine); } else {// Jos päivitys epäonnistui, yritä viivyttää RHT_READ_INTERVAL_MS ms ennen // yrittämistä uudelleen. viive (RHT_READ_INTERVAL_MS); }} void setup () {// Virheenkorjauskonsoli Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Voit myös määrittää palvelimen: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin (auth, ssid, pass, IPAdress (192, 168, 1, 100), 8080); rht.begin (DHT22_DATA_PIN); if (! bmp.begin ()) {Serial.println ("Ei löytynyt kelvollista BMP085/BMP180 -anturia, tarkista johdotus!"); while (1) {}} // Määritä toiminto, joka kutsutaan joka toinen timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }
Vaihe 6: Valmis
Hyvin tehty, piiri on nyt valmis ja se voidaan nyt sijoittaa paikkaan, jossa se saa virtaa ja lähettää lämpötila-, kosteus- ja painetietoja puhelimeesi!