Orodha ya maudhui:

JAWS: Kituo kingine cha Hali ya Hewa: Hatua 6
JAWS: Kituo kingine cha Hali ya Hewa: Hatua 6

Video: JAWS: Kituo kingine cha Hali ya Hewa: Hatua 6

Video: JAWS: Kituo kingine cha Hali ya Hewa: Hatua 6
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim
JAWS: Kuandaa Mambo Yetu Tayari
JAWS: Kuandaa Mambo Yetu Tayari
JAWS: Kuandaa vitu vyetu tayari
JAWS: Kuandaa vitu vyetu tayari
JAWS: Kuandaa Mambo Yetu Tayari
JAWS: Kuandaa Mambo Yetu Tayari

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

JAWS: Programu
JAWS: Programu

Ili kupata programu yetu, nyingi zinaweza kupatikana na maktaba zilizopo.

Katika JAWS mimi hutumia zifuatazo:

  1. SPI.h: Maktaba ya asili kutoka Arduino kwa itifaki 4 ya waya. Yake hutumiwa kwa ngao ya TFT
  2. 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.
  3. dht.h: kwa DHT zetu: maktaba hii inaweza kutumika kwa DHT11 (ile ya samawati) na DHT22.
  4. Wire.h: maktaba ya Arduino ili kufanya mawasiliano ya serial kuwa rahisi. Inatumika kwa saa na kadi ya SD.
  5. SD.h: Tena asili ya Arduino, kuandika na kusoma kutoka kwa kadi ya SD.
  6. 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…

Programu zaidi…
Programu zaidi…
Programu zaidi…
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 …

Picha zingine za Skrini …
Picha zingine za Skrini …
Picha zingine za Skrini …
Picha zingine za Skrini …
Picha zingine za Skrini …
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?

Imemalizika?
Imemalizika?
Imemalizika?
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: