Përmbajtje:

JAWS: Vetëm një stacion tjetër moti: 6 hapa
JAWS: Vetëm një stacion tjetër moti: 6 hapa

Video: JAWS: Vetëm një stacion tjetër moti: 6 hapa

Video: JAWS: Vetëm një stacion tjetër moti: 6 hapa
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Nëntor
Anonim
JAWS: Përgatitja e gjërave tona
JAWS: Përgatitja e gjërave tona
JAWS: Përgatitja e gjërave tona
JAWS: Përgatitja e gjërave tona
JAWS: Përgatitja e gjërave tona
JAWS: Përgatitja e gjërave tona

Quiteshtë mjaft e thjeshtë të bësh një JAWS të tillë.

Ju merrni sensorët tuaj, i vendosni së bashku në dërrasa dhe filloni të përdorni bibliotekat që vijnë me sensorët.

Le të fillojmë me konfigurimin e programit.

Meqenëse unë flas holandisht (folës amtare) të gjitha të dhënat dhe shumë nga variablat që përdor janë në holandisht. Kështu që tani ju keni mundësinë të mësoni një gjuhë tjetër…

Çfarë duam nga JAWS?

Lehtë: ne duam të shikojmë një ekran që na tregon kohën, datën, efemeridet (lindja e diellit, perëndimi i diellit, gjatësia e ditës dhe mesdita astronomike).

Pranë kësaj, do të ishte mirë të shihni temperaturën e brendshme dhe të jashtme, lagështinë relative dhe pikën e vesës dhe presionin e ajrit.

Për t'i bërë gjërat më të lehta, unë përdor centigradë për temperaturën dhe hPa (= mBar) për presionin. Kështu që askush nuk duhet të llogarisë mbrapsht nga Fahrenheit ose paund për shtrirje katrore …

Për momentin, vetëm këto të dhëna janë në dispozicion…

Në të ardhmen, do të shtoj shpejtësinë e ajrit, drejtimin e erës dhe reshjet.

Ideja është që unë do të kem një kasolle jashtë motit dhe të gjitha të dhënat do të dërgohen mbi 2.4GHz në njësinë e brendshme.

Hapi 3: JAWS: Softuer

JAWS: Softuer
JAWS: Softuer

Për të arritur tek softueri ynë, shumica mund të gjenden në bibliotekat ekzistuese.

Në JAWS përdor ato në vijim:

  1. SPI.h: Biblioteka origjinale nga Arduino për protokollin me 4 tela. Ajo përdoret për mburojën TFT
  2. Adafruit_GFX.h dhe MCUfriend_kbv.h: të dyja përdoren për grafikë dhe ekran. Këto e bëjnë shumë të lehtë shkrimin e tekstit, vizatimin e vijave dhe kutive në ekranin TFT.
  3. dht.h: për DHT -të tona: kjo bibliotekë mund të përdoret për DHT11 (ajo blu) dhe DHT22.
  4. Wire.h: biblioteka Arduino për ta bërë komunikimin serik të lehtë. Përdoret për orën dhe kartën SD.
  5. SD.h: Përsëri një origjinal Arduino, për të shkruar dhe lexuar nga karta SD.
  6. TimeLord.h: këtë e përdor për të mbajtur kohën, për të llogaritur perëndimin e diellit ose lindjen e diellit nga çdo pozicion gjeografik. Gjithashtu caktoi orën për DST (verë ose dimër).

Le të fillojmë me orën.

Kur lexoni një orë, keni nevojë për variablat që merrni nga regjistrat e ndryshëm brenda modulit të orës. Kur i bëjmë ato më shumë se vetëm numra, mund të përdorim rreshtat e mëposhtëm:

const int DS1307 = 0x68; const char* ditë = {"Zo.", "Ma.", "Di.", "Wo.", "Do.", "Vr.", "Za."};

const char* muaj = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11 "," 12 "};

n

Me TimeLord, e marrim këtë si të dhënë, për vendin tim: (Lokeren, Belgjikë)

TimeLord Lokeren; ngritjen e saj Lokeren. Pozicioni (51.096, 3.99); gjatësi dhe gjerësi gjeografike

Lokeren. TimeZone (+1*60); GMT +1 = +1 x 60 minuta

Lokeren. DstRules (3, 4, 10, 4, 60); DST nga muaji i 3 -të, java e 4 -të deri në muajin e 10 -të, java e 4 -të, +60 minuta

int jaar = viti +2000;

byte sunRise = {0, 0, 12, ditë muaji, muaji, viti}; filloni të llogaritni çdo ditë nga ora 00

byte sunSet = {0, 0, 12, ditë muaji, muaji, viti}; njejte si me siper

byte maan = {0, 0, 12, ditë muaji, muaji, viti}; njejte si me siper

faza notuese;

Nga këtu, llogaritjet bëhen.

faza = Lokeren. MoonPhase (maan);

Lokeren. SunRise (sunRise);

Lokeren. SunSet (sunSet);

Lokeren. DST (SunRise);

Lokeren. DST (sunSet);

int ZonOpUur = Lindja e Diellit [tl_hour];

int ZonOpMin = Lindja e diellit [tl_minute];

int ZonOnUur = perëndimi i diellit [tl_hour];

int ZonOnMin = perëndimi i diellit [tl_minute];

Ky është shembulli se si llogariten gjërat në TimeLord. Me këtë bibliotekë, ju merrni kohë (goxha) të sakta të perëndimit të diellit dhe lindjes së diellit.

Në fund, unë do të vë të gjithë programin me këtë Instructable. Prettyshtë mjaft drejtpërdrejt.

Hapi 4: Më shumë Softuer…

Më shumë Softuer…
Më shumë Softuer…
Më shumë Softuer…
Më shumë Softuer…

Më shumë rreth softuerit…

Ne kemi tre pjesë të mëdha në softuer.

1) Ne marrim disa të dhëna të papërpunuara nga sensorët tanë të ndryshëm: nga ora jonë, DHT dhe BMP180. Ky është kontributi ynë.

2) Ne duhet t'i përkthejmë të dhënat në (1 dhe 0) në diçka që ka kuptim. Për këtë, ne përdorim bibliotekat dhe variablat tona.

3) Ne duam të lexojmë dhe ruajmë të dhënat tona. Ky është prodhimi ynë. Për përdorim të menjëhershëm, ne kemi LCD-TFT, për përdorim të mëvonshëm, ne kemi të dhënat tona të ruajtura në kartën tonë SD.

Në lakun tonë (), marrim shumë "GOTO": hidhemi në biblioteka të ndryshme. Ne i marrim të dhënat tona nga një prej sensorëve, i marrim të dhënat dhe i ruajmë në (kryesisht) një ndryshore të të dhënave lundruese. Ne i zgjedhim emrat tanë të ndryshueshëm me mençuri, jo me x ose y, por me emra si "tempOutside" ose "presion" ose gjëra të tilla. Për t’i bërë ato më të lexueshme. OK, kjo e bën atë pak më të rëndë në përdorimin e variablave dhe më shumë që konsumon kujtesë.

Këtu vjen truku: kur i bëjmë ndryshoret tona të dukshme në ekran, thjesht i vendosim ato në pozicionin e duhur.

Dy bibliotekat e përdorura këtu, Adafruit_GFX.h dhe MCUfriend_kbv.h kanë një grup të mirë pune për të përdorur ngjyrat, fontet dhe aftësinë për të nxjerrë linja. Në rastin e parë, kam përdorur një ekran 12864 me këto biblioteka, më vonë e ndryshova atë në ekranin tft. E tëra çfarë më duhej të bëja, ishte vendosja e kutive, drejtkëndëshave dhe vijave, dhe të sigurohesha që të dhënat dolën në vendin e duhur. Për këtë, mund të përdorni setCursor dhe tft. Write si komandë. Lehtë e bën. Ngjyrat mund të vendosen edhe si ndryshore, ka shumë shembuj në ato biblioteka se si t'i zgjedhim ato.

Për të shkruar në kartën SD, ne gjithashtu kemi nevojë për disa truke të thjeshta.

Për shembull, ne i lexojmë të dhënat tona nga ora si orë, minuta dhe sekonda të veçanta. Temperaturat janë DHT.temperatura dhe DHTT.temperatura, për të bërë dallimin midis ambienteve të brendshme ose të jashtme.

Kur duam t'i vendosim në kartën SD, ne përdorim një varg: fillojmë çdo lak si një varg bosh:

vargu i ndryshueshëm = ""; Atëherë mund ta mbushim me të gjitha të dhënat tona:

vargu i vargut = vargu i ndryshueshëm + orë + ":" + minuta + ":" + sekonda. Kjo i jep vargut si 12:00:00.

Meqenëse e shkruajmë si një skedar TXT (shiko SD.h në Arduino.cc), për variablat e ardhshëm shtojmë një skedë, kështu që është më e lehtë për ta importuar atë në Excel.

Pra, vijmë tek: variablestring = varg vargu + "\ t" + DHT.temperaturë + "\ t" + DHTT. Temperatura.

Dhe kështu me radhë.

Hapi 5: Disa pamje të ekranit…

Disa Pamje Ekrani…
Disa Pamje Ekrani…
Disa Pamje Ekrani…
Disa Pamje Ekrani…
Disa Pamje Ekrani…
Disa Pamje Ekrani…

Për të qenë të sigurt që nuk i "mbingarkojmë" grupet tona të të dhënave, unë shkrova të dhëna vetëm një herë në 10 minuta. Duke na dhënë 144 hyrje në ditë. Nuk është keq, mendoj.

Dhe sigurisht, ju mund të vazhdoni të përpunoni ato të dhëna: mund të bëni mesatare, mund të kërkoni maksima dhe minima, mund të krahasoni me vitet e kaluara…

Zyrat e takimit zakonisht bëjnë mesataren e ditës dhe të natës, për temperaturat: dita fillon në 8 të mëngjesit dhe shkon në 8 pasdite.

Për erën, presionin dhe reshjet, mesataret merren nga mesnata në mesnatë.

Hapi 6: Përfundoi?

Përfunduar?
Përfunduar?
Përfunduar?
Përfunduar?

Jo vërtet … Siç thashë do të doja që më në fund të merrja sensorin e shpejtësisë së erës dhe drejtimit të erës duke punuar me pjesën tjetër të JAWS.

Ndërtimi i vogël që kam bërë qëndron rreth 4m i lartë. Meteorologu merr shpejtësinë e erës nga 10m e lartë. Pak e lartë për mua…

Shpresoj që ju ka pëlqyer ta lexoni këtë!

Adafruit-GFX shpjegohet këtu:

MCUFRIEND_kbv.h gjendet këtu:

Më shumë rreth BMP 120 (njësoj si BMP085):

Rreth DHT22:

Recommended: