Talaan ng mga Nilalaman:
- Hakbang 3: JAWS: Software
- Hakbang 4: Higit pang Software…
- Hakbang 5: Ilang Mga Screenshot …
- Hakbang 6: Tapos na?
Video: JAWS: Lamang Isa pang Station ng Panahon: 6 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ito ay medyo simple upang gumawa ng tulad ng isang JAWS.
Nakuha mo ang iyong mga sensor, itinatapon mo ang mga ito sa mga board, at sinimulan mong gamitin ang mga aklatan na kasama ng mga sensor.
Magsisimula tayo sa pag-setup ng programa.
Dahil nagsasalita ako ng Dutch (katutubong nagsasalita) lahat ng data at marami sa mga variable na ginagamit ko ay nasa Dutch. Kaya ngayon mayroon kang pagkakataon na matuto ng ibang wika …
Ano ang gusto natin sa JAWS?
Madali: nais naming manuod ng isang screen na nagpapakita sa amin ng aktwal na oras, petsa, ephemerides (sun up, sun down, haba ng araw at astronomical tanghali).
Sa tabi nito, magandang tingnan ang temperatura sa loob at labas, ang kamag-anak na halumigmig at hamog, at presyon ng hangin.
Upang gawing mas madali ang mga bagay, gumagamit ako ng mga centigrade para sa temperatura at hPa (= mBar) para sa presyon. Kaya walang sinuman ang dapat makalkula pabalik mula sa Fahrenheit o pounds bawat square furlongs…
Sa oras na ito, ang data lamang na ito ang magagamit…
Sa hinaharap, idaragdag ko ang bilis ng Air, direksyon ng hangin at pag-ulan.
Ang ideya ay magkakaroon ako ng isang labas ng kubo ng panahon at lahat ng data ay ipapadala sa higit sa 2.4GHz sa panloob na yunit.
Hakbang 3: JAWS: Software
Upang makapunta sa aming software, ang karamihan ay matatagpuan sa mga mayroon nang aklatan.
Sa JAWS ginagamit ko ang mga sumusunod:
- SPI.h: Ang orihinal na silid-aklatan mula sa Arduino para sa 4 na wire protocol. Ginagamit ito para sa TFT-Shield
- Adafruit_GFX.h at MCUfriend_kbv.h: parehong ginamit para sa graphics at screen. Ginagawa nitong napakadaling magsulat ng teksto, gumuhit ng mga linya at kahon sa TFT-screen.
- dht.h: para sa aming mga DHT: ang aklatang ito ay maaaring magamit para sa DHT11 (ang asul) at DHT22.
- Wire.h: ang Arduino library upang gawing madali ang serial komunikasyon. Ginagamit ito para sa orasan at sa SD card.
- SD.h: Muli isang orihinal na Arduino, upang magsulat at magbasa mula sa SD card.
- TimeLord.h: ang isang ito na ginagamit ko para sa pagpapanatili ng oras, pagkalkula ng paglubog ng araw o pagsikat ng araw mula sa anumang posisyon na pangheograpiya. Itinakda din nito ang orasan para sa DST (tag-init o taglamig).
Magsimula tayo sa orasan.
Kapag nagbabasa ng isang orasan, kailangan mo ng mga variable na makukuha mo mula sa iba't ibang mga pagrehistro sa loob ng module ng orasan. Kapag ginawa namin ang mga ito nang higit pa sa mga numero, maaari naming gamitin ang mga sumusunod na linya:
const int DS1307 = 0x68; const char * araw = {"Zo.", "Ma.", "Di.", "Wo.", "Do.", "Vr.", "Za."};
Const char * months = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11 "," 12 "};
n
Sa TimeLord, nakukuha namin ito bilang data, para sa aking lugar: (Lokeren, Belgium)
TimeLord Lokeren; pag-set up nito Lokeren. Position (51.096, 3.99); longitude at latitude
Lokeren. TimeZone (+ 1 * 60); GMT +1 = +1 x 60minutes
Lokeren. DstRules (3, 4, 10, 4, 60); DST mula ika-3 buwan, ika-4 na linggo hanggang ika-10 buwan, ika-4 na linggo, + 60minute
int jaar = taon +2000;
byte sunRise = {0, 0, 12, buwan ng buwan, buwan, taon}; simulang kalkulahin araw-araw mula 00 oras
byte sunSet = {0, 0, 12, buwan ng buwan, buwan, taon}; katulad ng nasa itaas
byte maan = {0, 0, 12, buwan ng buwan, buwan, taon}; katulad ng nasa itaas
float phase;
Mula dito, ang mga kalkulasyon ay ginawa.
phase = Lokeren. MoonPhase (maan);
Lokeren. SunRise (sunRise);
Lokeren. SunSet (sunSet);
Lokeren. DST (sunRise);
Lokeren. DST (sunSet);
int ZonOpUur = sunRise [tl_hour];
int ZonOpMin = sunRise [tl_minute];
int ZonOnUur = sunSet [tl_hour];
int ZonOnMin = sunSet [tl_minute];
Ito ang halimbawa ng kung paano kinakalkula ang mga bagay sa TimeLord. Sa library na ito, makakakuha ka ng (medyo) tumpak na oras ng paglubog ng araw at pagsikat ng araw.
Sa huli, ilalagay ko ang buong programa sa Instructable na ito. Medyo deretso ito.
Hakbang 4: Higit pang Software…
Dagdag pa tungkol sa software…
Mayroon kaming tatlong malalaking bahagi sa software.
1) Nakakatanggap kami ng ilang hilaw na data mula sa aming iba't ibang mga sensor: mula sa aming orasan, DHTs at BMP180. Iyon ang aming input.
2) Kailangan nating isalin ang data sa (1 at 0) sa isang bagay na may katuturan. Para dito, ginagamit namin ang aming mga aklatan at variable.
3) Nais naming basahin at iimbak ang aming data. Iyon ang aming output. Para sa agarang paggamit, mayroon kaming aming LCD-TFT, para magamit sa paglaon, mayroon kaming nai-save na data sa aming SD card.
Sa aming loop (), nakakakuha kami ng maraming "GOTO's": tumatalon kami sa iba't ibang mga aklatan. Nakukuha namin ang aming data mula sa isa sa mga sensor, nakuha ang data at iimbak ang mga ito sa (karamihan) isang lumulutang na variable ng data. Pinipili namin nang matalino ang aming mga variable na pangalan, hindi sa x o y ngunit sa mga pangalan tulad ng "tempOutside" o "pressure" o mga bagay na tulad nito. Upang mas mabasa ang mga ito. OK, ginagawa nitong medyo mabibigat sa paggamit ng mga variable at mas maraming pag-ubos ng memorya.
Narito ang trick: kapag ginagawa ang aming mga variable na makikita sa screen, inilalagay lamang ang mga ito sa tamang posisyon.
Ang dalawang silid aklatan na ginamit dito, ang Adafruit_GFX.h at MCUfriend_kbv.h ay mayroong magandang set ng trabaho upang magamit ang mga kulay, font at ang kakayahang gumuhit ng mga linya. Sa isang unang pagkakataon, gumamit ako ng isang 12864- screen sa mga aklatan na ito, kalaunan ay binago ko iyon sa tft-screen. Ang kailangan ko lang gawin, ay ang paglalagay ng mga kahon, parihaba at linya, at tiyakin na ang data ay lumabas sa tamang lugar. Para doon, maaari mong gamitin ang setCursor at tft. Sumulat bilang utos. Madaling gawin ito. Ang mga kulay ay maaaring itakda bilang mga variable din, maraming mga halimbawa sa mga aklatan na iyon kung paano pipiliin ang mga ito.
Para sa pagsusulat sa SD-card, kailangan din namin ng ilang simpleng mga trick.
Halimbawa, binasa namin ang aming data mula sa orasan bilang magkakahiwalay na oras, minuto at segundo. Ang temperatura ay DHT.temperature at DHTT.temperature, upang makilala ang pagitan ng panloob o panlabas.
Kapag nais naming ilagay ang mga ito sa SD card, gumagamit kami ng isang string: sinisimulan namin ang bawat loop bilang isang walang laman na string:
variablestring = ""; Pagkatapos ay mapupunan natin ito ng lahat ng aming data:
variablestring = variablestring + oras + ":" + minuto + ":" + segundo. Ibinibigay nito ang string tulad ng 00:00:00.
Dahil isinulat namin ito bilang isang TXT-file (tingnan ang SD.h sa Arduino.cc), para sa mga susunod na variable na idinagdag namin ang isang tab, kaya mas madaling i-import ito sa Excel.
Kaya nakarating kami sa: variablestring = variablestring + "\ t" + DHT.temperature + "\ t" + DHTT. Temperatura.
At iba pa.
Hakbang 5: Ilang Mga Screenshot …
Upang matiyak na hindi namin "labis na karga" ang aming mga database, nagsulat ako ng data nang isang beses lamang bawat 10 minuto. Pagbibigay sa amin ng 144 mga entry bawat araw. Hindi masama, sa palagay ko.
At syempre, maaari mong ipagpatuloy ang pagproseso ng data na iyon: maaari kang gumawa ng mga average, maaari kang maghanap ng maxima at minima, maaari mong ihambing sa mga nakaraang taon …
Ang mga nakakilala na tanggapan ay karaniwang gumagawa ng mga average ng araw at gabi, para sa mga temperatura: ang araw ay nagsisimula sa 8:00, at tatakbo hanggang 8:00.
Para sa hangin, presyon at ulan, ang mga average ay kukuha mula hatinggabi hanggang hatinggabi.
Hakbang 6: Tapos na?
Hindi talaga … Tulad ng sinabi ko na nais kong sa wakas makuha ang sensor ng bilis ng hangin at direksyon ng hangin na gumagana sa natitirang JAWS.
Ang maliit na konstruksyon na ginawa ko ay nakatayo mga 4m ang taas. Ang meteorologist ay nakakakuha ng bilis ng hangin mula 10m mataas. Medyo masyadong mataas para sa akin …
Inaasahan kong nasiyahan ka sa pagbabasa nito!
Ipinaliwanag dito ang Adafruit-GFX:
Makikita ang MCUFRIEND_kbv.h dito:
Dagdag pa tungkol sa BMP 120 (kapareho ng BMP085):
Tungkol sa DHT22:
Inirerekumendang:
Lamang Isa pang ATtiny85 Retro Gaming Console: 4 Hakbang
Lamang Isa pang ATtiny85 Retro Gaming Console: Isang maliit na pag-set na tulad ng retro Console na nakabatay sa paligid ng ATtiny85 x 0.96 OLED para sa paglalaro ng mga invaders sa espasyo, Tetris, atbp
Ngunit Isa pang Smart Weather Station, Ngunit : 6 Mga Hakbang (na may Mga Larawan)
Ngunit Isa pang Smart Weather Station, Ngunit …: OK, alam ko na maraming mga ganitong mga istasyon ng panahon na magagamit kahit saan, ngunit tumagal ng ilang minuto upang makita ang pagkakaiba … Ipinapakita ang mababang kapangyarihan 2 e-papel … ngunit 10 magkakaiba mga screen! Batay sa ESP32 ang accelerometer at mga sensor ng temperatura / halumigmig Wifi na nai-update
Lamang Isa pang Antenna: 4 na Hakbang
Lamang Isa pang Antenna: Kaya't nagpasya akong lumikha ng isang antena mula sa mga materyales sa scrap na mayroon ako sa paligid ng bahay, ang ideya ay hindi bumili ng anumang mga materyales kung posible. Alam kong ang karaniwang tao ay hindi magkakaroon ng ganitong basura na nakahiga ngunit ginawa ko ito hinamon ko ang aking sarili
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Panahon ng Panahon ay Tugma): 5 Mga Hakbang (na may Mga Larawan)
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Weather Stations ay Tugma): Nang binili ko ang Acurite 5 sa 1 istasyon ng panahon nais kong masuri ang lagay ng panahon sa aking bahay habang wala ako. Nang makauwi ako at naayos ko ito napagtanto ko na dapat kong magkaroon ng display na konektado sa isang computer o bumili ng kanilang smart hub,
I-convert (Tungkol lamang sa) Anumang Media File sa (Tungkol lamang sa) Anumang Iba Pang Media File nang Libre !: 4 Mga Hakbang
I-convert (Tungkol lamang sa) Anumang File ng Media sa (Tungkol lamang) Anumang Iba Pang Media File nang Libre!: Ang aking unang itinuro, tagay! Gayunpaman, nasa Google ako na naghahanap ng isang libreng programa na magko-convert sa aking mga file sa Youtube.flv sa isang format na ay mas unibersal, tulad ng.wmv or.mov. Naghanap ako ng hindi mabilang na mga forum at website at pagkatapos ay nakakita ako ng isang programa na tinatawag na