Obsah:
- Krok 1: Zoznam položiek
- Krok 2: Relatívny úvod
- Krok 3: Pripojte obvod
- Krok 4: Pripravte sa na kompiláciu
- Krok 5: Testovací kód pre sériový port snímača DHT22
- Krok 6: Kód pre projekt
- Krok 7: Popis
Video: Meteorologická stanica používajúca Arduino UNO: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Vytvorila: Hazel Yang
Tento projekt je meteorologická stanica využívajúca dosku Arduino UNO na riadenie toku údajov, snímač DHT22 na zber údajov a obrazovku OLED na zobrazenie údajov.
Krok 1: Zoznam položiek
1. Obrazovka: OLED, 1,3 displej SH1106, I2C biela farba ---- PID: 18283
2. Senzor: Digitálny snímač vlhkosti a teploty DHT22 ---- PID: 7375
3. Pripojenie: prepojovacie vodiče ---- PID: 10316 alebo 10318 alebo 10312 (v závislosti od dĺžky), alebo môžete použiť pevný drôt 22 AWG ---- PID: 22490
Breadboard ---- PID: 10686 alebo 10698 alebo 103142 (závisí od veľkosti)
4. Napájanie: Tento kábel je možné pripojiť iba k portu USB počítača a kábel sa používa aj na prenos údajov medzi doskou IDE a Arduino. USB KABEL, A TO B, M/M, 0,5 M (1,5 ft) ---- PID: 29862
Alebo to môžete použiť na napájanie dosky: 5V 2A AC/DC adaptér ---- PID: 10817.
Krok 2: Relatívny úvod
Predstavenie obrazovky: 1,3 OLED displej biely
1. Dokument, ktorý ukazuje základné nastavenie a popisy, nájdete:
Predstavenie senzora: Snímač vlhkosti a teploty DHT22 1. Dokument s popisom nájdete tu:
Krok 3: Pripojte obvod
Senzor DHT22 odosiela sériové údaje na kolík 2. Pripojte teda druhý kolík zľava, kolík „SDA“by mal byť zapojený do kolíka 2.
V prípade displeja SSH1106 používa na prenos analógový kolík. Obvody obrazovky budú „SCL“pin na Arduino „A5“a „SDA“pin na Arduino „A4“. Kým údaje o polohe pixelov nepretržite vysielajú, funkcia zobrazovania v programe spustí príkaz iba raz, keď načítava údaje zo snímača.
Senzor aj obrazovka môžu používať 3,3 V na napájanie Arduina ako vstupu jednosmerného prúdu. Na napájanie musíme pripojiť oba kolíky „VCC“k „3,3 V“Arduino. A kolíky „GND“je možné jednoducho pripojiť k kolíku „GND“na doske Arduino.
Použite kábel USB A na B, pripojte Arudino k počítaču.
Krok 4: Pripravte sa na kompiláciu
„u8glib“pre obrazovku SSH1106 od spoločnosti Olikraus.
"Knižnica senzorov DHT" pre senzor DHT22 od spoločnosti Adafruit. Mali by ste si stiahnuť dve knižnice: Knižnica senzorov DHT22:
U8glib:
A použite „spravovať knižnicu“v IDE, aby boli rozbalené. Online výučba správy knižníc:
Krok 5: Testovací kód pre sériový port snímača DHT22
Testovací coe pre sériový port snímača DHT22 (ktorý je v knižnici DHT22 >> príklady):
(Túto časť môžete preskočiť.)
Len na testovanie, či snímač DHT22 číta údaje normálne
#zahrnúť
#zahrnúť
#zahrnúť
#zahrnúť
#zahrnúť
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
neplatné nastavenie () {
Serial.begin (9600);
Serial.println (F ("test DHT22!"));
dht.begin ();
}
prázdna slučka () {
// Medzi meraniami počkajte niekoľko sekúnd.
oneskorenie (2000);
// Čítanie teploty alebo vlhkosti trvá asi 250 milisekúnd!
// Hodnoty snímačov môžu byť tiež „staré“až 2 sekundy (je to veľmi pomalý snímač)
float h = dht.readHumidity ();
// Čítanie teploty ako Celzia (predvolené)
float t = dht.readTemperature ();
// Prečítajte teplotu ako Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature (true);
// Skontrolujte, či niektoré čítanie zlyhalo, a ukončite operáciu predčasne (skúste to znova).
if (isnan (h) || isnan (t) || isnan (f)) {
Serial.println (F ("Nepodarilo sa prečítať zo senzora DHT!"));
návrat;
}
// Vypočítajte tepelný index vo Fahrenheite (predvolené)
float hif = dht.computeHeatIndex (f, h);
// Vypočítajte tepelný index v stupňoch Celzia (isFahreheit = false)
float hic = dht.computeHeatIndex (t, h, false);
Serial.print (F ("Vlhkosť:"));
Serial.print (h);
Serial.print (F ("% teploty:"));
Serial.print (t);
Serial.print (F ("° C"));
Serial.print (f);
Serial.print (F ("° F Tepelný index:"));
Serial.print (hic);
Serial.print (F ("° C"));
Serial.print (hif);
Serial.println (F ("° F"));
}
// Po zostavení programu skontrolujte údaje kliknutím na NÁSTROJE >> SÉRIOVÝ MONITOR.
// Koniec testovacieho programu.
Krok 6: Kód pre projekt
#zahrnúť
#zahrnúť
#zahrnúť
#zahrnúť
#zahrnúť
#define DHTPIN 2
#define DHTTYPE DHT22
#include "U8glib.h"
U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE);
Snímač DHT (DHTPIN, DHTTYPE);
void draw (void) {
u8g.setFont (u8g_font_unifont);
float h = sensor.readHumidity ();
// Čítanie teploty ako Celzia (predvolené)
float t = sensor.readTemperature ();
// Skontrolujte, či niektoré čítanie zlyhalo, a ukončite operáciu predčasne (skúste to znova).
if (isnan (h) || isnan (t)) {
u8g.print ("Chyba.");
pre (;;);
návrat;
}
u8g.setPrintPos (4, 10);
u8g.print („Teplota (C):“);
u8g.setPrintPos (4, 25);
u8g.print (t);
u8g.setPrintPos (4, 40);
u8g.print ("Vlhkosť (%):");
u8g.setPrintPos (4, 55);
u8g.print (h);
}
void setup (void) {
u8g.setRot180 ();
Serial.begin (9600);
sensor.begin ();
}
prázdna slučka (prázdna) {
// obrazová slučka
u8g.firstPage ();
urobiť {
kresliť ();
} while (u8g.nextPage ());
// prestavba obrazu s určitým oneskorením oneskorenia (2000);
}
// Koniec hlavného programu.
Krok 7: Popis
Potom inicializujte obvody pinov pre dosku Arduino. Pretože knižnica senzorov vyžaduje údaje na deklaráciu objektu.
A údaje senzora môžete testovať monitorovaním výstupných údajov prostredníctvom digitálneho pinu 2 pomocou funkcie s názvom „Serial.print ()“. Pretože frekvencia prenosu údajov je zhruba 1 čítanie každé 2 sekundy (čo je 0,5 Hz), pri programovaní v Arduino IDE musíme vo funkcii slučky nastaviť oneskorenie viac ako 2 sekundy. Vnútri funkcie slučky je teda „oneskorenie (2000)“. To zaisťuje, že údaje sa budú často obnovovať. Vo funkcii „kresliť“získajte údaje zo sériového dátového portu a vložte ich do plávajúcich čísel pomocou funkcií „readHumidity“a „readTemperature“.
Vlhkosť a teplotu vytlačte pomocou funkcie tlače v súbore „u8glib“. Pozíciu môžete upraviť zmenou čísla vo funkcii „setPrintPos“. Funkcia tlače môže priamo zobrazovať text a čísla.
Na nastavenie hardvéru dajte sériovému portu 10 -sekundové oneskorenie. Potom zavolajte funkciu zahájenia pre senzor. Podľa môjho obvodu bola moja obrazovka hore nohami. Zahrnul som teda aj funkciu „setRot180“na otáčanie displeja.
Funkcia slučky dosky Arduino je hlavnou funkciou. Stále vyvoláva funkciu kreslenia, aby zobrazovala text a údaje pri každom obnovení senzora.
Obrazovka vyzerá takto:
Arduino UNO môžete odpojiť od počítača a napájať ho pomocou 5 V jednosmerného napájacieho adaptéra, ktorý sa pripája k 2,1 mm napájaciemu konektoru. Uloží program na svoj disk a po zapnutí môže program nepretržite znova spustiť.
Odporúča:
Jednoduchá meteorologická stanica používajúca ESP8266 .: 6 krokov (s obrázkami)
Jednoduchá meteorologická stanica používajúca ESP8266 .: V tomto návode sa budem deliť o to, ako používať ESP8266 na získavanie údajov, ako je teplota, tlak, klíma atď., A údajov z YouTube, ako sú predplatitelia & Celkový počet zobrazení. a zobrazte údaje na sériovom monitore a zobrazte ich na LCD displeji. Údaje budú
Osobná meteorologická stanica používajúca Raspberry Pi s BME280 v Jave: 6 krokov
Osobná meteorologická stanica používajúca Raspberry Pi s BME280 v Jave: Zlé počasie vždy vyzerá horšie cez okno. Vždy nás zaujímalo monitorovať naše miestne počasie a to, čo vidíme z okna. Tiež sme chceli lepšiu kontrolu nad našim systémom vykurovania a klimatizácie. Vybudovanie osobnej meteorologickej stanice je skvelé
Meteorologická stanica používajúca Raspberry Pi s BME280 v Pythone: 6 krokov
Meteorologická stanica používajúca Raspberry Pi s BME280 v Pythone: je hlavnou scénou (The Weather is a Good Storyteller) Vzhľadom na globálne otepľovanie a problémy so zmenou klímy sa globálny model počasia v celom svete stáva nepravidelným, čo vedie k mnohým problémom súvisiacim s počasím prírodné katastrofy (suchá, extrémne
Externá meteorologická stanica používajúca Arduino: 7 krokov
Externá meteorologická stanica používajúca Arduino: Použitý materiál: Ceny sú približné a podľa pamäte. NodeMCU V3 Lua - 3 € digitálny snímač teploty a vlhkosti DTH 22 - 2 € fotorezistorový (LDR) senzorový modul detekuje fotodiódu citlivú na svetlo pre Arduino - 0,80 € 1 súprava/dávka detektor snehu/dažďových kvapiek
Mini-meteorologická stanica Arduino UNO: 5 krokov
Mini-meteorologická stanica Arduino UNO: Toto je prvá generácia mojej mini-meteorologickej stanice založenej na Arduine s wi-fi pripojením, ktorá je schopná verejne zverejňovať údaje online pomocou platformy ThingSpeak. Meteorologická stanica zhromažďuje nasledujúce údaje týkajúce sa počasia a prostredie