Uživatelské nástroje

Nástroje pro tento web


attiny84a

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
attiny84a [2021/08/08 23:24] – [Alarm z centrály] martinattiny84a [2021/08/20 22:36] (aktuální) – [Připojení displeje s řadičem SSD1306] martin
Řádek 93: Řádek 93:
 kde 192.168.15.211 je IP adresa přidělená ESP. kde 192.168.15.211 je IP adresa přidělená ESP.
  
-Po zaslání programu do ESP, musí ESP ještě zresetovat ATTINY, aby se spustil bootloader. K tomu je využit pin GPIO2, který je připojen přímo k pinu RESET mikrokontroleru.+Po zaslání programu do ESP, musí ESP ještě zresetovat ATTINY, aby se spustil bootloader. K tomu je využit pin GPIO3 (RX), který je připojen přímo k pinu RESET mikrokontroleru. Volba tohoto pinu je na ESP-01 důležitá, protože během bootu ESP jsou piny GPIO0, GPIO1 a GPIO2 na malou schvilku shozeny na 0, což způsobí i reset ATTINY, který v tu chvíli nechceme. GPIO3 zůstavá v režimu čtení a ATTINY během bootu ESP neresetuje.
  
 ==== Alarm z centrály ==== ==== Alarm z centrály ====
Řádek 128: Řádek 128:
 ==== Schéma zapojení ==== ==== Schéma zapojení ====
  
-{{ :schematic_tiny84esp_2021-08-07_1_.png?400 |}} +{{ :schematic_tiny84esp_2021-08-10.png?600 |}}
  
 {{ ::zapojeni.png?400 |}} {{ ::zapojeni.png?400 |}}
 +
 +==== Uspávání a probouzení ESP-01 ====
 +
 +Existují následující možnosti, jak deaktivovat ESP-01, které je velmi energeticky náročné.
 +
 +  * **Uspávání funkcí ESP.deepsleep()**
 +  * Deaktivace ESP pomocí pinu CH_PD (chip powerdown)
 +  * Připojení regulovaného napětí jen v případě potřeby (Mosfet + optočlen)
 +
 +Při testování těchto možností je zatím funkční jen první varianta s Deep sleepem a následným resetem přes pin ATTINY.
 +
 +Při konkrétní implementaci je nutné brát do úvahy následující možné stavy:
 +
 +  * Oba čipy mohou být deaktivovány. ATTINY "spí" a ESP je také neaktivní
 +  * ATTINY pracuje, ale ESP není aktivní
 +  * Firmware ATTINY je programován, ESP je aktivní a ATTINY je v průběhu programování zresetován
 +  * Oba čipy jsou aktivní
 +
 +**Co nefunguje**
 +
 +  * ATTINY drží pin CH_PD ESP nahoře v době, kdy ho potřebuje. Tato konfigurace zneumožňuje propgramování ATTINY, protože po jeho resetu se shodí i ESP v roli programátora
 +  * GPIO0 a GPIO2 jako reset ATTINY pro programování. Tyto piny jsou na krátkou dobu při bootu ESP shozeny dolů. Pokud se tedy použijí ve funkci resetu pro programování, zresetuje se ATTINY při každém probuzení (bootu) ESP, což znemoňí předání nasbíranách dat centrální řídicí jednotce stanoviště.
 +
 +Pro reset ATTINY je tedy potřeba použít ping GPIO3 - ESP01. Ten zůstává i během bootu v modu vstupu a tedy neshodí ATTINY během probuzení. Tato vlastnost je potřeba k tomu, abychom při probuzení ESP nepřišli o nasbíraná data ze stanoviště.
 +
 +==== Připojení displeje s řadičem SSD1306 ====
 +
 +K ATTINY lze snadno připojit jednoduché jednobarevné OLED displeje přes sběrnici I2C na pinech PA6 (SDA) a PA4 (SCL). ATTINY84 disponuje částečnou hardwarovou podporou I2C sběrnice a komunikace je tedy dostatečně rychlá.
 +
 +Tyto displeje se dají sehnat kolem 40 Kč včetně dopravy.
 +
 +Jednobarevné OLED displeje zobrazují znaky po 8 bitech (1 sloupec řádku). Znakovou sadu můžeme uložit do programové flash paměti a zobrazovat znaky široké např. 6 sloupců.
 +
 +Pozor na konfiguraci na začátku je třeba správně nastavit několik parametrů podle počtu řádek displeje. Parametry se liší u 32 nebo 64 verze.
 +
 +   * SSD1306_SETCOMPINS
 +   * SSD1306_SETPRECHARGE
 +   * SSD1306_SETMULTIPLEX
 +   * SSD1306_SETDISPLAYCLOCKDIV
 +
 +{{ ::img_20210820_223139.jpg?400 |}}
 +==== Mapování pinů na desce čidla ====
 +
 +   * PA6, PA5 - I2C komunikace, UART nebo PWM řízení
 +   * PA4 - SPI sběrnice, je-li potřeba
 +   * PA7 - PWM výstup přes optočlen a tranzistor - OC0B - je-li osazen, jinak běžný vstup / výstup
 +   * PA3 - programování a 1-wire komunikace s ESP01, externí pull-up na 3.3 V
 +   * PA2 - AIN1 - analog komparator
 +   * PA0 - AREF - external analog reference
 +   * PA1 - Analog komparator AIN0
 +   * PB0 - připojení přijímače RF 433 MHz
 +   * PB1 - reset (probuzení) ESP-01
 +   * PB2 - PWM výstup přes optočlen a tranzistor - OC0A - je-li osazen, jinak běžný vstup / výstup
 +
 ==== Zajímavé knihovny ==== ==== Zajímavé knihovny ====
  
attiny84a.1628457899.txt.gz · Poslední úprava: autor: martin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki