
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40

Looja: Hazel Yang
See projekt on ilmajaam, mis kasutab andmevoo juhtimiseks Arduino UNO plaati, andmete kogumiseks DHT22 andurit ja andmete kuvamiseks OLED -ekraani.
Samm: üksuste loend

1. Ekraan: OLED, 1,3 ekraan SH1106, I2C valge värv ---- PID: 18283
2. Andur: digitaalne niiskuse ja temperatuuri andur DHT22 ---- PID: 7375
3. Ühendab: hüppajajuhtmed ---- PID: 10316 või 10318 või 10312 (sõltub pikkusest) või võite kasutada täisjuhet 22 AWG ---- PID: 22490
Leivalaud ---- PID: 10686 või 10698 või 103142 (sõltub suurusest)
4. Toide: seda kaablit saab ühendada ainult arvuti USB -pordiga ja seda kaablit kasutatakse ka andmete edastamiseks IDE ja Arduino plaadi vahel. USB-KAABLI, A – B, M/M, 0,5 M (1,5 FT) ---- PID: 29862
Või saate seda kasutada plaadi toiteks: 5V 2A AC/DC adapter ---- PID: 10817.
2. samm: suhteline sissejuhatus


Ekraani tutvustus: 1,3 OLED ekraan valge
1. Dokumendi, mis näitab põhiseadistusi ja kirjeldusi, leiate siit:
Anduri tutvustus: niiskus- ja temperatuuriandur DHT22 1. Dokumendi, mis näitab kirjeldusi, leiate siit:
Samm: ühendage ahel

DHT22 andur saadab seeriaandmed kontaktile 2. Seega ühendage teine tihvt vasakult, "SDA" tihvt tuleb ühendada tihvtiga 2.
SSH1106 ekraani puhul kasutab see edastamiseks analoogpinge. Ekraani vooluahelaks on "SCL" pin Arduino "A5" ja "SDA" pin Arduino "A4" külge. Kuigi pikslite asukohaandmeid edastatakse pidevalt, käivitab programmi kuvamisfunktsioon käsu ainult üks kord iga kord, kui see andmeid andurilt loeb.
Nii andur kui ka ekraan saavad Arduino alalisvoolu sisendina sisselülitamiseks kasutada 3.3V. Toiteallikaks peame ühendama mõlemad "VCC" tihvtid Arduino "3.3V" -ga. Ja "GND" tihvte saab lihtsalt ühendada Arduino tahvli "GND" tihvtiga.
Kasutage USB A kuni B kaablit, ühendage Arudino arvutiga.
Samm: valmistuge kompileerimiseks
"u8glib" SSH1106 ekraani jaoks Olikrausilt.
"DHT andurite kogu" DHT22 anduri jaoks Adafruitist. Peaksite alla laadima kaks raamatukogu: DHT22 andurite kogu:
U8glib:
Ja kasutage IDE -s „teegi haldamist”, et need lahti pakkida. Raamatukogude haldamise veebijuhend:
Samm 5: DHT22 anduri jadapordi testkood
DHT22 anduri jadapordi (mis asub DHT22 raamatukogu sees >> näited) testimisseade:
(Võite selle osa vahele jätta.)
See lihtsalt DHT22 anduri testimiseks loeb andmeid normaalselt
#kaasake
#kaasake
#kaasake
#kaasake
#kaasake
#defineeri DHTPIN 2
#defineeri DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
tühine seadistus () {
Seriaalne algus (9600);
Serial.println (F ("DHT22 test!"));
dht.begin ();
}
void loop () {
// Oodake mõõtmiste vahel mõni sekund.
viivitus (2000);
// Temperatuuri või niiskuse lugemine võtab aega umbes 250 millisekundit!
// Anduri näidud võivad olla ka kuni 2 sekundit vanad (see on väga aeglane andur)
ujuk h = dht.readHumidity ();
// Temperatuuri lugemine Celsiuse järgi (vaikimisi)
ujuk t = dht.readTemperature ();
// Temperatuuri lugemine Fahrenheiti järgi (isFahrenheit = tõene)
float f = dht.readTemperature (tõene);
// Kontrollige, kas mõni lugemine ebaõnnestus, ja väljuge varakult (uuesti proovimiseks).
kui (isnan (h) || isnan (t) || isnan (f)) {
Serial.println (F ("DHT -andurilt ei õnnestunud lugeda!"));
tagasipöördumine;
}
// Soojusindeksi arvutamine Fahrenheiti järgi (vaikimisi)
float hif = dht.computeHeatIndex (f, h);
// Soojusindeksi arvutamine Celsiuse järgi (isFahreheit = false)
float hic = dht.computeHeatIndex (t, h, false);
Serial.print (F ("Niiskus:"));
Seeriatrükk (h);
Serial.print (F ("% temperatuur:"));
Jadajälg (t);
Seeriatrükk (F ("° C"));
Seeriatrükk (f);
Serial.print (F ("° F Heat index:"));
Serial.print (hic);
Seeriatrükk (F ("° C"));
Serial.print (hif);
Serial.println (F ("° F"));
}
// Pärast programmi koostamist klõpsake andmete kontrollimiseks TOOLS >> SERIAL MONITOR.
// Testimisprogrammi lõpp.
6. samm: projekti kood
#kaasake
#kaasake
#kaasake
#kaasake
#kaasake
#defineeri DHTPIN 2
#defineeri DHTTYPE DHT22
#include "U8glib.h"
U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE);
DHT -andur (DHTPIN, DHTTYPE);
tühine viik (tühine) {
u8g.setFont (u8g_font_unifont);
ujuk h = sensor.readHumidity ();
// Temperatuuri lugemine Celsiuse järgi (vaikimisi)
ujuk t = sensor.readTemperature ();
// Kontrollige, kas mõni lugemine ebaõnnestus, ja väljuge varakult (uuesti proovimiseks).
kui (isnan (h) || isnan (t)) {
u8g.print ("Viga");
(;;) jaoks;
tagasipöördumine;
}
u8g.setPrintPos (4, 10);
u8g.print ("Temperatuur (C):");
u8g.setPrintPos (4, 25);
u8g.print (t);
u8g.setPrintPos (4, 40);
u8g.print ("Niiskus (%):");
u8g.setPrintPos (4, 55);
u8g.print (h);
}
tühine seadistus (tühine) {
u8g.setRot180 ();
Seriaalne algus (9600);
sensor.begin ();
}
void loop (void) {
// pildisilmus
u8g.firstPage ();
tee {
joonista ();
} while (u8g.nextPage ());
// pildi taastamine pärast mõningast viivitust (2000);
}
// Põhiprogrammi lõpp.
Samm 7: Kirjeldus

Seejärel lähtestage Arduino plaadi tihvtide ahel. Kuna anduriteek nõuab objekti deklareerimiseks andmeid.
Ja saate anduri andmeid testida, jälgides väljundandmeid digitaalse tihvti 2 kaudu, kasutades funktsiooni nimega "Serial.print ()". Kuna andmete edastamise sagedus on ligikaudu 1 lugemine iga 2 sekundi järel (mis on 0,5 Hz), peame Arduino IDE programmeerimisel seadistama silmusfunktsiooni viivituse üle 2 sekundi. Seega on silmusfunktsiooni sees "viivitus (2000)". See tagab andmete sagedase värskendamise. Funktsioonis "joonista" hankige andmed jadaandmeportist ja pange need funktsioonide "readHumidity" ja "readTemperature" abil ujuvnumbritesse.
Printige niiskus ja temperatuur, kasutades faili "u8glib" printimisfunktsiooni. Saate asendit reguleerida, muutes funktsiooni "setPrintPos" numbrit. Prindifunktsioon võib teksti ja numbreid otse näidata.
Riistvara seadistamiseks andke jadaportile 10 sekundilist viivitust. Seejärel helistage anduri käivitusfunktsioonile. Minu vooluringi kohaselt oli mu ekraan tagurpidi. Seega lisasin ekraani pööramiseks ka funktsiooni "setRot180".
Arduino plaadi silmusfunktsioon on peamine funktsioon. See kutsub pidevalt joonistusfunktsiooni, et kuvada tekst ja andmed iga kord, kui andurit värskendatakse.
Ekraan näeb välja selline:
Saate Arduino UNO arvutist lahti ühendada ja toita seda 5 V alalisvoolu toiteadapteriga, mis ühendatakse selle 2,1 mm toitepistikuga. See salvestab programmi oma draivi ja saab pärast toite käivitamist programmi pidevalt uuesti käivitada.
Soovitan:
Mini ilmajaam Arduino ja ThingSpeaki abil: 4 sammu

Mini ilmajaam Arduino ja ThingSpeaki abil: Tere kõigile. Selles juhendis juhendan teid isikupärastatud mini -ilmajaama tegemiseks. Samuti kasutame oma ilmastikuandmete üleslaadimiseks nende serveritesse ThingSpeak API -d või muidu, mis on ilmastikuolude eesmärk
NaTaLia ilmajaam: Arduino päikeseenergial töötav ilmajaam on õigesti tehtud: 8 sammu (piltidega)

NaTaLia ilmajaam: Arduino päikeseenergial töötav ilmajaam on õigesti tehtud: pärast 1 -aastast edukat tegutsemist kahes erinevas kohas jagan oma päikeseenergiaga töötavate ilmajaamade projektiplaane ja selgitan, kuidas see arenes süsteemiks, mis võib pika aja jooksul tõesti ellu jääda perioodid päikeseenergiast. Kui järgite
Ruumi ilmajaam Arduino ja BME280 abil: 4 sammu

Ruumi ilmajaam, kasutades Arduino ja BME280: varem jagasin lihtsat ilmajaama, mis näitas kohaliku piirkonna temperatuuri ja niiskust. Probleem oli selles, et värskendamine võtab aega ja andmed ei olnud täpsed. Selles õpetuses valmistame siseruumides ilmaseire
Arduino ilmajaam BMP280 -DHT11 abil - temperatuur, niiskus ja rõhk: 8 sammu

Arduino ilmajaam BMP280 -DHT11 abil - temperatuur, niiskus ja rõhk: Selles õpetuses õpime, kuidas teha ilmajaama, mis kuvab LCD -ekraanil TEMPERATUUR, niiskus ja rõhk TFT 7735
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu

Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil