فهرست مطالب:

ساعت دودویی واقعی با NTP Sync: 4 مرحله
ساعت دودویی واقعی با NTP Sync: 4 مرحله

تصویری: ساعت دودویی واقعی با NTP Sync: 4 مرحله

تصویری: ساعت دودویی واقعی با NTP Sync: 4 مرحله
تصویری: تو یک کد کیهانی هستی- رمزگشایی کد کیهانی به روش فراماسونری 2024, جولای
Anonim
ساعت دودویی واقعی با همگام سازی NTP
ساعت دودویی واقعی با همگام سازی NTP
ساعت دودویی واقعی با همگام سازی NTP
ساعت دودویی واقعی با همگام سازی NTP

یک ساعت دودویی واقعی زمان روز را به عنوان مجموع کسرهای دوتایی یک روز کامل نشان می دهد ، در مقابل "ساعت دوتایی" سنتی که زمان را به صورت ارقام اعشاری کد شده دوتایی مربوط به ساعت/دقیقه/ثانیه نمایش می دهد. در "ساعتهای دودویی" سنتی در واقع از دودویی-کدگذاری شده-اعشاری-جنسیت کوچک استفاده می شود. چه آشفتگی! ساعتهای دودویی واقعی همه چیز را بسیار ساده می کند.

در یک ساعت دودویی واقعی ، اولین رقم به شما می گوید نیم روز است ، رقم دوم یک ربع روز است ، رقم سوم یک هشتم روز است و غیره. می توان آن را به سرعت با هر وضوح خواند (البته با تمرین) رقم اول به طور موثری AM را در مقابل PM رمزگذاری می کند ، رقم دوم رمزنگاری می کند که آیا صبح زود است/بعد از ظهر یا بعد از ظهر و غیره.

در طراحی ساعت باینری واقعی من ، از دوازده رقم وضوح استفاده کردم ، بنابراین روز به 2^12 = 4096 قسمت تقسیم می شود (هر افزایش تقریباً 20 ثانیه است). به جای نگه داشتن همه ارقام در یک خط ، 12 رقم به 3 ردیف 4 رقمی تقسیم شد. اگرچه ارقام باینری واقعی بدون تغییر هستند ، اما این امکان را می دهد که ساعت به صورت 3 رقم شش ضلعی با کد دوتایی خوانده شود ، اولین خط نشان دهنده شانزدهم روز (1.5 ساعت) ، خط دوم 256 مین روز (5 دقیقه ~) و خط سوم 4096 مین روز (20 ثانیه پوند) را نشان می دهد.

ساعت با NTP (پروتکل زمان شبکه) با استفاده از ESP8266 همگام سازی می شود. ESP8266 به گونه ای پیکربندی شده است که در هنگام راه اندازی ، با فشار دادن یک دکمه روی ساعت ، آن را به حالت تنظیمات ارسال کنید. در حالت تنظیمات ، ساعت یک شبکه WiFi ایجاد می کند که یک صفحه وب را ارائه می دهد که می تواند برای وارد کردن تنظیمات wifi ، سرور NTP و منطقه زمانی شما استفاده شود. این اطلاعات در EEPROM ESP8266 ذخیره می شود و با شروع ساعت در حالت ساعت خوانده می شود تا بتواند به اینترنت متصل شده و زمان را بازیابی کند.

تدارکات:

  • NodeMCU ESP8266
  • نوار LED WS2812B
  • دکمه فشاری
  • مقاومت 470 اهم
  • مقاومت 10 کیلو اهم
  • خازن 470 uF
  • چوب بستنی
  • تیله ها
  • چوب (یا ورق مواد دیگر) برای مورد

مرحله 1: مدار

جریان
جریان
جریان
جریان
جریان
جریان
جریان
جریان

برای داشتن صفحه نمایش ، این پروژه از نوار LED RGB استفاده می کند که در 3 ردیف قرار گرفته است. من 3 نوار از 8 led از نوار led های WS2812B برش دادم و آنها را به هم لحیم کردم. (آنها شکننده هستند و لحیم کاری لنت های کوچک ممکن است دشوار باشد. من انتهای لحیم کاری شده را در نوار برقی پیچیدم تا از هرگونه خم شدن عایق بندی شود.) حتی اگر فقط 4 عدد در هر ردیف نیاز داشتم ، نوارهای 8 تایی را برش دادم تا بتوانم تنها با استفاده از هر led دیگری می توانید فاصله بیشتری بین چراغ ها داشته باشید. سپس این نوارها به یک پایه صاف ساخته شده از چوب بستنی چسبیده بودند. در بین هر ردیف ، یک لایه دوتایی از چوب بستنی پروفایل را فراهم می کند به طوری که قسمت جلویی می تواند در قسمت داخلی بدنه ساعت گیر کند (عکس را ببینید).

نوار led از VU و GND NodeMCU تغذیه می شود. VU نیرو (تقریبا) مستقیماً از USB دریافت می کند ، بنابراین 5V را به LED های WS2812B ارائه می دهد حتی اگر ESP8266 در 3.3V کار کند. من یک خازن 470 uF در سراسر قدرت برای نوار WS2812B برای محافظت از led ها قرار دادم. داده های نوار led از طریق مقاومت 470 اهم به پین D3 NodeMCU متصل می شود. برای اطلاعات بیشتر در مورد نحوه کنترل رهبری WS2812B با ESP8266 به این دستورالعمل مراجعه کنید. این مدار با چند سربرگ زن به زن برای NodeMCU بر روی برد اولیه لحیم شد.

یک دکمه فشاری نیز به D6 NodeMCU وصل شد. این دکمه را می توان در حالی که ساعت شروع به کار می کند فشار دهید تا به حالت تنظیمات ارسال شود (که در آن می توان تنظیمات wifi ، سرور NTP و تنظیمات برگزیده منطقه زمانی را تغییر داد). در یک طرف دکمه فشاری از طریق مقاومت 10 کیلو اهم به D6 و همچنین GND متصل می شود و در طرف دیگر به برق متصل است. وقتی دکمه فشرده نشود ، D6 کم می خواند. وقتی فشرده می شود ، D6 زیاد می خواند.

مرحله 2: نرم افزار

نرم افزار
نرم افزار

نرم افزار ESP8266 با استفاده از کد آردوینو نوشته شده است. LED ها با استفاده از کتابخانه FastLED اداره می شوند و همگام سازی NTP توسط کتابخانه NTPClient انجام می شود. زمان با NTP هر ساعت همگام سازی می شود.

در شروع عملکرد راه اندازی ، برنامه بررسی می کند که آیا دکمه متصل به D6 فشار داده شده است یا خیر. در این صورت ، ESP8266 یک شبکه wifi ایجاد می کند (SSID و رمز عبور را می توان در کد تغییر داد ، SSID پیش فرض "TrueBinary" و رمز عبور "thepoweroftwo" است). از هر دستگاهی به این شبکه متصل شوید و به 192.168.1.1 بروید. ESP8266 یک صفحه وب با فرم هایی ارائه می دهد که در آن می توانید SSID و رمز وای فای خود ، سرور NTP ترجیحی و منطقه زمانی را از UTC جابجا کنید. پس از ارسال این فرم ها به ESP8266 ، اطلاعات را در حافظه داخلی EEPROM ذخیره می کند.

اگر دکمه فشار داده نشود ، ساعت به طور عادی شروع به کار می کند ، تنظیمات را از EEPROM می خواند ، برای استفاده از NTP به وای فای متصل می شود و شروع به نمایش زمان می کند.

توجه: تابع setDisplay (int index) عدد رقمی 0-11 را می گیرد که 0 اولین رقم (نیم روز) و 11 آخرین (1/4096 روز) است و LED مربوطه را با استفاده از "" روشن می کند. آرایه leds " این عملکرد باید مطابق نحوه تنظیم صفحه نمایش پر شود. مثال کامنت گذاری شده من مربوط به این است که چگونه ردیف ها را به صورت زیگزاگ لحیم می کنم و نه از انتها تا انتها و از هر LED دیگری صرف نظر می کنم.

مرحله 3: مسکن

مسکن
مسکن
مسکن
مسکن
مسکن
مسکن

برای قرار دادن ساعت ، من از زاویه ای از چوب رنگ آمیزی استفاده کردم که به طور اتفاقی داشتم. در یک صورت بیرونی ، من 12 سوراخ در یک شبکه متناظر با موقعیت LED ها ایجاد کردم. سپس LED ها را با چسباندن صورت های برآمده چوب بستنی در بین ردیف ها به چوب (مطابق شکل) به داخل زاویه چسباندم. برای پخش نور LED ها ، تخته های مرمر را روی سوراخ ها چسبانده ام. من این کار را با فرو بردن نیمه پایینی هر سنگ مرمر در رزین اپوکسی و سپس قرار دادن آنها در سوراخ ها انجام دادم. NodeMCU و تخته اولیه به طرف دیگر داخلی زاویه پیچ خورده اند. دو طرف با استفاده از مثلث های کوچک چوبی که با چسب چوب وصل شده اند پوشانده شده است. یکی از طرفین دارای یک سوراخ برای درگاه میکرو USB NodeMCU و یک برش در گوشه برای دکمه فشار است.

مرحله 4: انجام شد

انجام شده!
انجام شده!
انجام شده!
انجام شده!

ساعت باینری واقعی ما تمام شد! برای راه اندازی ، دکمه را در حین اتصال فشار دهید تا در حالت تنظیمات قرار گیرد و سپس اعتبار WiFi را در صفحه وب خود وارد کنید. پس از تنظیم ، ساعت را می توان در هر مکانی متصل کرد و به طور خودکار به اینترنت متصل می شود و زمان را به صورت باینری نمایش می دهد.

برای خواندن زمان با فرمت دوتایی واقعی ، کمی تمرین لازم است ، اما این یک تمرین سرگرم کننده است و پس از مدتی راهی سریع برای وقت گذرانی تنها با یک نگاه می شود!

توصیه شده: