ESP32 big LED 10cm hodiny

Seznam článků

Hodiny "big LED" 10cm mají osazené 4ks segmentovek SC40-18SRWA Kingbright. Jsou řízeny procesorem ESP32 a napájeny stejnosměrným zdrojem 12V. Hodiny lze programovat pomocí UARTu, nebo po nahrání verze FW-1.0 a vyšší i pomocí www stránky. Hodiny obsahují 3 tlačítka. Dvě pro umožnění přepnutí ESP32 do režimu "boot", kdy je možné přes UART nahrát kód. Třetí tlačítko v případě stisknutí na dobu delší než 2 vteřiny vyvolá AP manažera pro nastavení základních parametrů (Připojení k Wi-Fi síti a adresu NTP serveru). Hodiny po zapnutí napájecího napětí zobrazí na dobu 2 vteřiny na všech digitech číslo 8888 s efektem "fade-in". Toto slouží pouze pro kontrolu všech segmentů, zda jsou v pořádku. Následně se zobrazí na displeji stav "UIFI", kdy se hodiny snaží připojit k Wi-Fi síti. Po připojení se zobrazí text "ntP" pro načtení času z NTP serveru. Po úspěšném načtení se již zobrazuje aktuální přesný čas. V případě, že se nepodaří načíst data z NTP serveru, tak se zobrazí chyba "Err ntP" a následně dojde k restartu hodin. V případě, že se nedaří připojit k Wi-Fi síti, tak se připojení opakuje cca 20x a následně dojde k restartu hodin (po dobu pokusu o připojení k Wi-Fi běhá dokola celých hodin jeden segment).

Parametry obvodu

Napájení

  • zdroj 12VDC/min 1A
  • spotřeba cca 7W (při max jasu)

Spotřeba

  • LED zhasnuto < 20 mA (napájení pouze ESP32 a posuvných registrů)
  • LED maximální jas = 750 mA (na všech segmentech svítí 8888)

Řízení času

  • automatická synchronizace s NTP serverem (lze nastavit posun a NTP server)

Zobrazení

  • datum DD.MM.YY
  • čas HH:MM
  • teplota -99 +99°C

Nastavení Wi-Fi sítě

  • po stisknutí tlačítka AP na hodinách se vyvolá na 8 minut lokální Wi-Fi síť - AP manažer, přes kterého nastavíme připojení k požadované Wi-Fi síti

 

ZDARMA

  • bin pro procesor ESP32 v1.0, v1.1

DONATE

  • zdroj + bin pro Arduino IDE (FW-1.0 a vyšší), desky spojů a gerber (Eagle), 3D data pro tiskárnu (STL, GCODE)

Aktuální FW verze

  • FW1.2 - Přidané měření teploty čidlem DS18B20 (-99 až 99 °C) -> mezi pin 3,3V a SCL přidáme rezistor cca 3k3 a povolíme v menu AP manažeru zobrazení teploty. Zobrazení datumu na displeji v čase každé 30-35 vteřiny. Zobrazení teploty v čase každé 36-41 vteřiny. Přidán výpis teploty a osvětlení na web server www.ipadresa_hodin/info.

  • FW1.1 - Oprava textů "Err Wi-FI", pokud není dosud připojeno k Wi-Fi. Oprava správce AP pro připojení k Wi-Fi (nebylo zobrazeno menu). Nastaven časový limit pro AP manažera na 8 minut (ne 4 minuty jako původně). Oprava stmívání PWM (hodnota z fotorezistoru). Oprava chyby v HTML ve správci AP. Přidáno do EEPROM: hostname a heslo do AP, posun času pro UTC a offset denního světla v sec, zap a vyp pro zobrazení datumu na displeji v čase každé 35-40 vteřiny. Přidaná webová stránka v režimu STA "http://IP/info" pro informace Wi-Fi SSID (ke které Wi-Fi je připojeno a síla signálu %). Po této aktualizaci se musí znovu nastavit AP manažer a připojit hodiny k Wi-Fi (hodiny se nastaví na default).
  • FW1.0 - výchozí verze (AP manažer ano, bez nastavení budíku-alarmu)

 

 

Schéma zapojení

Deska spojů

Rozdělená deska (levá a pravá část v případě možnosti výroby pouze do velikosti A4)

Deska spojů (foto prototyp)

Zjištění, že ESP32 nevybudí FET pro spínání PWM katod displeje -> dobastlený optočlen

 

Seznam součástek

označení hodnota odkaz tme.eu za ks ks celkem bez dph
IC6, IC7, IC8, IC9 MIC2981 https://www.tme.eu/cz/details/mic2981_82ywm/drivery-integrovane-obvody/microchip-micrel/ 37,0 Kč 4 148,0 Kč
IC1, IC2, IC3, IC4 74HC595D.118 https://www.tme.eu/cz/details/74hc595d.118/posuvne-registry/nexperia/ 3,8 Kč 4 15,2 Kč
T2 IRF540NSTRRPBF INFINEON TECHNOLOGIES https://www.tme.eu/cz/details/irf540nstrrpbf/tranzistory-s-kanalem-n-smd/infineon-technologies/ 18,0 Kč 1 18,0 Kč
IC5 LM2576S-3.3/NOPB TEXAS INSTRUMENTS https://www.tme.eu/cz/details/lm2576s-3.3_nopb/stabilizator-napeti-obvody-dc-dc/texas-instruments/ 56,0 Kč 1 56,0 Kč
U1 ESP32-WROOM-32U (4MB) ESPRESSIF https://www.tme.eu/cz/details/esp32-wroom-32u/moduly-iot-wifi-bluetooth/espressif/esp32-wroom-32u-4mb/ 97,0 Kč 1 97,0 Kč
U1 ant Anténa; Bluetooth,WiFi,ZigBee; 4dBi; lineární; 34,9x9x0,1mm; U.F https://www.tme.eu/cz/details/1461530100/anteny-wifi-bluetooth/molex/ 51,0 Kč 1 51,0 Kč
R1, R2, R3, R5 10k 1206 https://www.tme.eu/cz/details/ar1206-10k-0.1%25/presne-rezistory-smd-1206/viking/ar06btcv1002/ 0,5 Kč 4 2,0 Kč
R4 Fotorezistor 10k https://www.tme.eu/cz/details/pgm1201/fotorezistory/token/ 21,0 Kč 1 21,0 Kč
R8 1k 1206 https://www.tme.eu/cz/details/cq1206-1k-1%25/rezistory-smd-1206/royal-ohm/cq06s4f1001t5e/ 0,5 Kč 1 0,5 Kč
R7, R9 220Ohm 1206 https://www.tme.eu/cz/details/rc1206fr-07220r/rezistory-smd-1206/yageo/rc1206fr-07220rl/ 0,5 Kč 2 1,0 Kč
R10 100Ohm 1206 https://www.tme.eu/cz/details/cq1206-100r-1%25/rezistory-smd-1206/royal-ohm/cq06s4f1000t5e/ 0,5 Kč 1 0,5 Kč
R6 0Ohm 1206 https://www.tme.eu/cz/details/rc1206jr-070r/rezistory-smd-1206/yageo/rc1206jr-070rl/ 0,2 Kč 1 0,2 Kč
C2, C3, C4 100nF 1206 https://www.tme.eu/cz/details/12061c104k4t2a/kondenzatory-mlcc-smd-1206/avx/ 3,0 Kč 3 9,0 Kč
T1, T3 2N7002E SOT23 https://www.tme.eu/cz/details/2n7002e-7-f/tranzistory-s-kanalem-n-smd/diodes-incorporated/ 1,8 Kč 2 3,6 Kč
OK1 4N35M DIL6 https://www.tme.eu/cz/details/4n35m-l/optocleny-analogovy-vystup/liteon/4n35m/ 8,6 Kč 1 8,6 Kč
BOOT, EN, SET switch spst SMD 6mm https://www.tme.eu/cz/details/1301.9320/mikrospinace-tact/schurter/ 6,2 Kč 3 18,6 Kč
F1 0ZCJ0075AF2E 750mA PTCFUSE-1206 https://www.tme.eu/cz/details/0zcj0075af2e/polymerove-pojistky-smd/bel-fuse/ 3,7 Kč 1 3,7 Kč
REP1 LDBZEN1205 repropiezo https://www.tme.eu/cz/details/ld-bzen-1205/elektromag-signalizatory-bez-generatoru/loudity/ 6,7 Kč 1 6,7 Kč
LED1, LED2 OS5RE387E1U 40mA 8mm https://www.tme.eu/cz/details/os5re387e1u/led-diody-tht-8mm/optosupply/ 18,0 Kč 2 36,0 Kč
DS1, DS2, DS3, DS4 SC40-18SRWA (shop mouser) https://cz.mouser.com/ProductDetail/Kingbright/SC40-18SRWA/?qs=DkZGzo4b%252BTLmwpvG%2FujOSA%3D%3D 230,0 Kč 4 920,0 Kč
D1, D2 SK210 Schottky; SMD; 100V; 2A; SMB https://www.tme.eu/cz/details/sk210/diody-schottky-smd/dc-components/ 1,7 Kč 2 3,4 Kč
D3 red 1206 https://www.tme.eu/cz/details/osr51206c1e/diody-led-smd-barevne/optosupply/ 1,2 Kč 1 1,2 Kč
C1 1000uF/10V  https://www.tme.eu/cz/details/gt1000_10/elektrol-kondenzatory-tht-s-niz-imped/samxon/gt-1000u-10v/ 2,4 Kč 1 2,4 Kč
K2, K3 PSH02-04W https://www.tme.eu/cz/details/zl263-4sg/konektory-hrebinky/connfly/ds1024-1-4rf1/ 3,3 Kč 2 6,6 Kč
L1 HPI1260-101 FERROCORE https://www.tme.eu/cz/details/hpi1260-101/vykonne-tlumivky-smd/ferrocore/ 21,2 Kč 1 21,2 Kč
K1 Svorkovnice do plošného spoje; úhlová 90°; 3,5mm

https://www.tme.eu/cz/details/tb-3.5-p-2p_gy/svorkovnice-do-plosnych-spoju/ninigi/

6,3 Kč 1 6,3 Kč
          1883 Kč

Programování ESP32 z Arduina

K vložení programu do procesoru ESP32 jsem použil zakoupený programátor https://www.tme.eu/cz/details/wsh-11325/konvertory/waveshare/11325/

U tme.eu stojí cca 90,-. Programátor stačí připojit k USB počítače a druhou stranu zasunout do desky hodin (využívají se pouze piny: Rx,Tx,Gnd).

Programování se provádí následovně (sekvence) -> na programátoru není jumper spojen ani s 5V, ani s 3V3! (hodiny mají svoje napájení)

  • máme připojený programátor do USB a desky hodin
  • v Arduinu připravený program pro nahrání do hodin (použito při prototypu: Arduino IDE 1.8.13 + Board 1.0.5 + HW DOIT ESP32 DEVKIT V1 https://github.com/espressif/arduino-esp32
  • na desce hodin podržíme současně tlačítko "boot" a "en-reset", zapneme napájecí zdroj 12V pro hodiny a uvolníme tlačítko "en". Tím přepneme ESP do režimu uploadu
  • v Arduinu klepneme na tlačíko "nahrát"
  • po úspěšném nahrání stiskneme tlačítko "en" pro provedení restartu cpu ESP32
  • pokud necháme připojený programátor a v Arduino IDE si zapneme sériový monitor (115200bd), tak uvidíme debug výpis co se děje

Nastavení připojení k Wi-Fi

  • stiskneme na dobu delší než 2 vteřiny prostřední tlačítko "Wi-Fi", které vyvolá spuštění AP (Access Point) manažeru. Na LED displeji se zobrazí text "AP" a následně "IP" adresa "192.168.1.1"
  • na našem mobilu, tabletu, nebo notebooku vyhledáme Wi-Fi síť, která se jmenuje "ESP32_BIG_LED_SN1"
  • klikneme pro připojení k uvedené síti -> heslo je "12345678"
  • otevřeme webový prohlížeč a zadáme IP adresu "http://192.168.1.1"
  • následně nastavíme požadované parametry (Připojení k Wi-Fi síti, NTP server...) po uložení parametrů (Wi-Fi a NTP server) provedeme restart hodin (v AP manažeru, nebo na desce hodin)
  • výchozí NTP server je nastaven na "europe.pool.ntp.org"

3D krabička

Krabička je vytištěna na 3D tiskárně "Prusa i3MK3". Tato tiskárna nemá tiskovou plochu stejně velkou jako moje hodiny, tak jsem krabici rozdělil na dvě stejné části. Tisk každé části (jedna polovina + jeden držák) trval cca 8 hodin. V polovině jsou obě poloviny sesazeny pomocí kousku cuprextitu.

Konečně jsou tady :-) můžu udělat finál

Attachments:
Download this file (74HC_HCT595.pdf)Katalogový list[74HC595]442 kB86 Downloads2021-02-27 08:13
Download this file (binfw1.1.zip)Program pro procesor ESP32[FW1.1]458 kB93 Downloads2021-05-11 13:08
Download this file (MIC2981-82-DTE.pdf)Katalogový list[MIC2981]443 kB123 Downloads2021-02-27 08:13
Download this file (SC40-18SRWA-29738.pdf)Katalogový list[SC40-18SRWA Kingbright]249 kB110 Downloads2021-02-27 08:12