Агуулгын хүснэгт:

Долоо хоногийн өдөр, хуанли, цаг, чийг хэмнэх/зай хэмнэх горим: 10 алхам (зурагтай)
Долоо хоногийн өдөр, хуанли, цаг, чийг хэмнэх/зай хэмнэх горим: 10 алхам (зурагтай)

Видео: Долоо хоногийн өдөр, хуанли, цаг, чийг хэмнэх/зай хэмнэх горим: 10 алхам (зурагтай)

Видео: Долоо хоногийн өдөр, хуанли, цаг, чийг хэмнэх/зай хэмнэх горим: 10 алхам (зурагтай)
Видео: Paradise or Oblivion 2024, May
Anonim
Image
Image
Долоо хоногийн өдөр, хуанли, цаг, чийг хэмнэлт/зай хэмнэгч
Долоо хоногийн өдөр, хуанли, цаг, чийг хэмнэлт/зай хэмнэгч

Энд байгаа эрчим хүч хэмнэх горим нь энэхүү зааварчилгааг долоо хоногийн өдөр, сар, сарын өдөр, цаг, чийгшил, температурыг харуулсан бусад жишээнээс ялгарах онцлог юм. Чухам энэ чадвар нь энэхүү төслийг батерейгаар ажиллуулах боломжийг олгодог бөгөөд үүнд "ханын хорхой" шаардлагагүй болно.

Би өмнө нь эрчим хүч хэмнэх горим бүхий зааварчилгаа, чийгшил, температурын LCD дэлгэцийг байрлуулсан байсан: хамгийн бага хэсэг, хөгжилтэй, хурдан, маш хямд. Энэхүү өөрчлөлт нь долоо хоногийн өдөр, хуанли, цагийг мөн нэг дэлгэц дээр харуулсан болно. Нэмэгдсэн дэлгэц дээр мэдээлэл авахыг хүссэн хэд хэдэн мессеж ирсэн. Тиймээс, би энэ зааврыг өмнөх хувилбарын өөрчлөлт, өргөтгөл болгон оруулж байна.

Өмнө дурдсан зааварчилгааг олох хэрэгтэй гэсэн асуудлыг уншигчид аврахын тулд би энэ зааварт заасан зарим мэдээллийг энд хуулбарласан болно. харьцангуй чийгшил ба температураас гадна танилцуулж болно. Гэсэн хэдий ч зарим уншигчдад долоо хоногийн өдөр, хуанли, цаг хэрэггүй бөгөөд зөвхөн чийгшил, температурыг харуулах шаардлагатай байдаг. Тэдгээр уншигчдын хувьд өмнөх Instructable нь сайн ажиллах болно.

Өмнө нь "Instructable" -д дурдсанчлан, миний судалгаа үргэлж хамгийн сайн температурт байдаггүй байсан тул орчны температурыг ширээн дээр байрлуулах нь ашигтай гэж би шийдсэн. Температураас гадна чийгшил өгдөг мэдрэгчийн өртөг тийм ч их биш байв; Тиймээс чийгшлийн дэлгэцийг энэ төсөлд оруулсан болно.

Нөхөр маань надаас долоо хоногийн өдөр болон/эсвэл тухайн өдрийн өдрийг байнга асуудаг байсан тул нэмэлт шаардлага тавигдсан тул би эдгээрийг дэлгэц дээр оруулахаар шийдлээ. Энд үзүүлсэн төслийн хоёр хувийг би хийсэн. Нэг нь миний хичээлд, нөгөө нь манай гэрт хань маань ихэвчлэн олддог өрөөнд зориулагдсан болно. Би (1) бодит цаг (RTC) ба (2) чийгшил, температур мэдрэгчийг хоёуланг нь ашигласан.

Миний үзсэн DHT11 ба DHT22 чийгшил/температур мэдрэгч хоёулаа температурын үр дүнг Centigrade дээр өгдөг. Аз болоход энэ бол Фаренгейт рүү хялбархан хөрвүүлэх явдал юм (АНУ -д ашигладаг формат, энэ бол миний байршил). Доорх тоймд Centigrade дахь температурыг харуулахын тулд амархан өөрчилж болох кодыг оруулсан болно.

Би DHT22 болон DTH11 мэдрэгчийг хоёуланг нь авч үзээд DHT22 дээр арай илүү үнэтэй байсан. DHT11 -ийг ихэвчлэн 2 доллараас бага үнээр худалдаж авах боломжтой байдаг бол DHT22 нь ихэвчлэн 5 доллараас бага үнээр олддог. Хятадаас шууд худалдаж авбал өртөг нь бүр ч бага байх болно. Хэрэв би зөвхөн температурыг харуулахыг хүсч байсан бол DHT22 -ийн оронд TMP36 мэдрэгчийг ашиглаж, хэмнэлт гаргаж болох байсан, тэгээд ч би өмнөх DIY төслөө ингэж бүтээсэн юм. Гэсэн хэдий ч би энэ төсөлд үзүүлсэн бусад зүйлийн дунд харьцангуй чийгшлийн үзүүлэлтийг оруулахаар шийдсэн.

DHT22 нь DHT11 -ээс арай илүү нарийвчлалтай байдаг. Тиймээс DHT22 -ийн арай өндөр өртөг нь боломжийн юм шиг санагдсан. DHT төхөөрөмжүүдийн аль аль нь багтаамжийн чийгшил мэдрэгчтэй. Эдгээр чийгшлийн мэдрэгчийг үйлдвэрлэлийн болон худалдааны төслүүдэд өргөн ашигладаг. Хэт нарийвчлалтай биш боловч тэд харьцангуй өндөр температурт ажиллах чадвартай бөгөөд хүрээлэн буй орчныхоо химийн бодисуудад зохих эсэргүүцэлтэй байдаг. Тэд хүрээлэн буй орчны харьцангуй чийгшилээс үүдэлтэй диэлектрикийн өөрчлөлтийг хэмждэг. Аз болоход, багтаамжийн өөрчлөлт нь чийгшилтэй холбоотой шугаман шинж чанартай байдаг. Эдгээр мэдрэгчийн харьцангуй нарийвчлалыг хоёрыг зэрэгцүүлэн байрлуулснаар хялбархан харж болно. Хэрэв үүнийг хийвэл харьцангуй чийгшил нь хамгийн ихдээ 1 эсвэл 2 хувиар ялгаатай болохыг олж харах болно.

DHT11/22 мэдрэгчийг хооронд нь хялбархан орлуулж болно. Зардлын хязгаарлалтаас хамааран аль ч мэдрэгчийг сонгож болно. Тэд хоёулаа хоорондоо сольж болох 4 зүүтэй ижил багцтай байдаг бөгөөд удалгүй эндээс үзэхэд ширээний чийгшил, температурын дэлгэцийг бүтээхэд аль нэг багц дээрх 4 зүүгээс ердөө 3 нь л хэрэгтэй болно. Ашиглахад ердөө гурван тээглүүр шаардлагатай боловч эдгээр DHT мэдрэгчийг талхны тавцан дээр байрлуулах/холбоход дөрвөн зүү нь нэмэлт тогтвортой байдлыг хангадаг.

Үүнтэй адилаар би DS1307 ба DS3231 RTC -ийг хоёуланг нь авч үзсэн. Орчны температур DS1307 -д нөлөөлж болох тул би DS3231 дээр суурьшсан. Хэдийгээр DS1307 -ийг сонголтоор ашиглах боломжтой. RTC -ийг дрифт (жишээлбэл, буруу цаг авах) -тай харьцуулсан янз бүрийн туршилтуудад DS3231 нь илүү нарийвчлалтай гарсан боловч аль ч мэдрэгчийг ашиглах ялгаа нь тийм ч том биш юм.

Мэдээжийн хэрэг, хэрэв та төсөл дээрээ интернетэд амархан холбогдож чадвал цагийг шууд татаж авах боломжтой бөгөөд ингэснээр танд бодит цагийн цаг хэрэггүй болно. Гэсэн хэдий ч энэ төсөл нь хялбар интернет холболт байхгүй гэж үзэж байгаа бөгөөд энэ нь холболтгүй ажиллахаар хийгдсэн болно.

Хэрэв та "хананы шарлалт" хэрэглэж байгаа бол нэмэлт эрчим хүчний хэрэглээ тийм ч чухал биш байж магадгүй юм. Гэсэн хэдий ч хэрэв та дэлгэцийг батерейгаар тэжээж байгаа бол эрчим хүчний хэрэглээ буурах нь батерейны ашиглалтын хугацааг уртасгах болно. Энэхүү зааварчилгаа ба доорх тойм нь LCD бамбай дээрх "Зүүн" товчийг ашиглан арын гэрлийг асаах, унтраах замаар цахилгаан зарцуулалтыг бууруулдаг.

Энэхүү зааварчилгаанд үзүүлсэнээр төсөлд харьцангуй цөөн тооны бүрэлдэхүүн хэсгүүд шаардагдах тул “хүнд өргөлт” -ийн ихэнх хэсгийг мэдрэгч ба ноорог гүйцэтгэдэг.

Би өөрийн олон төслүүдэд туршилтын платформ ашиглахыг илүүд үздэг.

Алхам 1: Шаардлагатай зүйлс

Шаардлагатай зүйлс
Шаардлагатай зүйлс

Шаардлагатай зүйлүүд нь:

- Туршилтын платформ хэдий хэдий ч төслийг түүнгүйгээр барьж болох боловч эцсийн бүтцийг үзүүлэхэд хялбар болгодог.

- 400 тэнцсэн онооны самбар

- Товчлуур бүхий LCD бамбай

- DHT22 (AOSONG AM2302) дижитал температур ба чийгшлийн мэдрэгч.

- Бодит цагийн цаг, би DS3231 -ийг сонгосон (Гэсэн хэдий ч DS1307 нь энд өгсөн кодтой ажиллах болно, GND, VCC, SDA, SCL тээглүүрүүд нь DS3231 -тэй төстэй байдлаар холбогдсон эсэхийг шалгаарай. Энэ нь DS1307 -ийг DS3231 -ээр сольж болох бөгөөд DS1307RTC дээрх зохих тээглүүр нь самбар дээрх тохирох залгууртай таарч байгаа эсэхийг шалгах замаар Dupont залгах утсыг зөөх шаардлагагүй болно.) Эдгээр хоёр RTC -ийн гол ялгаа нь тэдгээрийн нарийвчлал юм. DS1307 нь орчны температурт нөлөөлдөг бөгөөд энэ нь түүний осцилляторын давтамжийг өөрчилж чаддаг. Хоёр RTC нь хоёулаа I2C холболтыг ашигладаг.

- Эмэгтэй толгойг LCD бамбай дээр гагнах болно. Би 5 ба 6 зүү бүхий эмэгтэй толгойг ашигласан (хэрвээ та өөр бамбайг сонгосон бол энд бас харуулсан болно, гэхдээ толгойн хэсэг шаардлагагүй болно). Эрэгтэй толгойн зүүг залгуураар сольж болох бөгөөд хэрэв Dupont залгах утаснуудын зөвхөн нэг талын хүйсийг өөрчлөх шаардлагатай болно.

- Dupont утас холбох

- Arduino UNO R3 (НҮБ -ын оронд бусад Arduino -г ашиглаж болно, гэхдээ тэд 5v -ийг гаргаж, ажиллах чадвартай байх ёстой)

- Ноорогоо компьютерээс НҮБ -д байршуулах USB кабель

Програмчлагдсаны дараа НҮБ -ыг тэжээдэг "хананы шар" эсвэл зай гэх мэт төхөөрөмж. Ажлын ширээн дээр танд хэрэгтэй олон зүйл байгаа байж магадгүй, гэхдээ заримыг нь худалдаж авах шаардлагатай байж магадгүй юм. Хэрэв танд эхний хэд байгаа бол бусдыг хүлээж байгаад эхлүүлэх боломжтой. Эдгээр бүх зүйлийг Amazon.com, eBay.com, Banggood.com гэх мэт сайтуудаар дамжуулан онлайнаар авах боломжтой.

Алхам 2: Туршилтын платформыг бэлтгэх

Туршилтын платформыг бэлтгэх
Туршилтын платформыг бэлтгэх
Туршилтын платформыг бэлтгэх
Туршилтын платформыг бэлтгэх
Туршилтын платформыг бэлтгэх
Туршилтын платформыг бэлтгэх

Туршилтын платформ нь 120 мм х 83 мм хэмжээтэй плексигласын хуудас агуулсан винил уут, 5 боолт, 5 хуванцар бэхэлгээ (тусгаарлагч), 5 самар, дөрвөн бампертай хуудас, өөрөө наалддаг хөлтэй жижиг хуванцар уутанд багтдаг. Дөрвөн бампер, бусад дөрвөн зүйл хэрэгтэй болно. Нэмэлт шураг, бэхэлгээ, самар шаардлагагүй. Гэсэн хэдий ч цүнхэнд заавар байхгүй байна.

Эхэндээ винил уутыг задалж Plexiglas хуудас болон жижиг уутыг гаргаж авдаг. Plexiglas хуудсыг хоёр талдаа цаасаар хучиж, тээвэрлэх, тээвэрлэхэд хамгаална.

Эхний алхам бол тавцангийн хоёр талд цаасыг буцааж хальсалж, хоёр хуудсыг зайлуулах явдал юм. Цаасыг тал бүрээс нь салгасны дараа Arduino -ийг тавцан дээр суурилуулах дөрвөн нүх амархан харагдана. Цаасыг хуулж авсны дараа нийлэг хуудсыг баруун талд нь дөрвөн нүхтэй, нүхийг хооронд нь ойрхон, нийлэг хавтангийн нэг ирмэгийн ойролцоо байрлуулж байрлуулах нь хамгийн хялбар байдаг (хавсаргасан зурагт үзүүлсэн шиг).

Алхам 3: Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох

Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох
Arduino UNO эсвэл Clone -ийг туршилтын платформд холбох

Arduino UNO R3 самбар нь дөрвөн холбох нүхтэй. Ил тод тусгаарлагчийг UNO R3 -ийн доод хэсэг ба нийлэг хавтангийн дээд талын хооронд байрлуулна. Анхны туршилтын самбар дээр ажиллаж байхдаа самарыг байрлуулахын тулд салгагчийг плексигласын хавтангийн доор байрлуулах ёстой угаагч гэж би бодсон юм. Тусгаарлагч нь НҮБ -ын бэхэлгээний нүхээр дамжин өнгөрсний дараа боолтуудын эргэн тойронд Arduino UNO хавтангийн доор байрладаг. Самбараар дамжин өнгөрсний дараа эрэг нь салангид хэсгүүдээр дамжиж, дараа нь нийлэг хавтангийн нүхээр дамждаг. Боолтыг жижиг савлагаанд хавсаргасан самараар төгсгөдөг. Arduino -ийг ашиглах үед хөдлөхгүй байхын тулд боолт, самарыг чангална.

Дахин тохируулах товчны ойролцоо байгаа нүхнээс эхэлж (зургуудыг үзнэ үү) Arduino -г тойрох цагийн зүүний дагуу ажиллах нь надад хамгийн хялбар санагдсан. НҮБ нь нэг боолтыг ашиглан самбар дээр хавсаргасан болно.

Боолтыг эргүүлэхийн тулд танд жижиг Филлипс халив хэрэгтэй болно. Самар барих зориулалттай углуур нь нэлээд тустай байсан боловч шаардлагагүй ч гэсэн олж мэдэв. Би Wiha -ийн хийсэн, Амазон дээр байдаг драйверуудыг ашигласан [a Wiha (261) PHO x 50 ба Wiha (265) 4.0 x 60]. Гэсэн хэдий ч ямар ч жижиг Филлипс толгойтой халив нь ямар ч асуудалгүйгээр ажиллах ёстой бөгөөд өмнө нь дурьдсанчлан самрын драйвер огт шаардлагагүй байдаг (хэдийгээр угсрах ажлыг илүү хурдан, хялбар, найдвартай болгодог).

Алхам 4: Хагас хэмжээтэй, 400 уяаны цэг, талхны самбарыг туршилтын платформ дээр суурилуулах

Туршилтын платформ дээр хагас хэмжээтэй, 400 уяаны цэг, талхны самбар суурилуулах
Туршилтын платформ дээр хагас хэмжээтэй, 400 уяаны цэг, талхны самбар суурилуулах
Туршилтын платформ дээр хагас хэмжээтэй, 400 уяаны цэг, талхны самбар суурилуулах
Туршилтын платформ дээр хагас хэмжээтэй, 400 уяаны цэг, талхны самбар суурилуулах
Туршилтын платформ дээр хагас хэмжээтэй, 400 уяаны цэг, талхны самбар суурилуулах
Туршилтын платформ дээр хагас хэмжээтэй, 400 уяаны цэг, талхны самбар суурилуулах

Хагас хэмжээтэй талхны хавтангийн доод талд наалдамхай дэвсгэр дээр дарагдсан цаасаар хучигдсан байдаг. Энэ цаасыг аваад талхны хавтанг наалдсан наалт бүхий туршилтын тавцан дээр дарна уу. Та талхны тавцангийн нэг талыг хамгийн ойр байрлах Arduino талтай зэрэгцүүлэн байрлуулахыг хичээх хэрэгтэй. Талхны хавтангийн өөрөө наалддаг талыг нийлэг хавтан дээр дарахад л хангалттай.

Дараа нь платформыг эргүүлж, дөрвөн хуванцар хөлийг тавцангийн доод талын дөрвөн буланд бэхлээрэй.

Туршилтын ямар ч платформ ашигладаг байсан ч дууссаны дараа та Arduino UNO R3, хагас хэмжээтэй талхны хавтанг хоёр талд нь байрлуулж, доод талд нь дөрвөн фут байх ёстой бөгөөд ингэснээр тавцан, талхны хавтанг ямар ч хавтгай гадаргуу дээр байрлуулах боломжтой болно., угсралтад хатуу дэмжлэг үзүүлж байхад

Алхам 5: LCD бамбай

LCD бамбай
LCD бамбай
LCD бамбай
LCD бамбай
LCD бамбай
LCD бамбай

Та өмнө нь үзүүлсэн шиг тээглүүрийг гагнасан бамбай ашиглаж болно. Гэсэн хэдий ч ийм бамбай нь залгуураас илүү тээглүүртэй тул Dupont талхны хавтангийн кабелийг зохих ёсоор сонгох ёстой. Хэрэв тийм бол та үүнийг зөвхөн НҮБ -д байрлуулах хэрэгтэй. Суулгахдаа бамбайгаа зөв чиглэлд, бамбайны хоёр тал дахь тээглүүрийг НҮБ -ын залгуураар эгнээнд байрлуулсан эсэхээ шалгаарай.

Хэрэв та өмнө нь гагнасан зүүгүй бол миний энд ашигладаг бамбайг ашиглаж байгаа бол. Бамбай дээр гагнахын тулд 5 ба 6 залгууртай эмэгтэй толгойг байрлуул. Гагнах үед эдгээр толгойн углуурга нь бамбайны бүрэлдэхүүн хэсэгт байх ёстой (гэрэл зургийг үзнэ үү). Толгойн хэсгүүдийг гагнасан бол та аль хэдийн гагнасан тээглүүрээр худалдаж авсан бамбайтай ижил аргаар үргэлжлүүлж болно. Би ихэвчлэн M-M кабелийг илүүд үздэг тул M-F Dupont кабелийг M-F кабелийг ашиглахаар сонгосон. Гэсэн хэдий ч та эмэгтэй бамбай дээр биш харин LCD бамбай дээрх тээглүүрийг ашиглах боломжтой бөгөөд энэ тохиолдолд та Dupont кабелийн нэг талд байгаа хүйсийг өөрчлөх хэрэгтэй болно.

Та аль бамбайг эхлүүлэхээ сонгож дуусгахдаа Arduino UNO -ийн орой дээр бамбай суурилуулсан байх ёстой. Урьдчилан гагнасан зүү бүхий бамбай эсвэл эмэгтэй толгой (эсвэл хэрэв та сонгосон бол эрэгтэй толгой) ашиглан гагнасан бамбай нь цөөн тооны дижитал тээглүүр ашигладаг. D0 -ээс D3 ба D11 -ээс D13 хүртэлх дижитал тээглүүрийг бамбай ашигладаггүй боловч энд ашиглахгүй. А0 аналог залгуурыг бамбай ашиглан товчлуур дарсны үр дүнг хадгалдаг. Тиймээс A1 -ээс A5 хүртэлх аналог тээглүүрийг ашиглахад үнэ төлбөргүй байдаг. Энэхүү төсөлд LCD дэлгэцийг ямар ч саадгүйгээр орхихын тулд би зөвхөн аналог залгуурыг ашиглаж, дижитал оролт ашиглаагүй болно.

Эмэгтэй толгойг гагнах зориулалттай эрэгтэй толгойтой талхны хавтанг ашиглах нь надад хамгийн хялбар санагдсан (гэрэл зургийг үзнэ үү).

Дижитал зүү 10 нь LCD -ийн арын гэрэлтүүлгийн дэлгэцэнд ашиглагддаг бөгөөд дэлгэцийг ашиглаагүй үед LCD -ийн хүчийг хянахын тулд бид үүнийг зурахдаа ашиглах болно. Тодруулбал, бамбай дээрх "Зүүн" товчийг ашиглан арын гэрлийг асаах, унтраах нь дэлгэц шаардлагагүй үед цахилгаан хэмнэх болно.

Алхам 6: DHT22 чийгшил ба температур мэдрэгчийг ашиглах

DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах
DHT22 чийгшил ба температур мэдрэгчийг ашиглах

DHT22-ийн дөрвөн зүүг хагас хэмжээтэй талхны тавцан дээр оруулаад мэдрэгчийг талхны тавцан дээр бэхлээрэй.

Би DHT22 тээглүүрийг 1 -ээс 4 хүртэл дугаарласан болно. Мэдрэгчийн хүчийг 1 ба 4 -р зүүгээр хангадаг. Тодруулбал, 1 -р зүү нь +5в хүчээр хангадаг бөгөөд 4 -р зүүг газардуулахад ашигладаг. 3 -р зүүг ашигладаггүй бөгөөд 2 -р зүү нь бидний дэлгэцэнд шаардлагатай мэдээллийг өгдөг.

DHT22 дээр ашиглагддаг гурван тээглүүрийг талхны самбар дээрх холбогдох залгууруудыг ашиглан бамбай руу холбож Arduino UNO -ийг дараах байдлаар холбоно уу.

1) Мэдрэгчийн 1 -р зүү нь бамбайны 5V цахилгаан залгуур руу явдаг, 2) Мэдрэгчийн 4 -р зүү нь бамбайны GND холбогчдын нэг рүү ордог, 3) Мэдрэгчийн 2 -р зүү, өгөгдлийн гаралтын зүү нь аналог A1 залгуурт очдог (үүнийг бамбай дээрх дижитал залгуур 2 руу явсан миний өмнөх заавартай харьцуулаарай). Би энд дижитал биш харин аналог залгуурыг ашиглан LCD дэлгэцийг огт саадгүй үлдээсэн. Бүх аналог тээглүүрийг дижитал тээглүүр болгон ашиглаж болно гэдгийг санах нь зүйтэй. Хэдийгээр энд A0 нь бамбай товчлууруудад зориулагдсан болно.

DHT22 мэдрэгч нь зөвхөн 2 секунд тутамд шинэчилсэн мэдээллийг өгөх боломжтой. Тиймээс, хэрэв та мэдрэгчийг хоёр секунд тутамд нэгээс олон удаа туйлшируулж чадвал эндээс бага зэрэг оновчтой үр дүнг авах боломжтой. Орон сууц, оффисын хувьд энэ нь асуудал биш, ялангуяа харьцангуй чийгшил, температурыг аравтын бутархайгүйгээр бүхэл тоогоор харуулдаг.

Алхам 7: Бодит цагийн цаг (RTC) нэмэх

Бодит цагийн цаг (RTC) нэмэх
Бодит цагийн цаг (RTC) нэмэх
Бодит цагийн цаг (RTC) нэмэх
Бодит цагийн цаг (RTC) нэмэх
Бодит цагийн цаг (RTC) нэмэх
Бодит цагийн цаг (RTC) нэмэх

Би DS3231 -ийн зургаан зүү талыг ашигласан боловч зөвхөн дөрвөн зүү хэрэгтэй. Энэ нь талбайн самбарт залгагдах үед энэ RTC -ийн илүү тогтвортой байдлыг хангах явдал байв. Хавсаргасан зураг нь CR2032 батерейг өөр тэжээлийн эх үүсвэрээс салгасан ч гэсэн мэдээллийг хадгалах боломжийг олгохын тулд DS3231 RTC -д залгах шаардлагатай байгааг харуулж байна. DS1307 ба DS3231 хоёулаа ижил загварын CR2031 батерейг хүлээн авдаг.

DS3231 -ийн холболтууд дараах байдалтай байна.

- DS3231 дээрх GND, LCD бамбай дээрх GND

- LCD бамбай дээрх DS3231 -ээс 5V хүртэлх VCC

- LCD бамбай дээрх DS3231 -ээс A4 хүртэлх SDA

- LCD бамбай дээрх DS3231 -ээс A5 хүртэлх SCL

Дуусгахад танд Dupont кабелиудыг ATC (DHT22 -ийн хувьд), R4 -ийн SDA ба SCL тээглүүрүүдэд A4 ба A5 залгасан байх болно.

Би бас холбох шаардлагатай зүүг харуулсан нэмэлт DS1307 -ийн зургийг оруулсан болно. Хэдийгээр үүнийг зургаас унших боломжгүй боловч зарагдаагүй "нүхнүүд" -д хамгийн ойрхон байрладаг жижиг IC бол RTC бол DS1307Z юм. Харагдах бусад жижиг IC бол хадгалахад ашиглаж болох EEPROM юм; Доорх зурган дээр үүнийг ашиглаагүй болно.

RTC -ийн аль аль нь наноампийн хүрээнд маш бага эрчим хүч хэрэглэдэг тул бодит цагийн цаг нь зөвхөн дотоод батерейгаар цэнэглэгдсэн тохиолдолд мэдээлэл хадгалагдах бөгөөд цахилгаан тасрахгүй. Товчлуурын батерейг жил бүр сольж байх нь хамгийн сайн арга юм, гэхдээ одоогийн ус зайлуулах суваг нь хоёр RTC -ийн хувьд маш бага тул хэдэн жилийн турш цэнэгээ барих боломжтой байж магадгүй юм.

Алхам 8: Ноорог

Энэ сайт нь тэмдэгтүүдээс бага ба түүнээс ихийг устгаж, эдгээр тэмдгийн хоорондох текстийг устгадаг. Эндээс ноорог бичвэрийг текстэнд оруулахаас залхсангүй. Ноорогыг бичсэн байдлаар харахын тулд хавсаргасан текст файлыг татаж авна уу. Секундийг ноорог дээр харуулаагүй боловч дэлгэцийн буферын цаана байгаа 1602 LCD дэлгэц дээрх далд буфер руу илгээдэг. Тиймээс хэрэв секундыг харуулахыг хүсч байвал дэлгэцийг зүүн, баруун тийш тасралтгүй гүйлгэнэ үү.

Ноорог дээр би DS3231 -ийн толгой файлыг оруулсан бөгөөд би DS3231 төрлийн объектыг тодорхойлсон. Энэ объектыг ноорог зураг дээр долоо хоногийн өдөр, сар, өдөр, цагийн мэдээллийг шаардлагатай үе үе гаргаж авахад ашигладаг. Долоо хоногийн өдөр, сар, сарын өдрийн мэдээллийг char хувьсагчдад хуваарилж, дараа нь эдгээр хувьсагчдад хадгалсан үр дүнг LCD дээр хэвлэнэ. Цагийг бүхэлд нь хэвлэнэ, гэхдээ өмнө дурдсанчлан секундын хэсгийг 1602 LCD дэлгэц дээрх 24 тэмдэгтийн буфер руу илгээдэг бөгөөд харуулсан тэмдэгтүүдийг дөнгөж өнгөрөөсөн болно. Дээр дурдсанчлан эдгээр 24 тэмдэгтийн буферын эхний хэсэгт зөвхөн цаг, минутыг харуулах бөгөөд секундүүдийг нуусан болно.

LCD арын гэрлийг шаардлагатай үед асааж, өөрөөр унтраах боломжтой. Дэлгэц арын гэрэл унтарсан ч гэсэн идэвхтэй хэвээр байгаа тул унтраасан ч гэсэн хүчтэй гэрлээр унших боломжтой. Өөрөөр хэлбэл, унтраасан ч гэсэн шинэчлэгдсээр байгаа LCD дэлгэц дээрх мэдээллийг уншихын тулд арын гэрлийг асаах шаардлагагүй болно.

Ноорог дээр та дараах мөрийг харах болно.

RTC.adjust (DateTime (2016, 07, 31, 19, 20, 00));

Энэ нь RTC_DS1307 төрлийн объектыг ашигладаг бөгөөд одоогийн огноо, цагийг хялбархан тохируулах боломжийг олгодог. Ноорог хийхдээ энэ мөрөнд тохирох огноо, цагийг оруулна уу. Миний компьютер дээр үзүүлсэн одоогийн цагаас хэдхэн минутын дараа бодит цагийг ойролцоогоор ойртуулсан болохыг олж мэдсэн (IDE -ийг ноорог боловсруулахад бага зэрэг хугацаа шаардагдах бөгөөд ноорог ажиллахад 10 орчим секунд шаардлагатай болно).

Алхам 9: Угсарсан төслийг харуулах

Угсарсан төслийг үзүүлж байна
Угсарсан төслийг үзүүлж байна

Би угсарсан төслөө нэрийн хуудас эзэмшигч дээр суулгасан (зураг харна уу). Нэрийн хуудас эзэмшигч нь миний "магадлал ба төгсгөл" цуглуулгад байсан. Надад ийм олон эзэмшигч байгаа тул би энд нэгийг нь ашигласан. Гэсэн хэдий ч угсарсан төслийг гар утасны тавиур дээр хялбархан харуулах боломжтой. Угсарсан төслийг хавтгай байрлалаас 30-60 градусын өнцөгт аваачих аливаа эзэмшигч мөн ажиллах ёстой.

Алхам 10: Дараа нь

Баяр хүргэе, хэрэв та дээрх алхмуудыг дагасан бол одоо долоо хоногийн өдөр, хуанли, цаг, харьцангуй чийгшил, температурыг харуулсан өөрийн дэлгэцтэй болно.

Хэрэв танд энэхүү зааварчилгаа үнэ цэнэтэй санагдсан бол, ялангуяа танд энэ чиглэлээр мэдлэгээ дээшлүүлэх, сайжруулах талаар санал байвал би танаас сонсоход таатай байх болно. Та надтай [email protected] хаягаар холбоо барьж болно. (надтай холбогдохын тулд хоёр дахь 'i' -г 'e' гэж орлуулна уу.

Зөвлөмж болгож буй: