
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11

Iliundwa na: Hazel Yang
Mradi huu ni kituo cha hali ya hewa kinachotumia bodi ya Arduino UNO kudhibiti mtiririko wa data, sensor ya DHT22 kukusanya data na skrini ya OLED kuonyesha data.
Hatua ya 1: Orodha ya Bidhaa

1. Skrini: OLED, 1.3 Onyesha SH1106, I2C rangi nyeupe ---- PID: 18283
2. Sensor: Unyevu wa dijiti na Sura ya Joto DHT22 ---- PID: 7375
3. Inaunganisha: waya za Jumper ---- PID: 10316 au 10318 au 10312 (inategemea urefu) au unaweza kutumia waya thabiti 22 AWG ---- PID: 22490
Breadboard PID: 10686 au 10698 au 103142 (inategemea saizi)
Nguvu: Kebo hii inaweza tu kuungana na bandari ya USB ya kompyuta na kebo hiyo pia hutumiwa kwa uhamishaji wa data kati ya bodi ya IDE na Arduino. Cable ya USB, A TO B, M / M, 0.5M (1.5FT) ---- PID: 29862
Au unaweza kutumia hii kuwezesha bodi: 5V 2A AC / DC Adapter ---- PID: 10817.
Hatua ya 2: Utangulizi wa Jamaa


Utangulizi wa Skrini: 1.3 OLED Onyesha Nyeupe
1. Unaweza kupata hati inayoonyesha usanidi wa msingi na maelezo:
Utangulizi wa Sensorer: Unyevu na Sura ya Joto DHT22 1. Unaweza kupata hati inayoonyesha maelezo:
Hatua ya 3: Unganisha Mzunguko

Sensorer ya DHT22 hutuma data ya serial kubandika 2. Kwa hivyo, unganisha pini ya pili kutoka kushoto, pini ya "SDA" inapaswa kushikamana na kubandika 2.
Kwa onyesho la SSH1106, hutumia pini ya analog kusambaza. Mzunguko wa skrini itakuwa pini ya "SCL" kwa pini ya Arduino "A5" na "SDA" kwa Arduino "A4". Wakati data ya msimamo wa pikseli inapita kila wakati, kazi ya kuonyesha katika programu inasababisha amri mara moja kila wakati inasoma data kutoka kwa sensa.
Sensorer na skrini zinaweza kutumia 3.3V kuwezesha Arduino kama pembejeo ya umeme wa DC. Kwa nguvu, tunahitaji kuunganisha pini zote mbili za "VCC" kwa Arduino "3.3V". Na pini za "GND" zinaweza kushikamana tu na pini ya "GND" kwenye ubao wa Arduino.
Tumia kebo ya USB A hadi B, unganisha Arudino kwenye kompyuta.
Hatua ya 4: Jitayarishe kukusanya
"u8glib" kwa skrini ya SSH1106 kutoka Olikraus.
"Maktaba ya sensorer ya DHT" ya sensorer ya DHT22 kutoka Adafruit. Unapaswa kupakua maktaba mbili: maktaba ya sensorer ya DHT22:
U8glib:
Na tumia "dhibiti maktaba" katika IDE kuifanya ifunguliwe. Maagizo ya mkondoni ya kusimamia maktaba:
Hatua ya 5: Nambari ya Mtihani ya Bandari ya Siri ya Sense ya DHT22
Mtihani wa jaribio la bandari ya sensa ya DHT22 (ambayo iko ndani ya maktaba ya DHT22 >> mifano):
(Unaweza kuruka sehemu hii.)
Ni kujaribu tu sensorer ya DHT22 inasoma data kawaida
# pamoja
# pamoja
# pamoja
# pamoja
# pamoja
#fafanua DHTPIN 2
#fafanua DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
usanidi batili () {
Kuanzia Serial (9600);
Serial.println (F ("mtihani wa DHT22!"));
kuanza ();
}
kitanzi batili () {
// Subiri sekunde chache kati ya vipimo.
kuchelewa (2000);
// Joto la kusoma au unyevu huchukua karibu milliseconds 250!
Kusoma kwa sensorer pia kunaweza kuwa hadi sekunde 2 'zamani' (ni sensorer polepole sana)
kuelea h = dht.read Humidity ();
// Soma joto kama Celsius (chaguomsingi)
kuelea t = dht. soma Joto ();
// Soma joto kama Fahrenheit (isFahrenheit = kweli)
kuelea f = dht. soma Joto (kweli);
// Angalia ikiwa usomaji wowote umeshindwa na utoke mapema (kujaribu tena).
ikiwa (isnan (h) || isnan (t) || isnan (f)) {
Serial.println (F ("Imeshindwa kusoma kutoka kwa sensorer ya DHT!"));
kurudi;
}
// Fanya fahirisi ya joto katika Fahrenheit (chaguomsingi)
kuelea hif = dht.computeHeatIndex (f, h);
// Fanya faharisi ya joto katika Celsius (isFahreheit = uwongo)
kuelea hic = dht.computeHeatIndex (t, h, uwongo);
Printa ya serial (F ("Unyevu:"));
Printa ya serial (h);
Serial.print (F ("% Joto:"));
Printa ya serial (t);
Printa ya serial (F ("° C"));
Printa ya serial (f);
Serial.print (F ("° F Kiashiria cha joto:"));
Serial.print (hic);
Printa ya serial (F ("° C"));
Printa ya serial (hif);
Serial.println (F ("° F"));
}
// Baada ya kuandaa programu, bonyeza VITUO >> MONITOR WA SERIAL kuangalia data.
// Mwisho wa mpango wa upimaji.
Hatua ya 6: Nambari ya Mradi
# pamoja
# pamoja
# pamoja
# pamoja
# pamoja
#fafanua DHTPIN 2
#fafanua DHTTYPE DHT22
# pamoja na "U8glib.h"
U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE);
Sensor ya DHT (DHTPIN, DHTTYPE);
chora batili (batili) {
u8g.setFont (u8g_font_unifont);
kuelea h = sensorer. Unyenyekevu ();
// Soma joto kama Celsius (chaguomsingi)
kuelea t = sensor.read Joto ();
// Angalia ikiwa usomaji wowote umeshindwa na utoke mapema (kujaribu tena).
ikiwa (isnan (h) || isnan (t)) {
u8g.print ("Kosa.");
kwa (;;);
kurudi;
}
u8g.setPrintPos (4, 10);
u8g.print ("Joto (C):");
u8g.setPrintPos (4, 25);
uchapishaji (t);
u8g.setPrintPos (4, 40);
u8g.print ("Unyevu (%):");
u8g.setPrintPos (4, 55);
uchapishaji (h);
}
usanidi batili (utupu) {
u8g.setRot180 ();
Kuanzia Serial (9600);
sensor. kuanza ();
}
kitanzi batili (batili) {
// kitanzi cha picha
ukurasa wa Kwanza ();
fanya {
chora ();
} wakati (u8g.nextPage ());
// kujenga tena picha baada ya kucheleweshwa kwa kuchelewa (2000);
}
// Mwisho wa programu kuu.
Hatua ya 7: Maelezo

Kisha, anzisha mzunguko wa pini kwa bodi ya Arduino. Kwa sababu maktaba ya sensorer inahitaji data kutangaza kitu.
Na unaweza kujaribu data ya sensorer kwa kufuatilia data ya pato kupitia pini 2 ya dijiti kwa kutumia kazi inayoitwa "Serial.print ()". Kwa sababu mzunguko wa usafirishaji wa data ni kusoma 1 kila sekunde 2 (ambayo ni 0.5 Hz), wakati imewekwa katika Arduino IDE, tunahitaji kuweka ucheleweshaji ndani ya kazi ya kitanzi kuwa zaidi ya sekunde 2. Kwa hivyo kuna "kuchelewesha (2000)" ndani ya kazi ya kitanzi. Hii inahakikisha data itaburudishwa mara kwa mara. Katika kazi "chora", pata data kutoka kwa bandari ya data ya serial na uiweke kwenye idadi ya kuelea ukitumia kazi za "readHumidity" na "readTemperature".
Chapisha unyevu na joto kwa kutumia kazi ya kuchapisha kwenye faili ya "u8glib". Unaweza kurekebisha nafasi kwa kubadilisha nambari katika kazi ya "setPrintPos". Kazi ya kuchapisha inaweza kuonyesha moja kwa moja maandishi na nambari.
Kuanzisha vifaa, toa bandari ya serial ucheleweshaji wa sekunde 10. Kisha piga kazi ya kuanza kwa sensor. Kulingana na mzunguko wangu, skrini yangu ilikuwa chini chini. Kwa hivyo nilijumuisha pia kazi ya "setRot180" ili kuzungusha onyesho.
Kazi ya kitanzi ya bodi ya Arduino ndio kazi kuu. Inaendelea kuita kazi ya kuteka ili kuonyesha maandishi na data kila wakati kitambuzi kinapoburudishwa.
Skrini inaonekana kama hii:
Unaweza kukata Arduino UNO kutoka kwa kompyuta yako na kuiweka nguvu kwa kutumia adapta ya umeme ya 5V DC inayounganisha na jack yake ya nguvu ya 2.1mm. Inahifadhi programu ndani ya gari lake na inaweza kuendelea kuendesha programu tena baada ya kuwezeshwa.
Ilipendekeza:
Kikapu cha Kunyongwa cha Kituo cha hali ya hewa cha juu: Hatua 11 (na Picha)

Kikapu cha kunyongwa cha Kituo cha hali ya hewa ya juu: Halo kila mtu! Katika chapisho hili la blogi ya T3chFlicks, tutakuonyesha jinsi tulivyotengeneza kikapu kizuri cha kunyongwa. Mimea ni nyongeza safi na nzuri kwa nyumba yoyote, lakini inaweza kuchosha haraka - haswa ikiwa unakumbuka tu kuyamwagilia wakati wako
Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sahihi: Hatua 8 (na Picha)

Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sawa: Baada ya mwaka 1 wa kufanikiwa katika maeneo 2 tofauti ninashiriki mipango yangu ya mradi wa kituo cha hali ya hewa na kuelezea jinsi ilibadilika kuwa mfumo ambao unaweza kuishi kwa muda mrefu vipindi kutoka kwa nguvu ya jua. Ukifuata
Kituo cha hali ya hewa cha DIY na Kituo cha Sensorer cha WiFi: Hatua 7 (na Picha)

Kituo cha hali ya hewa cha DIY na Kituo cha Sensor cha WiFi: Katika mradi huu nitakuonyesha jinsi ya kuunda kituo cha hali ya hewa pamoja na kituo cha sensorer cha WiFi. Kituo cha sensorer hupima data ya joto na unyevu wa ndani na kuipeleka, kupitia WiFi, kwa kituo cha hali ya hewa. Kituo cha hali ya hewa kisha kinaonyesha t
1.8 Kituo cha hali ya hewa cha hali ya juu cha TFT LCD: Hatua 5

1.8 Kituo cha hali ya hewa cha hali ya juu cha TFT LCD: Kidogo kidogo, lakini kubwa
Acurite 5 katika Kituo cha hali ya hewa 1 Kutumia Raspberry Pi na Weewx (Vituo vingine vya hali ya hewa vinaendana): Hatua 5 (na Picha)

Acurite 5 katika Kituo cha hali ya hewa 1 Kutumia Raspberry Pi na Weewx (Vituo vingine vya hali ya hewa vinaendana): Wakati nilikuwa nimenunua Acurite 5 katika kituo cha hali ya hewa cha 1 nilitaka kuweza kuangalia hali ya hewa nyumbani kwangu nilipokuwa mbali. Nilipofika nyumbani na kuitengeneza niligundua kuwa lazima ningepaswa kuwa na onyesho lililounganishwa na kompyuta au kununua kitovu chao cha busara,