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

Wort-Uhr: 5 алхам
Wort-Uhr: 5 алхам

Видео: Wort-Uhr: 5 алхам

Видео: Wort-Uhr: 5 алхам
Видео: Топ 5 скрытых полезных программ Windows 10 2024, Арваннэгдүгээр
Anonim
Ворт-Ухр
Ворт-Ухр

Сайн байна уу хамтдаа!

Энэ бол миний анхны зааварчилгаа болно, хэрэв танд үүнийг сайжруулах, ойлгоход хялбар болгох санаа байвал надтай холбоо барихаас бүү эргэлзээрэй!

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

"Герман бус" гишүүдэд нэг үг хэлье … Энэ бол зүгээр л "Германы Wort Uhr" гэдгийг хараад уучлаарай. Үүнийг англи эсвэл өөр хэл рүү хялбархан хөрвүүлэх боломжтой боловч би герман хүн болохоор үүнийг өөрийн хэл дээр хийсэн. Хэрэв танд хэлний дэмжлэг хэрэгтэй бол надтай холбоо бариарай, би танд туслахыг хичээх болно.

Тиймээс эхэлцгээе…

Алхам 1: Схем

Схем
Схем

Схем нь шууд урагшлах бөгөөд хэрэв зураг уншихад муу байвал PDF файл бас байна.

Зүүн доод булангаас эхэлье. PIC, ээлжийн регистр (74HC164), DS3231 бодит цагийн чипийн тогтвортой 5V гаралтыг бий болгохын тулд LM7805 ашиглан энгийн цахилгаан хангамж байдаг. Бүх LED -ийг мөн энэ хэсгээс нийлүүлдэг. Баруун төгсгөлд байгаа D22 нь цахилгаан хангамжийг харуулах зориулалттай бөгөөд хэрэв хүсэхгүй бол амархан салгаж болно.

Та 40 В -оос бага хүчдэлтэй цагны аль ч тогтмол гүйдлийн тэжээлийг ашиглаж болох боловч C7 -ийн тохирох утгыг сонгох хэрэгтэй. Энэ нь оролтын хүчдэлээс дор хаяж хоёр дахин их хүчдэлтэй байх ёстой бөгөөд та LM7805 -д дулаан үүсгэж байгаагаа санаж байгаа тул оролтын хүчдэлийг аль болох бага байлгахыг хичээх хэрэгтэй. Хамгийн сайн тохирох нь 9V -аас 12V DC хоорондох хүчдэл юм.

Цахилгаан хангамжийн туйлшралын талаар санаа зовох хэрэггүй … P сувгийн MOSFET (Q1) нь туйлшралын хуурамч хамгаалалтын үүргийг гүйцэтгэдэг бөгөөд цаг ажиллахгүй, ямар ч гэмтэл авахгүй. Хэрэв та угсарсан бол үүнийг "хүч" LED D22 дээрээс шалгаж болно.

Схемийн баруун талд цуваа оролттой зэрэгцээ ээлжийн бүртгэлүүд байна. Олон тооны оролт гаралтын порт бүхий асар том PIC ашиглахыг хүсээгүй тул би тэдгээрийг ашиглахаар шийдсэн. Би жижиг хэмжээтэйг ашиглахыг хүсч байсан бөгөөд гэртээ 16F1829 хэмжээтэй байсан тул сонголт аль хэдийн тодорхой болсон. Өгөгдлийг (IN_1, IN_2 ба IN_3) PIC (доорх кодын хэсгийг үзнэ үү) болон REGISTER_CLK -ээс өгсөн болно. Миний код болон ПХБ -ийн зохион байгуулалтыг хялбарчлахын тулд би 74HC164 -ийн хоёрыг цаг, сүүлчийнх нь "логик" -д ашигласан.

Зүүн дээд буланд PIC болон шаардлагатай бүх хэсгүүд байна. Би дотоод цагийг ашигласан тул осциллятор шаардлагагүй болно. SCL, SDA, MCLR -ийн зөвхөн гурван эсэргүүцэл. Би 32 кГц -ийг "яг секундын" үзүүлэлт болгон ашигласан тул PIC -ийн хувьд нэлээд тогтвортой, нарийвчлалтай давтамж гаргах шаардлагагүй болно.

Дунд хэсэгт хамгийн бага гадаад хэсэгтэй DS3231 байна. Үнэндээ би зөвхөн I²C ба 32 кГц -ийн гаралтын хувьд SDA ба SCL оролтыг PIC16F1829 -ийн Timer1 -ийн гадаад цагийн лавлагаа болгон ашигласан. Энэ гаралтын хувьд өгөгдлийн хүснэгтэд энэ нь гаднах татах эсэргүүцэл гэж хэлдэг. Миний энэ төсөлд ашиглаагүй бусад гаралтуудыг холболтгүй орхисон.

Дунд хэсэгт нь LED … Та схемээс уншиж болохоор би цэнхэр LED (тунгалаг орон сууцтай), резисторын утга 1к Ом -ийг ашигласан. Хэрэв та энэ төслийг бие даан хийх гэж байгаа бол LED -ийн өнгө, төрлөөс хамааран эдгээр эсэргүүцлийн утгыг сонгох хэрэгтэй. Мөн цагийг хаана тохируулахыг хүсч байгаагаа санаарай. Миний унтлагын өрөөнд зогсож байгаа тул би LED -үүдийг хэт гэрэлтүүлэхийг хүсээгүй бөгөөд резисторуудын хувьд илүү их үнэ цэнийг сонгосон. ПХБ -д суулгахаасаа өмнө LED болон резисторийн утгатай талхны самбарыг туршиж үзээрэй.

Алхам 2: Байршил

Бүдүүвч
Бүдүүвч
Бүдүүвч
Бүдүүвч
Бүдүүвч
Бүдүүвч

Схемийг дуусгасны дараа ПХБ -ийг чиглүүлэх цаг болжээ. Үүний тулд би KiCAD -ийг ашигласан (мөн схемийн хувьд). Хэлэх зүйл байхгүй, зөвхөн шугамыг чиглүүл.

Би цагны орон сууцыг өөрөө хэвлэсэн тул дээд давхарга дээрх LED хаана байрладаг нь маш чухал байв. Би зөвхөн LED болон резисторыг дээд давхаргад байрлуулсан, учир нь би ПХБ-ээ хэсэгчлэн суурилуулсан (SMD-ийн бүх эд ангиудыг) захиалсан тул миний сонгосон компани зөвхөн нэг талыг нь байрлуулсан бөгөөд хоёр талт биш юм.

Та миний KiCAD-аас хийсэн 3 хэмжээст хоёр зургийг хэрхэн байрлуулж байгааг харж болно.

Хэрэв та сонирхож байвал… KiCAD ПХБ -ийг Eagle руу экспортлох боломжтой бөгөөд ПХБ -ийн лавлагаа байгаа тул орон сууц барихад маш хялбар болно.

Алхам 3: "Wort-Uhr" -ийн "логик"

Энэ төслийн хамгийн том хэсэг бол PIC код байсан …

Эхлээд ярианы цагийн "логик" -ыг герман хэл дээр олж, код руу хөрвүүлэв.

Харамсалтай нь Excel файлыг шууд байршуулах боломжгүй байсан ч PDF экспортыг танд хангалттай унших боломжтой гэж найдаж байна. Үгүй бол надтай холбоо бариарай, би танд анхны Excel файлыг илгээх болно. PDF дээр миний цагийн логикийг хэрхэн тохируулсныг харж болно. Би өөр өөр цаг үеийг хэрхэн даван туулж, зөв бичгийн дүрмийг хэрхэн харж байгааг харж болно. Код доторх тооцооллыг (ихэвчлэн if-else мэдэгдэл) хүснэгтийн баруун талд байгаа мэдээллээс гаргаж авч болно. Нэг хэсэг нь хэдэн минут, нэг хэсэг нь хэдэн цаг байна.

Таны харж байгаагаар энэ нь ямар ч ид шид биш бөгөөд үүнийг С -д хялбархан кодлох боломжтой. Логик доторх "хамгийн төвөгтэй" цэг бол цагийг хэрхэн яаж зохицуулах вэ гэдэг нь файлын зөвхөн цагийн эхэнд л бодит цагийг харуулдаг болохыг харуулж байна.. Герман хэл дээр (магадгүй энэ нь зөвхөн Баварийн онцлог зүйл байж магадгүй юм) "дараагийн цаг" -ийг нэлээд эрт ашигладаг.

Кодлохын тулд би MPLABX -ийг өөрийн IDE болгон сонгосон.

Алхам 4: Кодын хэсгүүдийг оруулна уу

Кодын хэсгүүд
Кодын хэсгүүд
Кодын хэсгүүд
Кодын хэсгүүд

Би кодоо энд оруулахгүй, гэхдээ хэрэв та өөрийн код бичих гэж байгаа бол би хөгжүүлэлтийн явцад "бүдэрсэн" зүйлээ танд өгөх болно …

Эхлээд "бүртгүүлэх" бөглөх:

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

Бүртгэлийг бөглөх кодыг дээрх зураг дээр харуулав. Таны харж байгаагаар би бүх 3 бүртгэлийг зэрэгцүүлэн бөглөж байгаа тул өгөгдөлд 3 зүү, CLK -д 1 зүү хэрэгтэй болно. 74HC164 нь CLK шугам дээр 0 -ээс 1 рүү шилжих тухай шинэ өгөгдлийг хүлээн авдаг.

Үлдсэн код нь голчлон PIC-ээс хамааралтай зүйлс, "ярих цаг" логик, харьцах харилцаа холбоо, товчлуурууд юм. Би MSSP модулийг ашигласан тул харилцаа холбоог ихэвчлэн Microchip MPLABX хангадаг.

Мэдээллийг BCD хэлбэрээр хадгалдаг тул та үүнийг код дээрээ "өөрчлөх" хэрэгтэй болж магадгүй тул DS3231 мэдээллийн хуудсыг унших нь зүйтэй юм. Миний санаж байгаагаар би "хийж сурч байгаа" залуу байна, мэдээжийн хэрэг мэдээллийн хуудсыг уншаагүй … Надад маш их мэдрэл, цаг зарцуулсан.

Та үүнийг анзаарсан байх шиг, энэ хэрэгжилтийг "цагтаа зохицуулах" хоёр арга бий.

  1. Та DS3231 -ээс гарсан бодит цагийг унших боломжтой
  2. Та PIC дотор "секунд тоолох" боломжтой бөгөөд үе үе DS3231 -тэй цагийг синхрончлох боломжтой

Энэ нь танд хамаатай бөгөөд хоёр арга нь практик бөгөөд шууд урагшлах болно. Би эхний сонголтыг ашиглаж, товчлууруудаар (DS3231 руу бичих цаг) эсвэл 24 цаг тутамд (DS3231 -ээс унших цаг) цаг тохируулахдаа зөвхөн логикийг өөрөө хэрэгжүүлэхийг хүссэн тул синхрончлогдсон. Би бас шөнө цагаар (23:00 цагаас 05:00 хүртэл) цагийг эргүүлдэг байсан нь миний бодлоор арай хялбар байсан.

Алхам 5: Орон сууц

Эцэст нь хэлэхэд орон сууцны талаар товчхон үзэх цаг болжээ.

Дээр дурдсанчлан би орон сууцыг бие даан (Ийгл ашиглан) хийж, 3D принтерээр хэвлүүлсэн тул өөр өөр LED-ийн байрлалыг үргэлжлүүлэн харахыг хүсч байна.

Хэрэв та ашиглахыг хүсвэл STL файлуудыг хавсаргасан болно.

Энэхүү заавар нь өөрийн "Wort-Uhr" бүтээхэд танд тусална гэж найдаж байна. Хэрэв "нээлттэй асуултууд" байсаар байвал надтай холбоо бариарай. Доорх сэтгэгдлийг ашиглах хамгийн сайн арга бол танд ганцхан асуулт байж магадгүй юм.

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