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

NTP синхрончлол бүхий жинхэнэ хоёртын цаг: 4 алхам
NTP синхрончлол бүхий жинхэнэ хоёртын цаг: 4 алхам

Видео: NTP синхрончлол бүхий жинхэнэ хоёртын цаг: 4 алхам

Видео: NTP синхрончлол бүхий жинхэнэ хоёртын цаг: 4 алхам
Видео: SKR 1.4 - Definitive User Guide 2024, Долдугаар сарын
Anonim
NTP синхрончлол бүхий жинхэнэ хоёртын цаг
NTP синхрончлол бүхий жинхэнэ хоёртын цаг
NTP синхрончлол бүхий жинхэнэ хоёртын цаг
NTP синхрончлол бүхий жинхэнэ хоёртын цаг

Жинхэнэ хоёртын цаг нь өдрийн цагийг бүтэн өдрийн хоёртын бутархай хэсгүүдийн нийлбэр хэлбэрээр харуулдаг бөгөөд уламжлалт "хоёртын цаг" -аас ялгаатай нь цаг/минут/секундэд харгалзах хоёртын кодчилсон аравтын оронтой тоог харуулдаг. Уламжлалт "хоёртын цаг" нь үнэхээр хоёртын кодчилсон-аравтын бутаар кодлогдсон-сексексимал ашигладаг. Ямар заваан юм бэ! Жинхэнэ хоёртын цаг нь аливаа зүйлийг маш хялбаршуулдаг.

Жинхэнэ хоёртын цагийн хувьд эхний цифр нь хагас өдөр, хоёр дахь орон нь дөрөвний нэг, гурав дахь орон нь өдрийн найм гэх мэтийг хэлдэг бөгөөд үүнийг ямар ч нарийвчлалтай хурдан унших боломжтой байдаг). Эхний цифр нь AM -ийг PM -ээс үр дүнтэй кодлодог бол хоёр дахь цифр нь AM/PM -ийн эхэн эсвэл AM/PM -ийн орой гэх мэтийг кодчилдог.

Миний жинхэнэ хоёртын цагийг зохион бүтээхдээ би арван хоёр оронтой нарийвчлалыг ашигласан тул өдрийг 2^12 = 4096 хэсэгт хуваасан (алхам бүр нь ойролцоогоор 20 секунд). Бүх цифрийг мөрөнд байлгахын оронд 12 цифрийг 4 оронтой 3 мөр болгон хуваасан. Бодит хоёртын цифрүүд өөрчлөгдөөгүй боловч энэ нь цагийг хоёртын кодчилсон 3 оронтой зургаан оронтой тоогоор унших боломжийг олгодог бөгөөд эхний мөр нь өдрийн 16-ны (1.5 цаг), хоёр дахь мөр нь өдрийн 256 дахь (~ 5 минут), Гурав дахь мөр нь өдрийн 4096 -ийг харуулдаг (~ 20секунд).

Цагийг ESP8266 ашиглан NTP (Сүлжээний цагийн протокол) руу синхрончилдог. ESP8266 нь асаалттай байх үед товчлуурыг дарж тохиргооны горимд оруулахаар тохируулагдсан болно. Тохиргооны горимд цаг нь өөрийн wifi тохиргоо, NTP сервер, цагийн бүсийг оруулах вэб хуудсыг ашигладаг WiFi сүлжээг бий болгоно. Энэхүү мэдээлэл нь ESP8266 -ийн EEPROM -д хадгалагддаг бөгөөд цаг нь цагийн горимд эхлэхэд уншдаг бөгөөд ингэснээр интернетэд холбогдож, цагийг нь сэргээж чаддаг.

Хангамж:

  • NodeMCU ESP8266
  • WS2812B LED зурвас
  • Дарах товчлуур
  • 470 Ом эсэргүүцэл
  • 10K Ом эсэргүүцэл
  • 470 uF конденсатор
  • Попсикул мод
  • Гантиг
  • Хэргийн мод (эсвэл бусад хуудас материал)

Алхам 1: Хэлхээ

Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ

Дэлгэцтэй байхын тулд энэ төсөл нь 3 эгнээнд байрлуулсан RGB LED туузыг ашигладаг. Би WS2812B гэрлээс 8 ширхэг 3 ширхэг тууз хайчилж аваад хамт гагнав. (Тэд эмзэг бөгөөд жижиг дэвсгэрийг гагнах нь хэцүү байдаг. Би гагнасан үзүүрийг цахилгаан соронзон хальсанд боож, ямар ч нугалаас тусгаарлах боломжтой болсон.) Надад нэг эгнээнд 4 лед хэрэгтэй байсан ч би 8 ширхэг тууз хайчилж авлаа. Зөвхөн бусад бүх ледийг ашиглан гэрлийн хоорондох зай илүү их байж болно. Дараа нь эдгээр туузыг популяр модоор хийсэн хавтгай сууринд наалджээ. Мөр бүрийн хооронд хоёр давхар модны саваа профайлыг өгдөг бөгөөд ингэснээр урд талын цагийг цагны дотор талд наалдуулах боломжтой болно (зураг харна уу).

LED зурвас нь NodeMCU -ийн VU ба GND -ээс тэжээгддэг. VU нь USB -ээс шууд (бараг л) ирж байгаа тул ESP8266 нь 3.3V -т ажилладаг боловч WS2812B LED -д 5V өгдөг. Би LED -ийг хамгаалахын тулд WS2812B туузан дамжуулагчийн хүчээр 470 uF конденсатор байрлуулсан. Лед зурвасын өгөгдлийг 470 Ом эсэргүүцэлээр дамжуулан NodeMCU -ийн D3 зүүтэй холбодог. WS2812B LED -ийг ESP8266 ашиглан хэрхэн удирдах талаар дэлгэрэнгүй мэдээллийг энэ заавраас үзнэ үү. Уг хэлхээг NodeMCU-ийн зарим эрэгтэй, эмэгтэй толгойтой прото самбар дээр гагнасан байна.

NodeMCU -ийн D6 дээр мөн товчлуурыг хавсаргасан байв. Энэхүү товчлуурыг цаг эхлэх үед дарж тохиргооны горимд шилжүүлэх боломжтой (үүнд wifi тохиргоо, NTP сервер, цагийн бүсийн тохиргоог өөрчлөх боломжтой). Нэг талаас товчлуур нь D6, GND -т 10К Ом эсэргүүцэлээр холбогддог бол нөгөө талд нь тэжээлд холбогддог. Товчлуурыг дарах үед D6 бага уншдаг; дарахад D6 өндөр уншдаг.

Алхам 2: Програм хангамж

Програм хангамж
Програм хангамж

ESP8266 програм хангамжийг Arduino кодыг ашиглан бичсэн болно. LED -ийг FastLED номын сангийн тусламжтайгаар зохицуулдаг бөгөөд NTP синхрончлолыг NTPClient номын сан хийдэг. Цагийг цаг тутамд NTP синхрончилдог.

Тохируулах функц эхлэхэд програм D6 -тай холбогдсон товчлуур дарагдсан эсэхийг шалгадаг. Хэрэв тийм бол ESP8266 нь wifi сүлжээ үүсгэдэг (SSID болон нууц үгийг кодонд өөрчилж болно, анхдагч SSID нь "TrueBinary" бөгөөд нууц үг нь "thepoweroftwo"). Энэ сүлжээнд дурын төхөөрөмжөөс холбогдож 192.168.1.1 руу очно уу. ESP8266 нь wifi SSID, нууц үг, NTP сервер, UTC -ээс цагийн бүсийн офсет оруулах боломжтой маягттай вэб хуудсыг ажиллуулах болно. Эдгээр маягтуудыг ESP8266 -д оруулсны дараа энэ мэдээллийг EEPROM дотоод хадгалах санд хадгалах болно.

Хэрэв товчлуур дарагдаагүй бол цаг хэвийн ажиллаж, EEPROM -ийн тохиргоог уншиж, NTP ашиглахын тулд wifi -д холбогдож, цагийг харуулдаг.

ТАЙЛБАР: setDisplay (int index) функц нь 0-11 хүртэлх оронтой тоог авдаг бөгөөд 0 нь эхний цифр (хагас өдөр), 11 нь сүүлчийн (өдрийн 1/4096) бөгөөд харгалзах LED-ийг ". leds "массив. Энэ функцийг дэлгэцийг хэрхэн тохируулсны дагуу бөглөх ёстой. Миний тайлбарласан жишээ нь би мөрүүдийг төгсгөлөөс нь илүү зиг-заг хэлбэрээр гагнаж, бусад бүх LED-ийг алгассантай холбоотой юм.

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

Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц

Цагийг байрлуулахын тулд би өөрт тохиолдсон будсан модны өнцгийг ашигласан. Нэг гаднах нүүрэн дээр би LED -ийн байрлалд тохирсон сүлжээнд 12 цооног өрөмдсөн. Дараа нь би LED-ийг модны хоорондох эгнээний хоорондох модны дээш өргөгдсөн нүүрийг нааж (үзүүлсэн шиг) өнцгийн дотор талд наасан. LED -ийн гэрлийг сарниулахын тулд би нүхний орой дээр шилэн гантиг наасан. Би үүнийг гантиг бүрийн доод талыг эпокси давирхайнд дүрээд дараа нь нүхэнд хийж хийлээ. NodeMCU ба прото самбарыг өнцгийн нөгөө нүүр рүү шургуулжээ. Модны цавуугаар бэхэлсэн модны жижиг гурвалжин ашиглан талыг нь таглав. Хажуугийн нэг талд NodeMCU -ийн микро USB портын нүх, товчлуурыг буланд нь таслав.

Алхам 4: Дууссан

Дууссан!
Дууссан!
Дууссан!
Дууссан!

Бидний жинхэнэ хоёртын цаг дууслаа! Үүнийг тохируулахын тулд залгахдаа товчлуурыг дарж тохиргооны горимд оруулаад дараа нь вэб хуудсандаа WiFi -ийн итгэмжлэлийг оруулна уу. Тохируулсны дараа цагийг хаана ч залгах боломжтой бөгөөд автоматаар интернетэд холбогдож цагийг хоёртын хэлбэрээр харуулах болно.

Цагийг хоёртын форматаар уншихын тулд маш их дадлага хийх шаардлагатай байдаг, гэхдээ энэ нь хөгжилтэй дасгал бөгөөд хэсэг хугацааны дараа энэ нь зөвхөн харцаар л цагийг олж авах хурдан арга болдог!

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