Цаг бүхий DIY цахим хуанли. Өөрийнхөө гараар дижитал цагийг чимэг хэв маягаар хэрхэн хийх вэ

Сайн байна уу geektimes! Өгүүллийн эхний хэсэгт гар хийцийн цагийг зөв цагийг олж авах зарчмуудыг авч үзсэн болно. Цаашид энэ удаад хэрхэн, юуг харуулах нь илүү дээр болохыг авч үзье.

1. Гаралтын төхөөрөмж

Тиймээс бидэнд тодорхой платформ (Arduino, Raspberry, PIC/AVR/STM хянагч гэх мэт) байгаа бөгөөд даалгавар бол түүнд ямар нэгэн заалтыг холбох явдал юм. Бидний авч үзэх олон сонголт бий.

Сегментийн дэлгэц

Энд бүх зүйл энгийн. Сегментийн индикатор нь энгийн LED-ээс бүрдэх бөгөөд тэдгээр нь унтраах резистороор дамжуулан микроконтроллерт холбогдсон байдаг.

Замын хөдөлгөөнөөс болгоомжил!

Давуу тал: дизайны энгийн байдал, сайн харах өнцөг, хямд үнэ.
Сул тал: Үзүүлсэн мэдээллийн хэмжээ хязгаарлагдмал.
Нийтлэг катод ба нийтлэг анод бүхий хоёр төрлийн индикаторын загвар байдаг (үйлдвэрлэгчийн вэбсайтаас авсан диаграмм).

LED-ийг микроконтроллерт хэрхэн холбох талаар 1001 нийтлэл байгаа бөгөөд Google тусалж чадна. Бид том цаг хийхийг хүсэх үед бэрхшээл эхэлдэг - эцэст нь жижиг үзүүлэлтийг харах нь тийм ч тохиромжтой биш юм. Дараа нь бидэнд дараах үзүүлэлтүүд хэрэгтэй (eBay-ээс авсан зураг):

Тэдгээр нь 12 В-оор тэжээгддэг бөгөөд микроконтроллероос шууд ажиллахгүй. Энд микро схем бидэнд туслах болно. CD4511, зөвхөн энэ зорилгоор. Энэ нь зөвхөн 4 битийн шугамаас өгөгдлийг хүссэн тоо руу хөрвүүлээд зогсохгүй заагч руу хүчдэл өгөх транзисторын шилжүүлэгчийг агуулдаг. Тиймээс хэлхээнд бид 9-12V-ийн "хүч" хүчдэлтэй байх шаардлагатай бөгөөд хэлхээний "логик" -ийг тэжээхийн тулд тусдаа буулгах хөрвүүлэгч (жишээ нь L7805) хэрэгтэй болно.

Матрицын үзүүлэлтүүд

Үндсэндээ эдгээр нь зөвхөн 8х8 матриц хэлбэртэй ижил LED юм. eBay-ээс авсан зураг:

Тэдгээрийг eBay дээр нэг модуль эсвэл бэлэн блок хэлбэрээр зардаг, жишээ нь 4 ширхэг. Тэдгээрийг удирдах нь маш энгийн - микро схемийг модулиудад аль хэдийн гагнасан байна MAX7219, тэдгээрийн ажиллагааг хангах, зөвхөн 5 утас ашиглан микроконтроллерт холбогдох. Arduino-д зориулсан олон номын сан байдаг бөгөөд хэн ч кодыг нь харж болно.
Давуу тал: хямд үнэ, сайн харах өнцөг, тод байдал.
Сул талууд: нягтрал багатай. Гэхдээ дүгнэлт хийхэд хангалттай хугацаа байна.

LCD үзүүлэлтүүд

LCD үзүүлэлтүүд нь график эсвэл текст байж болно.

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

Кодоос LCD үзүүлэлттэй ажиллах нь тийм ч хэцүү биш боловч тодорхой сул тал бий - индикатор нь микроконтроллерээс олон хяналтын шугам (7-оос 12) шаарддаг бөгөөд энэ нь тохиромжгүй юм. Тиймээс Хятадууд LCD индикаторыг i2c хянагчтай хослуулах санааг гаргаж ирсэн бөгөөд энэ нь маш тохиромжтой болсон - холбоход ердөө 4 утас хангалттай (eBay-ээс авсан зураг).


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

OLED үзүүлэлтүүд

Эдгээр нь өмнөх хувилбарын сайжруулсан үргэлжлэл юм. Эдгээр нь 1.1" диагональтай жижиг, хямд үнэтэйгээс эхлээд том, үнэтэй хүртэл байдаг. eBay-ээс авсан зураг.

Үнэндээ тэд үнээс бусад бүх зүйлд сайн байдаг. 0.9-1.1 инчийн хэмжээтэй жижиг үзүүлэлтүүдийн хувьд (i2c-тэй хэрхэн ажиллах талаар сурахаас бусад тохиолдолд) тэдгээрийн практик хэрэглээг олоход хэцүү байдаг.

Хийн ялгаруулах үзүүлэлтүүд (IN-14, IN-18)

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


(nocrotec.com-оос авсан зураг)

Тэдний холболтын диаграм нь арай илүү төвөгтэй байдаг, учир нь Эдгээр үзүүлэлтүүд нь гал асаахад 170 В хүчдэлийг ашигладаг. 12V=>180V-ээс хувиргагчийг микро схем дээр хийж болно MAX771. ЗХУ-ын микро схемийг индикаторуудад хүчдэл өгөхөд ашигладаг K155ID1, энэ зорилгоор тусгайлан бүтээсэн. Үнэ гаргана өөрөө үйлдвэрлэл: Шалгуур тус бүрд 500 орчим рубль, K155ID1-д 100 рубль, бусад бүх хэсгүүд нь хуучин сэтгүүлд бичсэнчлэн "хангалтгүй байна". Энд байгаа гол бэрхшээл бол IN-xx болон K155ID1 аль аль нь үйлдвэрлэгдэхгүй удаж байгаа бөгөөд та зөвхөн радио зах зээл эсвэл цөөн хэдэн төрөлжсөн дэлгүүрээс худалдаж авах боломжтой.

2. Платформын сонголт

Бид дэлгэцийн талаар бага эсвэл бага хэмжээгээр олж мэдсэн бөгөөд зөвхөн аль техник хангамжийн платформыг ашиглах нь дээр вэ гэдгийг шийдэх л үлдлээ. Энд хэд хэдэн сонголт байна (Би гар хийцийн хувилбаруудыг авч үзэхгүй байна, учир нь самбарыг хэрхэн чиглүүлэх, процессорыг гагнах талаар мэддэг хүмүүст энэ нийтлэл хэрэггүй).

Arduino

Эхлэгчдэд зориулсан хамгийн хялбар сонголт. Дууссан самбар нь хямд (eBay дээр үнэ төлбөргүй хүргэлттэй 10 орчим доллар) бөгөөд програмчлалд шаардлагатай бүх холбогчтой. eBay-ээс авсан зураг:

Arduino-д зориулсан асар олон тооны өөр өөр номын сангууд байдаг (жишээлбэл, ижил LCD дэлгэц, бодит цагийн модулиуд), Arduino нь янз бүрийн нэмэлт модулиудад нийцдэг техник хангамж юм.
Гол сул тал: дибаг хийхэд хүндрэлтэй (зөвхөн цуваа портын консолоор дамжуулан) болон орчин үеийн стандартын дагуу нэлээд сул процессор (2KB RAM ба 16MHz).
Гол давуу тал нь: та гагнуур хийх, программист худалдаж авах, утас холбох зэрэгт төвөг учруулахгүйгээр маш их зүйлийг хийж чадна.

32 битийн STM процессорууд

Илүү хүчирхэг зүйлийг хүсч буй хүмүүст зориулж STM процессортой бэлэн хавтангууд байдаг, жишээлбэл STM32F103RBT6 самбар, TFT дэлгэцтэй. eBay-ээс авсан зураг:

Энд бид аль хэдийн бүрэн хэмжээний IDE дээр бүрэн дибаг хийх боломжтой болсон (бид Coocox IDE хамгийн их таалагдсан), гэхдээ JTAG холбогчтой тусдаа ST-LINK программист дибаглагч хэрэгтэй болно (асуудал). үнэ eBay дээр 20-40 доллар байдаг). Эсвэл та энэ программистыг суулгасан STM32F4Discovery хөгжүүлэх самбарыг худалдаж авах боломжтой бөгөөд үүнийг тусад нь ашиглах боломжтой.

Raspberry PI

Эцэст нь орчин үеийн ертөнцтэй бүрэн нэгдэхийг хүсч буй хүмүүсийн хувьд Линукс бүхий нэг самбарт компьютерууд байдаг бөгөөд магадгүй хүн бүрт аль хэдийн мэдэгдэж байсан - Raspberry PI. eBay-ээс авсан зураг:

Энэ бол Линукс, гигабайт RAM, 4 цөмт процессор бүхий бүрэн хэмжээний компьютер юм. 40 зүү бүхий самбар нь самбарын ирмэг дээр байрладаг бөгөөд янз бүрийн нэмэлт төхөөрөмжүүдийг холбох боломжийг олгодог (зүүгүүдийг кодоос авах боломжтой, жишээлбэл Python дээр, C/C++ гэхгүй), мөн стандарт USB хэлбэртэй байдаг. 4 холбогч (та WiFi холбож болно). Стандарт HDMI бас байдаг.
Самбарын хүч нь жишээлбэл, зөвхөн цагийг харуулах төдийгүй вэб интерфэйсээр параметрүүдийг тохируулах, интернетээр цаг агаарын урьдчилсан мэдээг ачаалах гэх мэт HTTP серверийг ажиллуулахад хангалттай. Ер нь уран зөгнөлөөр нисэх зай их бий.

Raspberry (болон STM32 процессорууд) нь зөвхөн нэг л бэрхшээлтэй байдаг - түүний зүү нь 3-V логикийг ашигладаг бөгөөд ихэнх гадаад төхөөрөмжүүд (жишээлбэл, LCD дэлгэц) 5V-ээс "хуучин" аргаар ажилладаг. Мэдээжийн хэрэг, та үүнийг ингэж холбож болно, зарчмын хувьд энэ нь ажиллах болно, гэхдээ энэ нь тийм ч зөв арга биш бөгөөд 50 долларын самбарыг сүйтгэх нь ичмээр юм. Зөв зам- eBay дээр ердөө 1-2 долларын үнэтэй "логик түвшний хөрвүүлэгч" ашигла.
eBay-ээс авсан зураг:

Одоо ийм модулиар дамжуулан манай төхөөрөмжийг холбоход хангалттай бөгөөд бүх параметрүүд тогтвортой байх болно.

ESP8266

Энэ арга нь нэлээд чамин боловч шийдлийн авсаархан, хямд өртөгтэй тул нэлээд ирээдүйтэй юм. Маш бага мөнгөөр ​​(eBay дээр ойролцоогоор 4-5 доллар) та процессор болон WiFi бүхий ESP8266 модулийг худалдаж авах боломжтой.
eBay-ээс авсан зураг:

Эхэндээ ийм модулиудыг цуваа портоор дамжуулан солилцох WiFi гүүр болгон ашигладаг байсан ч сонирхогчид мэдрэгч, i2c төхөөрөмж, PWM гэх мэт төхөөрөмжтэй ажиллах боломжийг олгодог олон өөр програм хангамжийг бичсэн байдаг. NTP серверийг суулгаад i2c-ээр дамжуулан дэлгэц рүү гаргана. Маш олон төрлийн дагалдах хэрэгслийг холбохыг хүсч буй хүмүүсийн хувьд олон тооны зүү бүхий тусгай NodeMCU хавтангууд байдаг бөгөөд үнэ нь ойролцоогоор 500 рубль байдаг (мэдээж eBay дээр):

Цорын ганц сөрөг зүйл бол ESP8266 нь маш бага RAM-тай (програм хангамжаас хамааран 1-ээс 32 KB хүртэл) боловч энэ нь даалгаврыг илүү сонирхолтой болгодог. ESP8266 модулиуд нь 3V логикийг ашигладаг тул дээрх түвшний хувиргагч энд бас хэрэг болно.

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

Дүгнэлтийн оронд

Би эцэст нь псевдо графиктай ажиллахаар тохируулсан текст заагч бүхий Raspberry PI-г ашиглахаар шийдсэн (энэ нь ижил диагональ график дэлгэцээс хямд байсан). Би энэ нийтлэлийг бичиж байхдаа ширээний цагны дэлгэцийн зургийг авсан.

Цаг нь интернетээс авсан яг цагийг харуулдаг бөгөөд цаг агаар Yandex-ээс шинэчлэгдсэн, энэ бүгдийг Python дээр бичсэн бөгөөд хэдэн сарын турш нэлээд сайн ажиллаж байна. Үүний зэрэгцээ цаг дээр FTP сервер ажиллаж байгаа бөгөөд энэ нь (чиглүүлэгч дээрх порт дамжуулахтай хослуулан) програм хангамжаа зөвхөн гэрээсээ төдийгүй интернеттэй аль ч газраас шинэчлэх боломжийг олгодог. Урамшууллын хувьд Raspberry-ийн нөөц нь зарчмын хувьд орон сууцыг алсаас хянах чадвартай камер ба / эсвэл микрофоныг холбох, эсвэл янз бүрийн модуль / реле / ​​мэдрэгчийг удирдахад хангалттай. Ирж буй захидлын LED заалт гэх мэт бүх төрлийн "сайн зүйлсийг" нэмж болно.

Жич: Яагаад eBay гэж?
Таны харж байгаагаар eBay-ийн үнэ эсвэл зургийг бүх төхөөрөмжид өгсөн болно. Яагаад тэр вэ? Харамсалтай нь манай дэлгүүрүүд ихэвчлэн “1 доллараар авч, 3 доллараар зарж, тэр хоёр хувиар амьдардаг” гэсэн зарчмаар ажилладаг. Энгийн жишээ хэлэхэд, Arduino Uno R3 (бичиж байх үед) Санкт-Петербургт 3600 рубль, eBay дээр Хятадаас үнэгүй хүргэлттэй 350 рубль байдаг. Ялгаа нь уран зохиолын хэтрүүлэггүйгээр үнэхээр том хэмжээний дараалал юм. Тийм ээ, та шуудангийн газарт илгээмж авахын тулд нэг сар хүлээх хэрэгтэй болно, гэхдээ үнийн ийм зөрүү нь үнэ цэнэтэй гэж бодож байна. Гэсэн хэдий ч, хэрэв хэн нэгэнд яг одоо, яаралтай хэрэгтэй бол орон нутгийн дэлгүүрүүдэд сонголт байгаа байх, энд хүн бүр өөрөө шийддэг.

Би та бүхний анхааралд цахим хэлбэрээр танилцуулж байна микроконтроллерийн цаг. Цагийн хэлхээ нь маш энгийн бөгөөд хамгийн бага хэсгүүдийг агуулдаг бөгөөд радио сонирхогчдод дахин давтаж болно.

Дизайныг микроконтроллер болон DS1307 бодит цагийн цаг дээр угсардаг. Дөрвөн оронтой долоон сегментийн үзүүлэлтийг одоогийн цагийн үзүүлэлт болгон ашигладаг. LED үзүүлэлт(харанхуйд сайхан харагддаг хэт тод, цэнхэр өнгийн гэрэлтэх, үүнтэй зэрэгцэн цаг нь шөнийн гэрлийн үүрэг гүйцэтгэдэг). Цагийг хоёр товчлуураар удирддаг. DS1307 бодит цагийн цагийн чипийг ашигласны ачаар програмын алгоритм нь маш энгийн болсон. Микроконтроллер нь I2C автобусаар дамжуулан бодит цагийн цагтай холбогддог бөгөөд програм хангамжаар зохион байгуулагддаг.

Цагны диаграм:

Харамсалтай нь диаграммд алдаа байна:
- MK терминалуудыг транзисторын сууринд холбох шаардлагатай.
РВ0 - Т4, РВ1 - Т3, РВ2 - Т2, РВ3 - Т1
эсвэл транзисторын коллекторуудын холболтыг индикаторын цифрүүд рүү өөрчлөх:
T1-ээс DP1….. T4-ээс DP4 хүртэл

Цагны хэлхээнд ашигласан хэсгүүд:

♦ ATTiny26 микроконтроллер:

♦ бодит цагийн цаг DS1307:

♦ 4 оронтой долоон сегменттэй LED индикатор – нийтлэг катодтой FYQ-5641UB-21 (хэт тод, цэнхэр):

♦ кварц 32.768 кГц, 12.5 pF оролтын багтаамжтай (компьютерийн эх хавтангаас авч болно), цагны нарийвчлал нь энэ кварцаас хамаарна.

♦ бүх транзисторууд нь NPN бүтэц, та ямар ч (KT3102, KT315 болон тэдгээрийн гадаад аналоги) ашиглаж болно, би BC547S ашигласан.
♦ бичил хэлхээний хүчдэл тогтворжуулагчийн төрөл 7805
♦ 0.125 ваттын чадалтай бүх резисторууд
♦ тэжээлийн хүчдэлээс багагүй ажиллах хүчдэлийн туйлын конденсатор
♦ нөөц тэжээлийн хангамж DS1307 – 3 вольтын лити эс CR2032

Цагийг тэжээхийн тулд та шаардлагагүй гар утасны цэнэглэгчийг ашиглаж болно (энэ тохиолдолд гаралтын хүчдэл байгаа бол цэнэглэгч 5 вольт ± 0.5 вольтын дотор, хэлхээний нэг хэсэг нь 7805 төрлийн микро схем дээрх хүчдэлийн тогтворжуулагч бөгөөд үүнийг хасч болно)
Төхөөрөмжийн одоогийн хэрэглээ 30 мА байна.
Та DS1307 цагны нөөц батарейг суулгах шаардлагагүй, гэхдээ цахилгаан тасарсан тохиолдолд одоогийн цагийг дахин тохируулах шаардлагатай болно.
Төхөөрөмжийн хэвлэмэл хэлхээний самбарыг өгөөгүй бөгөөд дизайныг эвдэрсэн механик цагны хайрцагт угсарсан болно. LED (SQW DS1307 тээглүүрээс 1 Гц анивчдаг давтамжтай) нь заагч дээрх цаг, минутыг салгахад үйлчилдэг.

Микроконтроллерийн тохиргоо нь үйлдвэрийнх: цагийн давтамж - 1 МГц, FUSE битүүдэд хүрэх шаардлагагүй.

Цагийн үйлдлийн алгоритм(Algorithm Builder дээр):

1. Стек заагчийг тохируулах
2. Таймерыг тохируулах T0:
- давтамж SK/8
- халих тасалдал (энэ урьдчилан тогтоосон давтамж дээр тасалдлыг 2 миллисекунд тутамд дууддаг)
3. Портуудыг эхлүүлэх (PA0-6 ба PB0-3 зүү нь гаралт, PA7 ба PB6 нь оролт болгон тохируулагдсан)
4. I2C автобусыг эхлүүлэх (PB4 ба PB5 зүү)
5. DS1307 регистрийн тэгийн 7-р битийг (CH) шалгаж байна
6. Глобал тасалдлыг идэвхжүүлэх
7. Гогцоо оруулах, товчлуур дарагдсан эсэхийг шалгах

Анх удаа асаалттай эсвэл DS307-д нөөц хүч байхгүй бол дахин асаалттай үед одоогийн цагийг анхны тохиргоонд нь тохируулна. Энэ тохиолдолд: S1 товчлуур - цагийг тохируулах, S2 товчлуур - дараагийн цифр рүү шилжих. Тохируулах хугацаа - цаг, минутыг DS1307-д бичдэг (секундыг тэг болгож тохируулсан), SQW/OUT зүү (7-р зүү) нь 1 Гц давтамжтай дөрвөлжин долгионы импульс үүсгэхээр тохируулагдсан.
Та S2 товчийг дарахад (S4 - програмд) дэлхийн тасалдал идэвхгүй болж, програм цагийг засах дэд програм руу орно. Энэ тохиолдолд S1 ба S2 товчлууруудыг ашиглан арав, минутын нэгжийг тохируулж, дараа нь 0 секундээс эхлэн S2 товчийг дарснаар DS1307-д шинэчлэгдсэн цагийг бичиж, глобал тасалдлыг шийдэж, үндсэн програм руу буцна.

Цаг нь сайн нарийвчлалтай, сард 3 секундын алдагдалтай байсан.
Нарийвчлалыг сайжруулахын тулд мэдээллийн хуудсанд заасны дагуу кварцыг DS1307-тэй холбохыг зөвлөж байна.

Хөтөлбөрийг Algorithm Builder орчинд бичсэн.
Цагийн програмыг жишээ болгон ашигласнаар та I2C автобусаар дамжуулан микроконтроллер болон бусад төхөөрөмжүүдийн хооронд харилцах алгоритмтай танилцаж болно (мөр бүрийг алгоритмд нарийвчлан тайлбарласан болно).

Зураг угсарсан төхөөрөмжмөн сайт уншигч Анатолий Пилгукаас .lay форматтай хэвлэмэл хэлхээний самбар, үүний төлөө түүнд маш их баярлалаа!

Төхөөрөмжийг ашигладаг: Транзисторууд - SMD BC847 ба CHIP резисторууд

Өгүүллийн хавсралтууд:

(42.9 КБ, 3,233 хандалт)

(6.3 КБ, 4,183 хандалт)

(3.1 КБ, 2,662 хандалт)

(312.1 КБ, 5,932 удаа үзсэн)


AB дахь цагийн програмын хоёр дахь хувилбар (дээд хэсгийг татаж авах боломжгүй хүмүүст)

(11.4 КБ, 1,947 удаа үзсэн)

Энэ нь алхам алхмаар зааварчилгааҮүнийг яаж хийхийг би танд хэлье Ханын цагөөрийн гараар.

Цагны онцлогууд:

  • Том тоо (тоо бүр нь ойролцоогоор А4 хуудасны хэмжээтэй тэнцүү).
  • Нимгэн хана (зургийн жаазанд оруулж болно).
  • Өрөөн доторх гэрэлтүүлгийн тод байдлаас хамааран автомат тохируулга.
  • Зориулалтын зуны цагийн товчлуур.

Алхам 1: Шаардлагатай материал


Би олон тоотой дижитал ханын цагийг ашигласан.

Электрон бараа:

  • Arduino nano V3.0 (харамсалтай нь би анхны Arduino худалдаж авах боломжгүй тул би хятад клон ашигласан) - 150 рубль.
  • Arduino-д зориулсан гэрлийн эрчмийг хэмжих дижитал модуль Фоторезистор - 60 рубль.
  • Arduino-д зориулсан DS3231 AT24C32 IIC санах ойн модуль нь 60 рубль юм.
  • DC-DC хувиргагч LM2596, Гаралтын хүч 1.23V-30V - 50 рубль.
  • 4 метр WS2811 LED тууз 30 диод / м - 700 рубль. (нэг WS2811 нь 3 LED чипийг хянадаг)

Электроникийн нийт өртөг: 900 рубль.

Бусад материалууд:

  • Дулаан агшаах хоолой - 400 рубль (33м нөөцтэй)
  • 20 ширхэг. 5 х 7 см хэмжээтэй хэвлэмэл хэлхээний самбар - 200 рубль.
  • 3 ширхэг. Микро унтраалга - 60 рубль.
  • Гагнуур - 50 рубль
  • Флюс - 50 рубль.
  • UTP (Unshielded Twisted Pair) кабель
  • LCD фонт (http://www.dafont.com/lcd-lcd-mono.font) - үнэ төлбөргүй.
  • Картон нь супермаркетад үнэ төлбөргүй байдаг.
  • Полистирол хавтан - 100 рубль.

Мөн янз бүрийн хэрэгслүүд.

Алхам 2: Бэлтгэл ажил - Тооны загвар


  1. Цагийн фонтыг татаж аваад суулгана уу
  2. Word эсвэл өөр програмыг нээж, эхний зураг дээрх шиг загвар үүсгэ.
  • Фонтын хэмжээ ~ 800,
  • Фонт цагаанхар тоймтой,
  • LED туузууд байх саарал судлууд

Загварыг хэвлээд судлуудыг хутгаар хайчилж ав (хоёр дахь зураг дээрх шиг)

Алхам 3: Бэлтгэл ажил - картон ба LED тууз хайчлах

Дижитал загварыг ашиглан картын цаасыг хэмжээгээр нь хайчилж ав (цаг, минутын хооронд цэгүүдийг үлдээхээ мартуузай)

Хэрэв таны LED туузууд хоёр талдаа холбогчтой (минийх шиг) байвал холбогчийг салгаад 3 хэсэг болгон хайчилж ав.

Алхам 4: LED туузыг холбоно


Загварыг ашиглан наа LED зурваскартон дээр.

Энэ нь шаардлагагүй, гэхдээ би харандаагаар LED туузыг хаана байрлуулах ёстойг тэмдэглэсэн.

Эцсийн хэлбэрийг харахад тэдгээрийг наах нь илүү тохиромжтой. Үүний ачаар би тоонуудын хооронд хэт их зай үлдээснээ анзаарч, цаг тухайд нь зассан.

Алхам 5: LED туузыг гагнах


Одоо урт гагнуурын процесс эхэлж байна.

Тасралтгүй тууз үүсгэхийн тулд LED туузыг гагнах. Зурган дээрх туузыг гагнах дарааллыг анхаарч үзээрэй. Цэгүүдийн хувьд би нэг ширхэг соронзон хальс хэрэглэж, дундуур нь наасан.

Миний сонгосон өнгө:

  • Дэлхийд зориулсан цэнхэр
  • Өгөгдлийн хувьд ногоон
  • Улаан +12V

Алхам 6: Ардуино-г ПХБ дээр суулгах


Би Fritzing-д ноорог зурах гэж оролдсон боловч бүх нарийн ширийн зүйлийг олж чадсангүй :)

Тиймээс, эхний зураг нь холболтын диаграммыг, хоёр дахь зураг нь надад хэрхэн харагдахыг харуулж байна.

Алхам 7: LED шалгах


Кодоо байршуулахаасаа өмнө (үүнтэй ямар ч холбоогүй) FastLED номын санг суулгахаа мартуузай.

Хэрэв бүх зүйл хэвийн ажиллаж байвал LED нь өнгөөр ​​​​эргэх ёстой. Хэрэв танд асуудал байгаа бол эхлээд гагнуураа шалгана уу.

Файлууд

Алхам 8: Цагийг програмчил

Хэсэг хугацааны дараа би өөртөө бүрэн тохирсон цаг хийж чадсан. Гэсэн хэдий ч хүн бүр сайжруулж болох зүйлийг олох болно.

Код нь сайн тайлбартай тул ямар ч асуудал гарах ёсгүй.

Бүх дибаг хийх мессежүүдэд мөн сэтгэгдэл бичсэн байна.

Ашигласан өнгийг өөрчлөхийн тулд 22-р мөрөнд байгаа хувьсагчийг өөрчлөх шаардлагатай (int ledColor = 0x0000FF; // Ашигласан өнгө (hex)). Та энэ хуудасны доод хэсэгт өнгөний жагсаалтыг олох боломжтой

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

Энэ нь хялбар учраас би энэ схемийг сонгосон цагаа өөрөө хий

Эхлээрэй, тэгвэл бид өөрсдийн гараар цаг хийхэд юу хэрэгтэй вэ? Мэдээжийн хэрэг, гар, хэлхээний диаграммыг унших, гагнуурын төмөр, эд ангиудыг унших чадвар (бүр сайн биш). Миний ашигласан зүйлсийн бүрэн жагсаалт энд байна:

10 МГц кварц – 1 ширхэг, ATtiny 2313 микроконтроллер, 100 Ом эсэргүүцэл – 8 ширхэг, 3 ширхэг. 10 кОм, 22 пФ-ын 2 конденсатор, 4 транзистор, 2 товчлуур, LED индикатор 4 битийн KEM-5641-ASR (RL-F5610SBAW/D15). Би нэг талт ПХБ дээр суурилуулалтыг хийсэн.

Гэхдээ энэ схемд алдаа бий: ялгадасыг хянах үүрэгтэй микроконтроллерийн зүү (цаашид MK гэх) нь хангалттай ачааллыг хүлээн авдаг. Нийт гүйдэл нь портын хамгийн их гүйдлээс хамаагүй өндөр боловч динамик үзүүлэлтээр MK хэт халах цаг байхгүй. MK-ийн эвдрэлээс урьдчилан сэргийлэхийн тулд бид цэнэгийн хэлхээнд 100 Ом резистор нэмнэ.

Энэ схемд индикаторыг динамик заагч зарчмын дагуу удирддаг бөгөөд үүний дагуу индикаторын сегментийг MK-ийн харгалзах гаралтын дохиогоор удирддаг. Эдгээр дохионы давталтын хурд нь 25 Гц-ээс их байдаг тул индикаторын тоонуудын гэрэлтэлт тасралтгүй мэт санагддаг.

Дээрх схемийн дагуу хийсэн электрон цаг Зөвхөн цагийг (цаг, минут) харуулах боломжтой бөгөөд секундийг сегментүүдийн хоорондох цэгээр харуулав, энэ нь анивчдаг. Цагны ажиллах горимыг хянахын тулд түүний бүтцэд цаг, минутын тохиргоог хянадаг товчлуурын унтраалга суурилуулсан болно. Энэ хэлхээ нь 5 В-ын тэжээлийн эх үүсвэрээс тэжээгддэг. Үйлдвэрлэлийн явцад цахилгаан гүйдлийн хавтан 5V zener диодыг хэлхээнд оруулсан.

Би 5V тэжээлийн хангамжтай тул би zener диодыг хэлхээнээс хассан.

Самбарыг хийхийн тулд хэлхээг төмрөөр хийсэн. Өөрөөр хэлбэл, хэвлэмэл хэлхээг гялгар цаас ашиглан бэхэн принтер дээр хэвлэсэн бөгөөд үүнийг орчин үеийн гялгар сэтгүүлээс авч болно. Дараа нь шаардлагатай хэмжээтэй текстолитыг хайчилж авав. Миний хэмжээ 36*26 мм болсон. Ийм жижиг хэмжээ нь бүх эд ангиудыг SMD багцаар сонгосонтой холбоотой юм.

Самбарыг төмрийн хлорид (FeCl 3) ашиглан сийлсэн. Сийлбэр нь нэг цаг орчим үргэлжилсэн, учир нь хавтан бүхий банн нь задгай зууханд өндөр температурт нөлөөлж, хавтанд зэс хэрэглэхгүй байсан; Гэхдээ температурыг хэтрүүлж болохгүй.

Устгах үйл явц явагдаж байх хооронд би тархиа гашилгаж, цагны программ бичихгүйн тулд интернетэд ороод энэ диагрампрограм хангамж MK-г хэрхэн яаж гэрэлтүүлэхийг Интернетээс олж болно. Би зөвхөн ATMEGA MK-г гэрэлтүүлдэг программист ашигласан.

Эцэст нь манай самбар бэлэн болсон бөгөөд бид цагнуудаа гагнах боломжтой. Гагнуурын хувьд MK болон бусад хэсгүүдийг шатаахгүйн тулд нимгэн үзүүртэй 25 Вт гагнуурын төмөр хэрэгтэй. Бид гагнуурыг болгоомжтой хийж, MK-ийн бүх хөлийг анх удаа гагнах нь дээр, гэхдээ зөвхөн тусад нь. Мэдэхгүй хүмүүсийн хувьд SMD багцад хийсэн эд ангиудыг хурдан гагнах зориулалттай терминал дээр цагаан тугалгатай гэдгийг мэдэж аваарай.

Гагнасан эд ангиудын самбар нь иймэрхүү харагдаж байна.

Би PIC16F628A төрлийн сэрүүлэгтэй энгийн электрон цагийн хэлхээг давтахыг санал болгож байна. Энэхүү цагны том давуу тал нь цагийг харуулах ALS төрлийн LED индикатор юм. Би хувьдаа бүх төрлийн LCD дэлгэцээс залхаж байгаа бөгөөд зөвхөн сайн гэрэлтүүлэгтэй биш харин өрөөний хаанаас ч, тэр дундаа харанхуйд ч цагийг харахыг хүсч байна. Хэлхээ нь хамгийн бага хэсгүүдийг агуулдаг бөгөөд маш сайн давтагдах чадвартай. Цагийг нэг сарын турш туршсан бөгөөд энэ нь түүний найдвартай байдал, гүйцэтгэлийг харуулсан. Интернет дээрх бүх схемүүдийг би бодож байна, энэ нь угсарч, ажиллуулахад хамгийн хялбар юм.

Микроконтроллер дээрх сэрүүлэгтэй цахим цагны бүдүүвч диаграмм:


Цагны диаграммаас харахад энэ нь энэ төхөөрөмжид ашиглагддаг цорын ганц микро схем юм. Цагийн давтамжийг тохируулахын тулд 4 МГц-ийн кварцын резонаторыг ашигладаг. Цагийг харуулахын тулд нийтлэг анод бүхий улаан индикаторуудыг ашигладаг. Пьезо ялгаруулагчийг ашиглах тохиолдолд C1 - 100 μF конденсаторыг орхиж болно.

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


Цагны дэлгэц нь динамик юм. Тухайн үед зөвхөн нэг оронтой тоо гарч ирдэг бөгөөд энэ нь одоогийн хэрэглээг мэдэгдэхүйц бууруулах боломжийг танд олгоно. Цифр бүрийн анодыг PIC16F628A микроконтроллероор удирддаг. Бүх дөрвөн цифрийн сегментүүд хоорондоо холбогдож, гүйдэл хязгаарлагч R1 ... R8 резисторуудаар дамжуулан MK портын терминалуудтай холбогддог. Заагч нь маш хурдан асдаг тул тоонуудын анивчих нь анзаарагдахгүй болно.


Агшин зуурын товчлуурууд нь минут, цаг, сэрүүлгийн цагийг тохируулахад ашиглагддаг. 10-р зүүг дохиоллын дохионы гаралт болгон ашигладаг бөгөөд VT1,2 транзисторын каскадыг өсгөгч болгон ашигладаг. Дууны ялгаруулагч нь ZP төрлийн пьезоэлектрик элемент юм. Дууг сайжруулахын тулд та үүнийг жижиг чанга яригчаар сольж болно.


Цаг нь тогтворжсон 5V эх үүсвэрээс тэжээгддэг. Мөн батерейгаар тэжээгдэж болно. Цаг нь 9 дэлгэцийн горимтой. Горимуудын хооронд шилжих нь "+" ба "-" товчлууруудыг ашиглан хийгддэг. Уншилтыг өөрөө харуулахын өмнө индикаторууд дээр горимын нэрний талаархи товч мэдээлэл гарч ирнэ. Сануулгыг харуулах хугацаа нэг секунд байна.


"Залруулах" товчийг ашиглан сэрүүлгийн цагийг тохиргооны горимд шилжүүлнэ. Энэ тохиолдолд богино хугацааны сануулгыг хагас секундын турш харуулах бөгөөд дараа нь тохируулсан утга нь анивчиж эхэлнэ. Уншилтын залруулга нь "+" ба "-" товчлууруудыг ашиглан хийгддэг. Товчлуурыг удаан дарахад заасан давтамжтайгаар автомат давталтын горим идэвхждэг. Цаг, минут, секундээс бусад бүх утгыг EEPROM-д бичиж, тэжээлийн мөчлөгийн дараа сэргээнэ.


Хэдэн секундын дотор ямар ч товчлуур дарахгүй бол цахим цаг нь цагийг харуулах горимд шилжинэ. "Асаах/унтраах" товчийг дарснаар сэрүүлгийн цаг асаах эсвэл унтрах бөгөөд энэ үйлдлийг богино дуугаар баталгаажуулна. Сэрүүлэг асаалттай байх үед индикаторын доод эрэмбийн цифр дэх цэг асна. Би цагийг гал тогооны өрөөнд хаана байрлуулахаа бодож байгаад шууд залгахаар шийдэв хийн зуух:) Материалыг in_sane илгээсэн.


ЦАХИМ СЭРҮҮЛЭГИЙН ЦАГ нийтлэлийг хэлэлцэнэ



Мөн уншина уу: