Toto zařízení zobrazuje informace (text) z SD karty (včetně české diakritiky), dále zobrazuje teplotu a vlhkost vzduchu (možnost i připojení venkovního čidla DS18B20). Rychlost posuvu textu se dá nastavit trimrem na desce. LED panel mění intenzitu svitu dle okolního osvětlení (ve dne pálí naplno a v šeru ubere :-). Ve verzi HW 3 a vyšší se ledmatrix panel synchronizuje s časem NTP z Internetu (nastavuje zároveň obvod DS1307, který je zálohován baterií CR2032 - čas tedy poběží i bez připojení k Internetu), nastavení budíku. Obvod může sloužit jako reklamní informační panel, nebo "fajnové" hodiny do pokojíku...
Novinka - DONATE (v příloze navíc data pro 3D rámeček pro umístění LED matrixu a držák LED matic 1x4ks) G-Code pro PETG materiál, STL, Autodesk Fusion 360 zdroj
Parametry - HW verze 1 ZDARMA (bez datumu, času a tlačítek)
- napájení: 5V DC 1A svorkovnice
- měření teploty: čidlo DHT11 0 - 50 °C, 20% - 90%
- přesnost měření: vlhkost: +/- 5%, teplota> +/- 2°C
- SD karta: mikro SD karta formát FAT32 otestováno s kartou Sandisk Ultra 8GB (také 2GB no name karta)
- přehrávaný soubor na kartě: jakýkoliv text komplet ASCI tabulka (včetně cz znaků) mimo podivné znaky, ty se nezobrazují (příklad: ASCI 0187, 0188 atd.) Pokud v souboru text.txt nic není napsáno bude se zobrazovat pouze teplota a vlhkost
- název souboru na SD kartě: text.txt (na kartě mohou být i jiné soubory například videa atd, ale pouze soubor text.txt bude přehrán)
- chybová hlášení: v případě, že není vložena karta. V případě chybějícího souboru text.txt
Parametry - HW verze 2 DONATE (v příloze navíc deska spojů eagle+gerber, vrtací plán plexisklo, zdrojový program pro procesor, build, hex)
- napájení: 5V DC 1A USB konektor typ B 90°
- měření teploty: čidlo DHT11 0 - 50 °C, 20% - 90%
- přesnost měření: vlhkost: +/- 5%, teplota> +/- 2°C
- SD karta: mikro SD karta formát FAT32 otestováno s kartou Sandisk Ultra 8GB (také 2GB no name karta)
- přehrávaný soubor na kartě: jakýkoliv text komplet ASCI tabulka (včetně cz znaků) mimo podivné znaky, ty se nezobrazují (příklad: ASCI 0187, 0188 atd.) Pokud v souboru text.txt nic není napsáno bude se zobrazovat pouze teplota a datum s časem.
- název souboru na SD kartě: text.txt (na kartě mohou být i jiné soubory například videa atd, ale pouze soubor text.txt bude přehrán)
- chybová hlášení: v případě, že není vložena karta. V případě chybějícího souboru text.txt
- obvod reálného času: DS1307 nastavení datumu a času (zálohováno baterií CR2032 3V)
- nastavení času: 2x tlačítko (1x menu pro posun, 1x tlačítko plus pro přičítání hodnot)
Parametry - HW verze 3 DONATE (v příloze navíc deska spojů eagle+gerber, vrtací plán plexisklo, zdrojový program pro procesory, build, hex, bin)
- napájení: 5V DC 1A USB konektor typ B 90°
- měření teploty: čidlo DHT11 0 - 50 °C, 20% - 90%
- přesnost měření: vlhkost: +/- 5%, teplota> +/- 2°C
- měření teploty 2: DS18B20 -55 až +125°C +/- 0,5°C
- SD karta: mikro SD karta >= 2 Gb formát FAT32 otestováno s kartou Sandisk Ultra 8GB (také 2GB no name karta)
- přehrávaný soubor na kartě: jakýkoliv text komplet ASCI tabulka (včetně cz znaků) mimo podivné znaky, ty se nezobrazují (příklad: ASCI 0187, 0188 atd.) Pokud v souboru text.txt nic není napsáno bude se zobrazovat pouze teplota a datum s časem (případně IP adresa a teplota z DS18B20).
- název souboru na SD kartě: text.txt (na kartě mohou být i jiné soubory například videa atd, ale pouze soubor text.txt bude přehrán)
- chybová hlášení: v případě, že není vložena karta. V případě chybějícího souboru text.txt, chyba RTC I2C
- obvod reálného času: DS1307 nastavení datumu a času (zálohováno baterií CR2032 3V)
- nastavení času: 2x tlačítko (1x menu pro posun, 1x tlačítko plus pro přičítání hodnot)
- Wi-Fi: obvod ESP8266E pro připojení k Internetu -> načtení datumu a času automaticky (seřizování RTC obvodu DS1307), možnost nastavení na webové stránce (viz foto níže)
- oprava: otočeno přidávání rychlosti textů opačně (max je nyní vpravo a min vlevo)
Parametry - HW verze 4 DONATE (v příloze navíc deska spojů eagle+gerber, zdrojový program pro procesory, build, hex, bin)
- napájení: 5V DC 1A USB konektor typ B 90°
- měření teploty: čidlo DHT11 0 - 50 °C, 20% - 90%
- přesnost měření: vlhkost: +/- 5%, teplota> +/- 2°C
- měření teploty 2: DS18B20 -55 až +125°C +/- 0,5°C
- SD karta: mikro SD karta >= 2 Gb formát FAT32 otestováno s kartou Sandisk Ultra 8GB (také 2GB no name karta)
- přehrávaný soubor na kartě: jakýkoliv text komplet ASCI tabulka (včetně cz znaků) mimo podivné znaky, ty se nezobrazují (příklad: ASCI 0187, 0188 atd.) Pokud v souboru text.txt nic není napsáno bude se zobrazovat pouze teplota a datum s časem (případně IP adresa a teplota z DS18B20).
- název souboru na SD kartě: text.txt (na kartě mohou být i jiné soubory například videa atd, ale pouze soubor text.txt bude přehrán)
- chybová hlášení: v případě, že není vložena karta. V případě chybějícího souboru text.txt, chyba RTC I2C, pokud není na webu zapnutá žádná možnost zobrazení (teplota, datum, čas...)
- obvod reálného času: DS1307 nastavení datumu a času (zálohováno baterií CR2032 3V)
- nastavení času: 2x tlačítko (1x menu pro posun, 1x tlačítko plus pro přičítání hodnot)
- Wi-Fi: obvod ESP8266E pro připojení k Internetu -> načtení datumu a času automaticky (seřizování RTC obvodu DS1307), možnost nastavení na webové stránce
- Alarm: přidána funkce budíku (alarmu), pokud je alarm aktivní lze ho ukončit tlačítkem +
- oprava chyb a nové funkce: přidán pípák na desku spojů, přidané tlačítka pro ESP8266 (reset, default, upload), přepracován Wi-Fi manažer, ukládání hesla do sha1 namísto prostého textu), změna rychlosti komunikace mezi oběma CPU. oprava nalezených chyb
Aktuální FW: ESP 4.0.0-12.2.2018, ATMEGA 4.0.0-12.2.2018 (nelze použít ESP4 a například ATMEGA3 -> nutné vyměnit FW v obou CPU na FW4!)
Hodiny lze provozovat i bez ESP8266 (pouze se osadí část s ATMEGA328), čas se načítá z RTC DS1307 namísto z webu (který synchronizuje RTC)
Upozornění FW: pro ATMEGA x.x.x musíme použít ve správci desek verzi Arduino 1.6.21 (desky >1.6.21 v překladači jsou nějaké změny a v novějších verzích nelze udělat kompilaci -> vyběhne problém).
Schéma zapojení
Deska spojů
Postup osazení desky (fotografie)
Změříme napájecí napětí pro procesor ESP8266 (pokud je v rozmezí 3 až 3,3V můžeme obvod osadit do desky)
Před vložením procesoru Atmega 328 a obvodu času RTC DS1307 nahrajeme program do ESP8266 (využíjeme Arduino převodník: USB na serial). Připojíme USB převodník do PC a dále na piny GND, Rx, Tx na desce matrixu. Připojíme USB kabel (B) do desky matrixu (slouží jako napájení matrix desky). Spustíme Arduino IDE, nastavíme obvod ESP8266 12E generic, vybereme USB port převodníku. Na desce matrixu stiskneme současně tlačítka: SW3 (reset) a SW4 (upload) -> zůstane slabě svítit rudá LED, uvolníme obě tlačítka (ESP je připravené k vložení kódu). V Arduinu stiskneme tlačítko nahrát...
Po vložení kódu do ESP8266 můžeme osadit do patic ostatní obvody (pozor na orientaci)
Dalším krokem je propojení řídící desky se 4ks 8x8 LED displeji (matrix 8x8)...
1) vodiče odizolujeme (potřebujeme 3x5ks cca 8cm dlouhých a 5ks cca 25cm dlouhých vodičů - lanek)
2) vodiče stočíme rukou (odizolovanou živou část) a pocínujeme (cín+kalafůna v trubičkové pájce -> cín přikládáme k vodiči spolu s páječkou. Nikoliv cín na hrot páječky a následně na vodič!)
3) vodiče zkrátíme na cca 1-2mm
4) vodiče připájíme na desky displejů
Vždy propojujeme z jednoho matrixu OUT do dalšího IN (vodiče: VCC, GND, DOUT, CS, CLK <-> VCC, GND, DIN, CS, CLK) jako na obrázku
Displej vpravo je první zapojený z desky řízení, displej vlevo je poslední (tedy 4 matrix). Vše propojeno spolu pomocí 5 vodičů (IN-OUT-IN-OUT...).
Mechanická část (připevnění řídící desky a LED MATRIX na podkladovou desku)
Vrtací šablona pro snadnější nalezení otvorů.
"Důlčíkem" označíme středy děr pro následné vrtání.
Rozměříme, vyvrtáme na desce díry pro uchycení 4ks displejů (Matrixů 8x8)
Pokud máme možnost přestříkáme desku černou matnou barvou.
Nebo použijeme 3D držák matic, na který přišroubujeme 8x8 LED matrix moduly (plošné spoje) a ten následně pomocí dvou šroubů uchytíme na základovou desku.
3D rámeček
Na tiskárně Pruša I3 MK2 je vytištěn rámeček z PETG materiálu, do kterého elegantně usadíme naše LEDmatrix hodiny.
Nastavení v souboru G-code je pro materiál PETG Devil Design 220/65°C OPTIMAL 150um. Tisk trvá cca 10 hodin. Spotřeba materiálu PET-G je 82g.
Nastavení hodin při prvním zapnutí a připojení k Wi-Fi (Wi-Fi manažer)
Náhledy z webového rozhraní
Osazení desky spojů (foto)
Tyto fotografie jsou pořízeny před finální distribucí HW3 desky (chybí WiFi status LED na desce, chybí jumper pro flash, jumper pro reset ESP a konektor pro DS18B20 teplotní čidlo. ostatní je stejné jako na foto níže)
Používám tento USB/UART převodník (zapojuji GND BLK, RX, TX nic více!)
Schéma zapojení HW verze 3
Obvod ESP8266
Deska spojů HW verze 3
Webové rozhraní
Nastavení a první zprovoznění
Výchozí heslo do webové administrace je "admin"
Pokud máme desku osazenou (verze vše, nebo bez ESP8266), připojíme USB zdroj 5V a změříme jako na fotografiích napájecí napětí: 5V procesoru a RTC DS1307, 3V z baterie CR2032 (v případě použití ESP8266 napětí 3,1V). Pokud je napájení v pořádku osadíme do desky obvod ESP8266 a připojíme na sériový programátor (viz svorky na obrázku). ESP naprogramujeme z prostředí Arduino IDE (nezapomeneme před zapnutím napájení propojit svorku "flash" se zemí). Vypneme zdroj 5V a do patic osadíme naprogramovaný procesor Atmega 328 a dále obvod reálného času DS1307. Pomocí 5 žilového kabelu propojíme kaskádně maticové LED zobrazovače (matrix).
Zapneme napájecí napětí (zdroj 5V) a sledujeme zda obvod pracuje dle těchto bodů:
- provede se test maticového LED displeje (rozsvítí se všechny LED diody)
- provede se test řízení jasu LED displeje (všechny LED diody se společně ztlumí na minimum)
- provede se test I2C obvodu RTC (Real Time Clock) DS1307 -> Pokud je obvod na adrese 0x68 nalezen a baterie je OK pokračuje se dál. Pokud chybí baterie, nebo není nalezen RTC obvod DS1307 bude na displeji rotovat text: Chyba: RTC!
- provede se test nastavení času RTC obvodu -> Pokud byl čas již někdy nastavován pokračuje se dál. Pokud není čas seřízen automaticky se vyvolá menu pro nastavení času pomocí tlačítek (v pořadí den, měsíc, rok, hodina, minuta, uložit). Na displeji bude rotovat text: Nastavení Pokud stiskneme tlačítko označené jako "menu" posuneme se na nastavení dne. Na displeji bude rotovat text: Den pokud stiskneme tlačítko označené jako "plus" posuneme den o +1 (tlačítko můžeme držet a hodnota bude přirůstat automaticky). Pokud stiskneme tlačítko označené jako "menu" posuneme se na nastavení měsíce. Na displeji bude rotovat text: Měs pokud stiskneme tlačítko označené jako "plus" posuneme měsíc o +1 (tlačítko můžeme držet a hodnota bude přirůstat automaticky). Pokud stiskneme tlačítko označené jako "menu" posuneme se na nastavení roku. Na displeji bude rotovat text: Rok pokud stiskneme tlačítko označené jako "plus" posuneme rok o +1 (tlačítko můžeme držet a hodnota bude přirůstat automaticky). Výchozí nastavení datumu je 1. 1. 2017. Pokud stiskneme tlačítko označené jako "menu" posuneme se na nastavení hodiny. Na displeji bude rotovat text: Hod pokud stiskneme tlačítko označené jako "plus" posuneme hodinu o +1 (tlačítko můžeme držet a hodnota bude přirůstat automaticky). Pokud stiskneme tlačítko označené jako "menu" posuneme se na nastavení hodiny. Na displeji bude rotovat text: Min pokud stiskneme tlačítko označené jako "plus" posuneme minutu o +1 (tlačítko můžeme držet a hodnota bude přirůstat automaticky). Pokud stiskneme tlačítko označené jako "menu" vyskočíme z nastavení (do obvodu RTC se uloží nastavené údaje na displeji odrotuje text: OK a zařízení se restartuje)
- provede se výpis verze programu a na displeji odrotuje text př 23.3.2017 verze 3.0: 230317-3.0
- provede se test vložení mikro SD karty do slotu -> Pokud není karta vložena, nebo není ve formátu FAT32 bude na displeji rotovat text: Chyba SD! Pokud je karta vložena a nalezena pokračuje se dál
- v tomto bodě začíná rotace výpisů: první se zobrazí datum a čas, teplota z čidla DS18B20 (pokud není čidlo nalezeno bude na displeji text: Chyba DS18B20!), teplota a vlhkost z čidla DHT11 na plošném spoji, IP adresa Wi-Fi modulu, textový soubor text.txt uložený na SD kartě. Pokud na SD kartě chybí soubor text.txt bude na displeji text: Chyba text.txt!
- pokud nemáme osazen modul ESP8266 nebude se zobrazovat IP adresa a teplota z čidla DS18B20. Pro možnost nastavit si části zpráv, které chceme vypisovat je nutný obvod ESP a WiFi připojení, kde v záložce "nastavení" zvolíme požadované vlastnosti (viz foto web rozhraní výše)
Vpřípadě, že máme osazen modul ESP8266 (Wi-Fi připojení k Internetu)
Ihned po zapnutí napájení se modul snaží připojit k WiFi síti (pokud již modul WiFi síť zná trvá připojení cca 4 vteřiny). Než LED displej provede všechny testy a spustí se přehrávání je již ESP v síti a má načtený NTP čas...
Stavy LED diody na ESP8266 pinu GPIO13 (rudá SMD LED na plošném spoji, nebo vyvedená na řadový konektor EXT module)
- 1x bliknutí – snaží se připojit do sítě WiFi, nebo spustit nakonfigurovaný AP
- 2x bliknutí – nepodařilo se připojit, nebo byla ručně vynucená konfigurace – v tomto okamžiku běží konfigurační AP se SSID ESPPBSetup_xxxxxxx
- 3x bliknutí – připojeno do sítě, normální běh skriptu v ESP
Pokud WiFi modul není připojen (nebo ještě nikdy nebyl) do WiFi sítě vyvolá se AP režim, kde vybereme dostupnou síť v seznamu nalezených sítí. Vybereme SSID síť, zvolíme název zařízení (například matrix) pro netbios, vložíme heslo a uložíme...
Přesný postup připojení k WiFi
Po zapnutí napájení za cca 30 sekund proskenuj chytrým telefonem (nebo Macem pokud to jde, ale raději telefonem) okolní WiFi sítě. Měla by se tam objevit síť s názvem ESPPBSetup_XXXXXX, kde ty XX jsou nahrazený MAC adresou modulu. Pokud ano, jdeme dál, pokud ji nenajdeš, tak musíme hledat problém…
Pokud máš WiFi síť s ESP
- Připoj se k tomu SSID (nejlíp telefonem…) – připojení je bez hesla
- Otevři na telefonu prohlížeč a zadej URL http://192.168.4.1
- Klikni na tlačítko s přesměrováním na konfiguraci
- Na konfigurační stránce vyber Tvůj AP, na který se normálně připojuješ – automaticky se doplní SSID a zadej heslo – je taky dobrý zadat nějaký název vlastního zařízení, k tomu slouží pole „Jméno zařízení“ – třeba jen ESP
- Nechej uložit konfiguraci a restartovat ESP (udělá automaticky, trvá to cca 10 sekund)
Reset konfigurace s nastavením WiFI sítí
Před zapnutím zařízení propojíme pin GPIO12 se zemí 0V a počkáme cca 20 sec vyvoláme totální reset ESP připojení k síti
Video - finální druhá verze
Postup osazování plošného spoje - druhá verze (finalizace stavebnice)
Vrtací plán pro plexisklo a základovou desku
Seznam součástek - druhá verze (datum, čas, teplota, vlhkost, SD karta, jas, rychlost)
Schema zapojení druhé verze (s datumem a časem)
Deska spojů
Foto prototypu druhé verze
Video pohled na zařízení - druhá verze
Schema zapojení první verze (bez datumu a času)
Deska spojů první verze (bez datumu a času)
Deska LED MATRIX 8x8 LED s MAX7219
Deska SD karty
Foto prototypu první verze
Video pohled na zařízení (pokud není vložena SD karta, pokud není soubor text.txt a ostatní) - první verze
Pro připojení externího čidla teploty DS18B20 připojíme 3 vodiče dle obrázku níže.