Orodha ya maudhui:
- Hatua ya 3: JAWS: Programu
- Hatua ya 4: Programu zaidi…
- Hatua ya 5: Picha zingine za Skrini …
- Hatua ya 6: Imemalizika?
Video: JAWS: Kituo kingine cha Hali ya Hewa: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Ni rahisi sana kutengeneza JAWS kama hizo.
Unapata sensorer zako, unazitupa pamoja kwenye bodi, na unaanza kutumia maktaba ambazo zinakuja na sensorer.
Hebu tuanze na usanidi wa programu.
Kwa kuwa ninazungumza Kiholanzi (mzungumzaji asili) data zote na anuwai nyingi ninazotumia ziko katika Uholanzi. Kwa hivyo sasa una nafasi ya kujifunza lugha nyingine…
Tunataka nini kutoka kwa JAWS?
Rahisi: tunataka kutazama skrini ambayo inatuonyesha wakati halisi, tarehe, ephemerides (jua juu, jua chini, urefu wa mchana na saa sita ya angani).
Karibu na hayo, itakuwa nzuri kuona joto la ndani na nje, unyevu wa jamaa na umande, na shinikizo la hewa.
Ili kufanya mambo iwe rahisi, ninatumia sentigrade kwa joto na hPa (= mBar) kwa shinikizo. Kwa hivyo hakuna mtu anayepaswa kuhesabu nyuma kutoka kwa Fahrenheit au paundi kwa umbali wa mraba…
Kwa wakati huu, data hizi tu ndizo zinapatikana…
Katika siku zijazo, nitaongeza kasi ya Hewa, mwelekeo wa upepo na mvua.
Wazo ni kwamba nitakuwa na kibanda cha hali ya hewa ya nje na data zote zitatumwa zaidi ya 2.4GHz kwa kitengo cha ndani.
Hatua ya 3: JAWS: Programu
Ili kupata programu yetu, nyingi zinaweza kupatikana na maktaba zilizopo.
Katika JAWS mimi hutumia zifuatazo:
- SPI.h: Maktaba ya asili kutoka Arduino kwa itifaki 4 ya waya. Yake hutumiwa kwa ngao ya TFT
- Adafruit_GFX.h na MCUfriend_kbv.h: zote zinatumika kwa picha na skrini. Hizi hufanya iwe rahisi sana kuandika maandishi, kuchora mistari na masanduku kwenye skrini ya TFT.
- dht.h: kwa DHT zetu: maktaba hii inaweza kutumika kwa DHT11 (ile ya samawati) na DHT22.
- Wire.h: maktaba ya Arduino ili kufanya mawasiliano ya serial kuwa rahisi. Inatumika kwa saa na kadi ya SD.
- SD.h: Tena asili ya Arduino, kuandika na kusoma kutoka kwa kadi ya SD.
- TimeLord.h: hii mimi hutumia kutunza wakati, kuhesabu kuzama kwa jua au kuchomoza kwa jua kutoka nafasi yoyote ya kijiografia. Pia iliweka saa ya DST (majira ya joto au wakati wa baridi).
Wacha tuanze na saa.
Wakati wa kusoma saa, unahitaji anuwai unayopata kutoka kwa sajili tofauti ndani ya moduli ya saa. Tunapozifanya kuwa zaidi ya nambari tu, tunaweza kutumia mistari ifuatayo:
const int DS1307 = 0x68; const char * days = {"Zo.", "Ma.", "Di.", "Wo.", "Do.", "Vr.", "Za."};
const char * miezi = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11 "," 12 "};
n
Na TimeLord, tunapata hii kama data, kwa nafasi yangu: (Lokeren, Ubelgiji)
TimeLord Lokeren; kuiweka Lokeren. Nafasi (51.096, 3.99); longitudo na latitudo
Lokeren. TimeZone (+ 1 * 60); GMT +1 = +1 x 60minutes
Lokeren. DrRule (3, 4, 10, 4, 60); DST kutoka mwezi wa 3, wiki ya 4 hadi mwezi wa 10, wiki ya 4, + dakika 60
int jaar = mwaka + 2000;
kupanda kwa jua = {0, 0, 12, siku ya mwezi, mwezi, mwaka}; anza kuhesabu kila siku kutoka masaa 00
byte sunSet = {0, 0, 12, siku ya mwezi, mwezi, mwaka}; sawa na hapo juu
byte maan = {0, 0, 12, siku ya mwezi, mwezi, mwaka}; sawa na hapo juu
awamu ya kuelea;
Kutoka hapa, mahesabu hufanywa.
awamu = Lokeren. MweziPhase (maan);
Lokeren. SunRise (JuaJua);
Lokeren. SunSet (Jua la jua);
Lokeren. DST (SunRise);
Lokeren. DST (sunSet);
int ZonOpUur = Kuibuka kwa jua [tl_hour];
int ZonOpMin = Kuibuka kwa jua [tl_minute];
int ZonOnUur = Jua la jua [tl_hour];
int ZonOnMin = juaSet [tl_minute];
Huu ni mfano wa jinsi vitu vimehesabiwa katika TimeLord. Pamoja na maktaba hii, unapata (mzuri) nyakati sahihi za machweo na jua.
Mwishowe, nitaweka mpango mzima na hii inayoweza kufundishwa. Ni sawa mbele.
Hatua ya 4: Programu zaidi…
Zaidi kuhusu programu hiyo…
Tuna sehemu tatu kubwa katika programu.
1) Tunapata data mbichi kutoka kwa sensorer zetu tofauti: kutoka saa yetu, DHTs na BMP180. Hayo ndiyo maoni yetu.
2) Tunahitaji kutafsiri data kuwa (1 na 0) kwa kitu ambacho kina maana. Kwa hili, tunatumia maktaba zetu na anuwai.
3) Tunataka kusoma na kuhifadhi data zetu. Kwa matumizi ya haraka, tuna LCD-TFT yetu, kwa matumizi ya baadaye, tuna data yetu iliyohifadhiwa kwenye kadi yetu ya SD.
Katika kitanzi chetu (), tunapata "GOTO's" nyingi: tunaruka kwenye maktaba tofauti. Tunapata data zetu kutoka kwa sensorer moja, pata data na kuzihifadhi katika anuwai ya data inayoelea. Tunachagua majina yetu yanayobadilika kwa busara, sio na x au y lakini na majina kama "tempOutside" au "shinikizo" au vitu kama hivyo. Ili kuzifanya zisome zaidi. Sawa, hii inafanya kuwa nzito kidogo juu ya matumizi-anuwai na inayotumia kumbukumbu zaidi.
Huu unakuja ujanja: wakati wa kufanya anuwai zetu kuonekana kwenye skrini, ni kuziweka tu kwenye nafasi sahihi.
Maktaba mawili yaliyotumiwa hapa, Adafruit_GFX.h na MCUfriend_kbv.h yana kazi nzuri ya kutumia rangi, fonti na uwezo wa kuchora mistari. Katika tukio la kwanza, nilitumia skrini ya 12864 na maktaba hizi, baadaye nilibadilisha hiyo kwenye skrini ya tft. Yote ambayo ilibidi nifanye, ni kuweka masanduku, mistatili na mistari, na kuhakikisha kuwa data ilitoka mahali pazuri. Kwa hiyo, unaweza kutumia setCursor na tft. Andika kama amri. Rahisi hufanya hivyo. Rangi zinaweza kuwekwa kama vigeuzi pia, kuna mifano mingi katika maktaba hizo jinsi ya kuzichagua.
Kwa kuandika kwenye kadi ya SD, tunahitaji pia ujanja rahisi.
Kwa mfano, tunasoma data yetu kutoka saa kama masaa tofauti, dakika na sekunde. Joto ni joto la DHT.joto na joto la DHTT, kutofautisha kati ya ndani au nje.
Tunapotaka kuziweka kwenye kadi ya SD, tunatumia kamba: tunaanza kila kitanzi kama kamba tupu:
kutofautisha = ""; Kisha tunaweza kuijaza na data yetu yote:
variablestring = variablestring + masaa + ":" + dakika + ":" + sekunde. Hii inatoa kamba kama 12:00:00.
Kwa kuwa tunaiandika kama faili ya TXT (tazama SD.h kwenye Arduino.cc), kwa anuwai inayofuata tunaongeza tabo, kwa hivyo ni rahisi kuiingiza katika Excel.
Kwa hivyo tunakuja: variablestring = variablestring + "\ t" + DHT. Joto + "\ t" + DHTT. Joto.
Nakadhalika.
Hatua ya 5: Picha zingine za Skrini …
Ili kuhakikisha kuwa "hatupakia" hifadhidata zetu, niliandika data mara moja tu kila dakika 10. Kutupa viingilio 144 kwa siku. Sio mbaya, nadhani.
Na kwa kweli, unaweza kuendelea kuchakata data hiyo: unaweza kufanya wastani, unaweza kutafuta maxima na minima, unaweza kulinganisha na miaka iliyopita …
Met ofisi kawaida hufanya wastani wa mchana na usiku, kwa hali ya joto: mchana huanza saa 8 asubuhi, na hukimbia hadi 8PM.
Kwa upepo, shinikizo na mvua, wastani huchukuliwa kutoka usiku wa manane hadi usiku wa manane.
Hatua ya 6: Imemalizika?
Sio kweli… Kama nilivyosema ningependa mwishowe nipate sensor ya kasi ya upepo na mwelekeo wa upepo inayofanya kazi na wengine wa JAWS.
Ujenzi mdogo niliofanya umesimama juu ya 4m juu. Mtaalamu wa hali ya hewa anapata kasi ya upepo kutoka urefu wa 10m. Ya juu sana kwangu …
Natumai umefurahiya kusoma hii!
Adafruit-GFX imeelezewa hapa:
MCUFRIEND_kbv.h inapatikana hapa:
Zaidi kuhusu BMP 120 (sawa na BMP085):
Kuhusu DHT22:
Ilipendekeza:
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
Kituo kingine cha hali ya hewa mahiri, Lakini : Hatua 6 (na Picha)
Kituo kingine cha hali ya hewa mahiri, Lakini …: Sawa, najua kuna vituo vingi vya hali ya hewa vinavyopatikana kila mahali, lakini chukua dakika chache kuona tofauti … Nguvu ndogo 2 maonyesho ya e-karatasi … lakini 10 tofauti skrini! ESP32 makao ya kasi na sensorer ya joto / unyevu Wifi uppdatering
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
Kituo kingine cha hali ya hewa cha IoT: Hatua 8
Kituo kingine cha hali ya hewa cha IoT: Ifuatayo ilikuwa zawadi ya kuzaliwa kwa Baba yangu; aliongozwa na Agizo jingine ambalo niliona na mwanzoni nilikusudia kudhibitishwa kwake kama kitanda cha kujijenga. Walakini wakati wa kuanza kufanya kazi pamoja naye kwenye mradi huu niligundua haraka sana kwamba mwanzoni