Vánoce s BigClown - teplota/vlhkost/osvětlení, programování přes UART, TAGy
- January 07 2018
- BigClown
- 3675x Přečteno
Další díly seriálu o BigClown:
Vánoce s BigClown - První nastavení, zapnutí a popis některých modulů
Vánoce s BigClown - teplota/vlhkost/osvětlení, programování přes UART, TAGy
V minulém díle seriálu jsem vám ukázal některé moduly - nejdůležitější Core modul, pak LCD modul a Climate modul.
Dalším modulem, který určitě využijete, je TAG modul. Je to jednoduchá deska s pinovými hřebínky do které zapojíte, kromě core modulu, i další moduly. Třeba LCD modul. Po stranách desky jsou 5-ti pinové headery, které slouží k zapojení TAGů.
TAGy jsou malé desky s jednotlivými senzory, které mají (pro BigClown moduly) standardizovaný pinout.
TAGů je celá řada:
NFC tag:
Čip NT3H2111 od NXP s 1kB EEPROM pamětí a pracovním proudem 240 uA.
tag pro měření atmosférického tlaku:
MPL3115A2 také od NXP s měřícím rozsahem 20 kPa to 110 kPa ( -698 až 11,775 m) a přesností ±0.4 kPa.
Spotřeba ve sleep režimu je 2 uA, během měření 40 uA při vzorkovací frekvenci 1Hz.
tag pro měření teploty a vlhkosti:
Čidlo SHT20 firmy Sensirion umí měřít vlhkost (0 % až 100 % s přesností ±2 %) a teplotu (-40 °C až +125 °C s přesností ±0.3 °C). Spotřeba čidla je 10 uA během spánku.
tag pro měření intenzity osvětlení:
OPT3001 od Texas Instruments měří intenzitu osvětlení v rozsahu 0.01 až 83,000 lux se spotřebou 0.3 uA během spánku a 1.8 uA během měření.
tag pro měření teploty:
TMP112 od TI je použit i na Core modulu. Rozsah tohoto čidla je -40 °C až125 °C, v rozsahu 0 °C až 65 °C je přesnost čidla ±0.25 °C, mimo tento rozsah pak ±0.5 °C.
V prvním díle jsme kód nahrávali do Core modulu přes DFU mód. To zahrnovalo přepnutí STM32, který je základem BigClown Core modulu, do jiného boot režimu.
Ve zkratce: Zapojíte Core modul do USB, Zmáčknete tlačítko Reset (R) a Boot (B), pustíte Reset, ale Boot držíte. Windows zahlásí nově připojené zařízení, pustíte Boot tlačítko.
Pak nahrajete váš kód.
To je dost těžkopádné. Proto přejdeme na programování přes USB-UART převodník.
Váš převodník musí mít vyveden vývod DTR.
Zapojení je jednoduché:
USB-UART převodník | BigClown Core modul
TX -> RX
RX -> TX
DTR -> Reset
GND -> GND
a BOOT pin Core modulu připojíte na 3.3V.
Propojíme USB-UART převodník a Core modul. Spustíme BigClown Toolchain a po zkompilování vašeho projektu (příkazem make), kód nahrajeme.
Nejprve si zjistíme číslo portu, ke kterému je převodník připojen. Příkaz:
bcf devices
Jako odpověď se nám objeví například COM7
Pro nahrání pak použijeme příkaz:
bcf flash --device COM7
Na obrázku níže je názorný postup.
Programování přes UART je pomalejší než využití DFU, na druhou stranu se vyhnete tlačítkům reset a boot.
Při použití Tag modulu, rozšiřujícího modulu pro více tagů, vám modul zapojení tagů zjednodušší.
Pokud využijete pouze jeden tag, používat tag modul nemusíte, protože ho můžete připojit přímo do core modulu.
Zapojili jsme tedy tag, core modul a LCD modul, teď stačí napsat kód.
Oba potřebné soubory (application.c a application.h) stačí umísti do složky projektu a podsložky /app. Application.c je zde, application.h zase zde.
Použitý kód je popsán v samotných souborech. Oba soubory opět uložíte do složky vašeho projektu a podsložky /app.
Soubor Application.c je zde, soubor application.h zase zde.
Oba předchozí projekty sloučíme a vytvoříme program, který změří teplotu, tlak i intenzitu osvětlení a vše vypíše na LCD modul.
Application.c soubor je zde, application.h soubor zde.
Soubory uložíte do složky projektu /app.
Posledním příkladem je měření teploty, vlhkosti, intenzity osvětlení a atmosférického tlaku. Data jsou zobrazena na LCD, stejně jako v minulých příkladech.
Na obrázku vpravo jsou zobrazeny údaje z blízké meteostanice a také mé "mini meteostanice" s ESP12E a Si7021.
Oba soubory opět uložte do složky projekty, podsložky /app
Application.c soubor, application.h soubor.