logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zegar na ESP12 i wyświetlaczu MAX7219 - tutorial - część 1, ArduinoOTA, podstawy

p.kaczmarek2 30 Lis 2023 11:14 4932 59

TL;DR LABEL_AI_GENERATED

  • Zegar na ESP8266/ESP12 z wyświetlaczem MAX7219 i modułem przekaźników MCP23017 pobiera czas z internetu przez NTP i ma być obsługiwany z prostego panelu WWW.
  • Firmware złożono w PlatformIO, a aktualizacje wsadu działają przez ArduinoOTA po jednorazowym wgraniu kablem oraz ustawieniu SSID, hasła i stałego adresu IP.
  • MCP23017 daje 16-bitowy ekspander I2C z trzema pinami adresowymi A0, A1, A2, a sterowanie wyświetlaczem uprościła biblioteka MD_Parola.
  • Układ wyświetla godzinę i datę oraz potrafi załączać przekaźnik, ale bez dodatkowego formatowania godzina 1:05 pojawia się jako 1:5.
  • Projekt pokazuje też montaż mieszanej płytki THT/SMD, użycie TC1264 jako LDO 3.3 V i ręczne lutowanie oraz dopasowanie otworów pod koszyk baterii.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.

Podsumowanie tematu

LABEL_AI_GENERATED
Omówiono projekt zegara opartego na ESP8266 (ESP12) z wyświetlaczem LED sterowanym układem MAX7219 oraz modułem przekaźników MCP23017. Firmware jest tworzony w PlatformIO z wykorzystaniem bibliotek ArduinoOTA i synchronizacji czasu przez NTP. Dyskutowano zalety PlatformIO względem Arduino IDE, w tym łatwość aktualizacji OTA i wsparcie dla różnych frameworków, w tym RTOS SDK. Przedstawiono integrację sterownika DS3231 RTC z synchronizacją czasu NTP, z omówieniem logiki aktualizacji RTC tylko przy istotnych zmianach czasu, aby uniknąć nadmiernej komunikacji na magistrali I2C. Wprowadzono konsolidację funkcji związanych z czasem w sterowniku "TIME" (wcześniej "CLOCK"), obsługującym NTP, RTC, strefy czasowe i DST, z zachowaniem kompatybilności wstecznej dla poleceń ntp_*. Dyskutowano o ukrywaniu sterownika czasu w interfejsie użytkownika, aby uniknąć nieporozumień. Przeprowadzono prace nad animacjami wyświetlacza MAX7219, w tym implementację płynnego przewijania i zmiany wyświetlanych informacji (godzina, data, temperatura, wilgotność) z użyciem własnych czcionek i efektów cieniowania. Omówiono poprawki w kodzie źródłowym, dokumentacji i narzędziach generujących dokumentację poleceń. Projekt jest rozwijany z uwzględnieniem ograniczeń pamięci flash i kompatybilności z różnymi platformami sprzętowymi. Zaproponowano dalsze usprawnienia, m.in. lepsze animacje dla MAX7219 oraz integrację alternatywnych źródeł czasu, takich jak GPS (NEO6) i zegar radiowy DCF77.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA