Агуулгын хүснэгт:
- Алхам 3: JAWS: Програм хангамж
- Алхам 4: Нэмэлт програм хангамж …
- Алхам 5: Зарим дэлгэцийн агшин …
- Алхам 6: Дууссан уу?
Видео: JAWS: Өөр нэг цаг уурын станц: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Ийм JAWS хийх нь маш энгийн.
Та мэдрэгчээ олж аваад самбар дээр цуглуулж, мэдрэгчтэй хамт ирдэг номын санг ашиглаж эхлэв.
Програмын тохиргооноос эхэлье.
Би Голланд хэлээр ярьдаг тул (төрөлх хэлээр ярьдаг хүн) миний ашигладаг бүх өгөгдөл болон ихэнх хувьсагчид Голланд хэл дээр байдаг. Тиймээс одоо та өөр хэл сурах боломжтой боллоо …
JAWS -аас бид юу хүсч байна вэ?
Хялбар: бид бодит цаг, огноо, эфемерид (нар мандах, нар шингэх, өдрийн урт, одон орны үд дунд) харуулсан дэлгэц үзэхийг хүсч байна.
Үүний хажууд дотор болон гадна температур, харьцангуй чийгшил, шүүдэр, агаарын даралтыг харах сайхан байх болно.
Илүү хялбар болгохын тулд би температурын хувьд хэмжигдэхүүн, даралтын хувьд hPa (= mBar) ашигладаг. Тиймээс хэн ч Фаренгейтээс эсвэл нэг хавтгай дөрвөлжин тутамд фунт буцааж тооцох шаардлагагүй болно …
Одоогийн байдлаар зөвхөн эдгээр өгөгдөл байгаа …
Ирээдүйд би агаарын хурд, салхины чиглэл, хур тунадасыг нэмж оруулах болно.
Гол санаа нь би гадаа цаг агаартай байх бөгөөд бүх өгөгдлийг 2.4 ГГц -ээс дээш дотоод төхөөрөмж рүү илгээх болно.
Алхам 3: JAWS: Програм хангамж
Манай програм хангамжийг авахын тулд ихэнхийг одоо байгаа номын сангаас олж болно.
JAWS дээр би дараахь зүйлийг ашигладаг.
- SPI.h: 4 утастай протокол бүхий Arduino -ийн анхны номын сан. Үүнийг TFT бамбайнд ашигладаг
- Adafruit_GFX.h ба MCUfriend_kbv.h: хоёулаа график болон дэлгэцэнд ашиглагддаг. Эдгээр нь TFT дэлгэц дээр текст бичих, шугам, хайрцаг зурахад маш хялбар болгодог.
- dht.h: манай DHT -ийн хувьд: энэ номын санг DHT11 (цэнхэр) болон DHT22 -д ашиглах боломжтой.
- Wire.h: цуваа холбоог хялбарчлах зорилгоор Arduino номын сан. Энэ нь цаг болон SD картанд ашиглагддаг.
- SD.h: Дахин Arduino эх хувилбар, SD картаас бичиж унших боломжтой.
- TimeLord.h: Үүнийг би цаг барих, нар жаргах эсвэл нар мандахыг газарзүйн аль ч байрлалаас тооцоолоход ашигладаг. Энэ нь мөн DST (зун эсвэл өвлийн цаг) цагийг тохируулсан.
Цагнаас эхэлье.
Цаг уншиж байхдаа цагны модулийн өөр өөр регистрүүдээс авсан хувьсагчид хэрэгтэй болно. Бид тэдгээрийг зөвхөн тооноос илүү болгохдоо дараах мөрүүдийг ашиглаж болно.
const int DS1307 = 0x68; const char* days = {"Zo.", "Ma.", "Di.", "Wo.", "Do.", "Vr.", "Za."};
const char* months = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11 "," 12 "};
n
TimeLord -ийн тусламжтайгаар бид үүнийг миний хувьд өгөгдөл болгон авдаг: (Локерен, Бельги)
TimeLord Lokeren; үүнийг тохируулах Lokeren. Position (51.096, 3.99); уртраг ба өргөрөг
TimeZone (+1*60); GMT +1 = +1 x 60 минут
Lokeren. DstRules (3, 4, 10, 4, 60); DST 3 -р сар, 4 -р долоо хоногоос 10 -р сар, 4 -р долоо хоног, +60 минут
int jaar = жил +2000;
байт sunRise = {0, 0, 12, сарын өдөр, сар, жил}; 00 цагаас эхлэн өдөр бүр тооцоолж эхэл
байт sunSet = {0, 0, 12, сарын өдөр, сар, жил}; Мөн дээр дурдсан шиг
байт = {0, 0, 12, сарын өдөр, сар, жил}; Мөн дээр дурдсан шиг
хөвөх үе;
Эндээс тооцоог хийдэг.
үе шат = Lokeren. MoonPhase (maan);
Наран мандах (нар мандах);
Lokeren. SunSet (нар жаргах);
Lokeren. DST (нар мандах);
Lokeren. DST (нар жаргах);
int ZonOpUur = нар мандах [tl_hour];
int ZonOpMin = нар мандах [tl_minute];
int ZonOnUur = sunSet [tl_hour];
int ZonOnMin = sunSet [tl_minute];
Энэ бол TimeLord дээр аливаа зүйлийг хэрхэн тооцдогийн жишээ юм. Энэхүү номын сангийн тусламжтайгаар та нар жаргах, мандах цагийг (маш хөөрхөн) олж авдаг.
Төгсгөлд нь би энэ зааварчилгаа бүхий програмыг бүхэлд нь оруулах болно. Энэ бол нэлээд шууд юм.
Алхам 4: Нэмэлт програм хангамж …
Програм хангамжийн талаар дэлгэрэнгүй …
Бид програм хангамжид гурван том хэсэгтэй.
1) Бид өөр өөр мэдрэгчүүдээс цаг, DHT, BMP180 -аас зарим түүхий мэдээллийг авдаг. Энэ бол бидний оруулсан оролт юм.
2) Бид өгөгдлийг утга учиртай зүйл рүү (1 ба 0) рүү хөрвүүлэх хэрэгтэй. Үүний тулд бид номын сан, хувьсагчаа ашигладаг.
3) Бид өгөгдлөө уншиж, хадгалахыг хүсч байна. Энэ бол бидний гаралт. Яаралтай ашиглахын тулд бидэнд LCD-TFT байдаг бөгөөд дараа нь ашиглахын тулд хадгалсан өгөгдлөө SD карт дээрээ хадгалдаг.
Бидний давталтад () бид маш олон "GOTO" -г олж авдаг: бид янз бүрийн номын сан руу ордог. Бид өгөгдлөө нэг мэдрэгчээс авдаг, өгөгдлийг олж аваад (ихэвчлэн) хөвөгч өгөгдлийн хувьсагчид хадгалдаг. Бид хувьсагч нэрээ x эсвэл y-ээр биш харин "tempOutside" эсвэл "pressure" гэх мэт нэрээр эсвэл ийм зүйлээр ухаалгаар сонгодог. Тэднийг илүү унших боломжтой болгохын тулд. За, энэ нь хувьсагч ашиглахад жаахан хүнд болж, санах ой их зарцуулдаг.
Энд нэг заль мэх гарч ирж байна: бидний хувьсагчдыг дэлгэц дээр харуулахдаа тэдгээрийг зөв байрлалд байрлуулах явдал юм.
Энд ашигласан хоёр номын сан болох Adafruit_GFX.h ба MCUfriend_kbv.h нь өнгө, фонт, шугам зурах чадварыг ашиглах сайхан ажлын багцтай. Эхний ээлжинд би эдгээр номын сантай 12864 дэлгэц ашиглаж, дараа нь tft-дэлгэц дээр өөрчилсөн. Миний хийх ёстой зүйл бол хайрцаг, тэгш өнцөгт, шугам байрлуулж, өгөгдөл зөв газартаа гарч ирсэн эсэхийг шалгах явдал юм. Үүний тулд та setCursor болон tft. Write командыг ашиглаж болно. Үүнийг амархан хийдэг. Өнгийг хувьсагч болгон тохируулж болох бөгөөд тэдгээрийг хэрхэн сонгох талаар олон жишээ байдаг.
SD карт дээр бичихийн тулд бидэнд энгийн заль мэх хэрэгтэй.
Жишээлбэл, бид өгөгдлөө цагнаас тусдаа цаг, минут, секунд болгон уншдаг. Температур нь DHT.temperature ба DHTT.temperature бөгөөд дотор болон гадаа ялгагдана.
Бид тэдгээрийг SD карт дээр байрлуулахыг хүсвэл бид мөрийг ашигладаг: бид давталт бүрийг хоосон мөр болгон эхлүүлдэг.
variablestring = ""; Дараа нь бид бүх өгөгдлөө бөглөж болно.
variablestring = variablestring + цаг + ":" + минут + ":" + секунд. Энэ нь мөрийг 12:00:00 шиг өгдөг.
Бид үүнийг TXT файл хэлбэрээр бичдэг (Arduino.cc дээрх SD.h-ийг үзнэ үү), дараагийн хувьсагчдын хувьд бид таб нэмэх тул Excel-д импортлох нь илүү хялбар болно.
Тиймээс бид ирдэг: variablestring = variablestring + "\ t" + DHT.temperature + "\ t" + DHTT. Temperature.
Гэх мэт.
Алхам 5: Зарим дэлгэцийн агшин …
Бид өгөгдлийн багцаа "хэт ачаалахгүй" гэдэгт итгэлтэй байхын тулд би өгөгдлийг 10 минут тутамд нэг л удаа бичсэн. Бидэнд өдөрт 144 бичлэг өгдөг, тийм ч муу биш гэж би бодож байна.
Мэдээжийн хэрэг та энэ өгөгдлийг үргэлжлүүлэн боловсруулж болно: та дундажийг гаргаж, хамгийн их ба хамгийн бага хэмжээг хайж, өнгөрсөн жилүүдтэй харьцуулж болно …
Мет оффисууд ихэвчлэн температурын хувьд өдөр, шөнийн дундаж утгыг гаргадаг: өдрийн цагаар өглөөний 8 цагт эхэлж, оройны 8 цаг хүртэл ажилладаг.
Салхи, даралт, хур тунадасны хувьд дунджийг шөнө дундаас шөнө дунд хүртэл авдаг.
Алхам 6: Дууссан уу?
Үнэндээ тийм биш … Миний хэлсэнчлэн эцэст нь JAWS-ийн бусад хэсгүүдтэй салхины хурд ба салхины чиглэлийн мэдрэгчийг ажиллуулахыг хүсч байна.
Миний хийсэн жижигхэн барилга 4м орчим өндөртэй. Цаг уур судлаач салхины хурдыг 10 метрийн өндрөөс авдаг. Миний хувьд арай дэндүү өндөр…
Үүнийг уншсан танд таалагдсан гэж найдаж байна!
Adafruit-GFX-ийг энд тайлбарласан болно:
MCUFRIEND_kbv.h -ийг эндээс авах боломжтой:
BMP 120-ийн тухай дэлгэрэнгүй мэдээлэл (BMP085-тай адил):
DHT22 -ийн тухай:
Зөвлөмж болгож буй:
NaTaLia цаг уурын станц: Arduino нарны эрчим хүчээр ажилладаг цаг уурын станц зөв замаар хийсэн: 8 алхам (зурагтай)
NaTaLia цаг уурын станц: Arduino нарны эрчим хүчээр ажилладаг цаг уурын станц зөв замаар хийсэн: 1 жилийн турш 2 өөр байршилд амжилттай ажилласны дараа би нарны эрчим хүчээр ажилладаг цаг уурын станцын төслийн төлөвлөгөөгөө хуваалцаж, хэрхэн урт хугацаанд үнэхээр оршин тогтнож чадах систем болж хөгжсөн тухай тайлбарлаж байна. нарны эрчим хүчнээс үүссэн үе. Хэрэв та дагах бол
Хөдөлж буй OLOID - өөр өөр цаг үед өөр өөр гэрийн тэжээвэр амьтан: 10 алхам (зурагтай)
Хөдөлж буй OLOID - өөр өөр цаг үед өөр өөр гэрийн тэжээвэр амьтан: Корона нь бидний амьдралыг өөрчилсөн: энэ нь биднийг бие махбодийн хувьд хол байлгахыг шаарддаг бөгөөд энэ нь эргээд нийгмийн холдолд хүргэдэг. Тэгэхээр ямар шийдэл байж болох вэ? Магадгүй гэрийн тэжээвэр амьтан уу? Гэхдээ үгүй, Корона амьтдаас гаралтай. Өөр Corona 2.0 -ээс өөрсдийгөө аварцгаая. Гэхдээ хэрэв бид
Өөр нэг ухаалаг цаг уурын станц, гэхдээ : 6 алхам (зурагтай)
Өөр нэг ухаалаг цаг уурын станц, гэхдээ …: За, ийм цаг уурын станц хаа сайгүй байдаг гэдгийг би мэднэ, гэхдээ ялгааг олж харахын тулд хэдэн минут зарцуулаарай … Цахилгаан багатай 2 цахим цаасан дэлгэц … гэхдээ 10 өөр дэлгэц! ESP32 дээр суурилсан хурдатгал хэмжигч ба температур / чийгшлийн мэдрэгч Wifi шинэчлэлт
Өөр нэг IoT цаг уурын станц: 8 алхам
Өөр нэг IoT цаг уурын станц: Дараахь зүйл бол аавдаа төрсөн өдрийн бэлэг байсан; Миний олж харсан өөр зааварчилгаанаас санаа авч, түүнд өөрийгөө бүтээх хэрэгсэл болгон батлахыг хүссэн юм. Гэсэн хэдий ч түүнтэй хамт энэ төсөл дээр ажиллаж эхэлмэгц би анхны т
Өөр нэг Arduino цаг уурын станц (ESP-01 & BMP280 & DHT11 & OneWire): 4 алхам
Өөр нэг Arduino цаг уурын станц (ESP-01 & BMP280 & DHT11 & OneWire): Эндээс та EWS-01-ийн цөөн тооны голтой OneWire-ийг ашиглах нэг давталтыг олох боломжтой. Энэхүү зааварчилгаанд бүтээсэн төхөөрөмж нь таны Wifi сүлжээнд холбогддог сонголт (танд итгэмжлэл байх ёстой …) BMP280 болон DHT11 -ээс мэдрэхүйн өгөгдлийг цуглуулдаг