Tartalomjegyzék:
Videó: Valódi bináris óra NTP szinkronizálással: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Egy valódi bináris óra a napszakot egy teljes nap bináris törtjeinek összegeként jeleníti meg, szemben a hagyományos "bináris órával", amely az órát/percet/másodpercet tartalmazó binárisan kódolt tizedes számjegyként jeleníti meg az időt. A hagyományos "bináris órák" valóban binárisan kódolt-tizedes-kódolt-sexagesimalt használnak. Micsoda rendetlenség! Az igazi bináris órák rendkívül leegyszerűsítik a dolgokat.
Egy valódi bináris órában az első számjegy a fél napot, a második számjegye a negyedik napot, a harmadik számjegy a nyolcadik napot, stb. Nagyon gyorsan leolvasható bármilyen felbontásra (természetesen gyakorlattal)). Az első számjegy hatékonyan kódolja az AM versus PM -et, a második számjegy pedig azt, hogy kora AM/PM vagy késő AM/PM stb.
A valódi bináris órám tervezésekor tizenkét számjegyű felbontást használtam, így a nap 2^12 = 4096 részre van osztva (minden lépés körülbelül 20 másodperc). Ahelyett, hogy az összes számjegyet egy sorban tartaná, a 12 számjegyet 3 4 számjegyből álló sorra osztották. Bár a tényleges bináris számjegyek változatlanok, ez lehetővé teszi, hogy az óra 3 binárisan kódolt hexadecimális számként legyen leolvasva, az első sor a nap 16. részét (1,5 óra), a második sor a nap 256-dik részét (~ 5 perc) mutatja, és a harmadik sor a nap 4096. részét (~ 20 másodperc) mutatja.
Az óra ESP8266 használatával szinkronizálva van az NTP -vel (Network Time Protocol). Az ESP8266 úgy van konfigurálva, hogy indításkor az óra gombjának megnyomása beállítási módba küldi. Beállítási módban az óra létrehoz egy WiFi hálózatot, amely kiszolgál egy weboldalt, amellyel megadhatja saját wifi beállításait, NTP szerverét és időzónáját. Ez az információ az ESP8266 EEPROM -jában tárolódik, és az óra óra üzemmódban való indulásakor olvassa be, hogy csatlakozzon az internethez és lekérje az időt.
Kellékek:
- NodeMCU ESP8266
- WS2812B LED szalag
- Nyomógomb
- 470 Ohm ellenállás
- 10K ohmos ellenállás
- 470 uF kondenzátor
- Popsicle botok
- Golyók
- Fa (vagy más anyaglap) a tokhoz
1. lépés: Áramkör
A kijelző érdekében ez a projekt egy RGB led szalagot használ, amely 3 sorban van elhelyezve. A WS2812B ledek csíkjából levágtam 3 darab 8 LED -es csíkot, és összeforrasztottam őket. (Törékenyek, és a kis párnák forrasztása nehézségekbe ütközhet. A forrasztott végeket elektromos szalaggal tekertem, hogy szigetelje őket minden hajlítástól.) Annak ellenére, hogy csak 4 ledre volt szükségem soronként, 8 -as csíkokat vágtam ki. nagyobb távolság lehet a lámpák között, ha csak minden más ledet használ. Ezeket a csíkokat ezután egy lapos, popsicle botokból készült alapra ragasztották. Minden sor között kettős réteg popsicle botok biztosítják a profilt, így az előlap az óra tokjának belső oldalához tapadhat (lásd a fotót).
A led szalag a NodeMCU JE -jéből és GND -jéből táplálkozik. A VU (szinte) közvetlenül az USB -ről érkezik, így 5 V -ot biztosít a WS2812B LED -ekhez, annak ellenére, hogy az ESP8266 3.3 V -on működik. A WS2812B szalag tápellátására 470 uF kondenzátort helyeztem, hogy megvédje a LED -eket. A led szalag adatai a 470 ohmos ellenálláson keresztül csatlakoznak a NodeMCU D3 tűjéhez. A WS2812B LED -ek ESP8266 vezérlésével kapcsolatos további információkért tekintse meg ezt az útmutatót. Az áramkört proto-boardra forrasztották néhány férfi-nő fejléccel a NodeMCU számára.
Nyomógombot is csatoltak a NodeMCU D6 -hoz. Ezt a nyomógombot az óra indításakor lehet megnyomni, hogy beállítási módba küldje (amelyben a wifi beállítások, az NTP szerver és az időzóna beállításai módosíthatók). Az egyik végén a nyomógomb a D6 -hoz és a GND -hez van csatlakoztatva egy 10K ohmos ellenálláson keresztül, a másik végén pedig az áramhoz. Ha a gombot nem nyomják meg, a D6 alacsony értéket mutat; megnyomásakor a D6 magas értéket mutat.
2. lépés: Szoftver
Az ESP8266 szoftverét Arduino kóddal írták. A LED -eket a FastLED könyvtár használja, az NTP szinkronizálást pedig az NTPClient könyvtár végzi. Az időt az NTP óránként szinkronizálja.
A beállítási funkció elindításakor a program ellenőrzi, hogy nincs -e megnyomva a D6 -hoz csatlakoztatott gomb. Ha igen, az ESP8266 létrehoz egy wifi hálózatot (az SSID és a jelszó megváltoztatható a kódban, az alapértelmezett SSID "TrueBinary", a jelszó pedig "thepoweroftwo"). Csatlakozzon ehhez a hálózathoz bármely eszközről, és keresse meg a 192.168.1.1 címet. Az ESP8266 egy weboldalt szolgál ki űrlapokkal, ahol megadhatja a wifi SSID -jét és jelszavát, az előnyben részesített NTP -kiszolgálót és az időzóna eltolását az UTC -től. Miután ezeket az űrlapokat elküldte az ESP8266 -nak, az adatokat az EEPROM belső tárhelyére menti.
Ha nem nyomja meg a gombot, az óra rendesen elindul, beolvassa az EEPROM beállításait, csatlakozik a wifi -hez az NTP használatához, és elkezdi megjeleníteni az időt.
MEGJEGYZÉS: a setDisplay (int index) függvény a 0-11-es számjegyeket veszi fel, ahol a 0 az első számjegy (a fél nap), a 11 pedig az utolsó (1/4096 egy nap), és bekapcsolja a megfelelő LED-et a " ledek "tömb. Ezt a funkciót a kijelző beállításának megfelelően kell kitölteni. A megjegyzett példám megfelel annak, hogyan forrasztottam a sorokat cikk-cakk módon, nem pedig végpontok között, és kihagytam minden más LED-et.
3. lépés: Ház
Az óra elhelyezéséhez egy festett fa szöget használtam, ami véletlenül volt. Az egyik külső felületen 12 lyukat fúrtam a LED -ek helyzetének megfelelő rácsba. Ezután a LED-eket a szög belsejéhez ragasztottam úgy, hogy a popsicle botok emelt felületeit a sorok között a fához ragasztottam (az ábrán látható módon). A LED -ek fényének eloszlatásához üveggolyókat ragasztottam a lyukak tetejére. Ezt úgy értem el, hogy minden márvány alsó felét epoxigyantaba mártottam, majd a lyukakba helyeztem. A NodeMCU-t és a proto-kártyát a szög másik belső felületébe csavarják. Az oldalakat kis fa háromszögekkel fedték le, faragasztóval rögzítve. Az egyik oldalon van egy lyuk a NodeMCU mikro USB portjához, és a sarokban egy vágás a nyomógomb számára.
4. lépés: Kész
Elkészült az igazi bináris óránk! A beállításhoz tartsa lenyomva a gombot, miközben csatlakoztatja, hogy beállítási módba állítsa, majd írja be a WiFi hitelesítő adatokat a weboldalára. Beállítás után az óra bárhova csatlakoztatható, és automatikusan csatlakozik az internethez, és elkezdi megjeleníteni az időt bináris formában.
Szükség van egy kis gyakorlásra, hogy valódi bináris formátumban olvassa az időt, de ez egy szórakoztató gyakorlat, és egy idő után gyors módja annak, hogy egyetlen pillantással megszerezze az időt!
Ajánlott:
Mikro bináris óra: 10 lépés (képekkel)
Mikro bináris óra: Előzőleg létrehozott egy Instructable (Binary DVM) programot, amely a korlátozott megjelenítési területet használja ki bináris használatával. Csak egy kis lépés volt, amikor korábban létrehozta a fő kódmodult a Decimal to Binary konvertáláshoz egy bináris óra létrehozásához, de
Valódi TIme óra AT89s52 használatával: 3 lépés
Valódi TIme óra AT89s52 használatával: ÜDVÖZÖLJÜK, Ez a shubham Trivedi, és ma megtervezem a valós idejű órát az At89s52 mikrokontroller segítségével. Az AT89S52 mikrokontroller a projekt lényege. A DS1307 IC -t RTC -ként használják. Ehhez a DS1307 IC -hez I2C interfészre volt szükség, de 89
ESP8266 Hálózati óra RTC nélkül - Nodemcu NTP óra Nem RTC - INTERNET ÓRA PROJEKT: 4 lépés
ESP8266 Hálózati óra RTC nélkül | Nodemcu NTP óra Nem RTC | INTERNET ÓRA PROJEKT: A projektben óra projektet készítenek RTC nélkül, időbe telik az internet az wifi használatával, és megjeleníti az st7735 kijelzőn
Okostelefonnal vezérelt Bluetooth LED -ek (élőzenei szinkronizálással): 7 lépés
Okostelefonnal vezérelt Bluetooth LED -ek (Live Music Sync): Mindig is szerettem építeni, miután rájöttem, hogy az új egyetemi kollégiumom szörnyű világítással rendelkezik, úgy döntöttem, hogy egy kicsit megfűszerezem. *** FIGYELEM *** Ha építesz ezt a projektet ugyanabban a méretben, mint az én beállításomat, tisztességes mennyiségű elemmel fog dolgozni
Hogyan készítsünk valódi számítógépes játékokat. Szórakoztató és csak körülbelül egy óra: 10 lépés
Hogyan készítsünk valódi számítógépes játékokat. Szórakoztató és csak körülbelül egy óra: Hé, ez a projekt megmutatja, hogyan kell játékokat készíteni !!! valódi játékok számítógépekhez, és nem szükséges, hogy ismerje a zavaró kódokat. Amikor befejezi ezt a projektet, ismeri a játékteremtés néhány alapját, és annyit készíthet, amennyit csak akar