Sdílejte chiptron.cz na sociálních sítích



RSS feeds

Meteostanice MeteoV2 WiFiTisk

Hledání vhodného projektu, který by pomohl při vysvětlování základních pojmů a principů nemusí být jednoduché.

Zdrojové kódy příkladů, dokumentace a soubory pro 3D tisk jsou dostupné zde: https://github.com/petus/ESP12E-Meteostation-v2.0

Nová verze: Meteo v4.1 - Univerzální deska s ESP12E/ESP07/ESP08

Je spousta stavebnic, které vás dokáží vést průběhem vašeho bádání. Stavebnice má ale i své limity a po čase už vám zůstane jenom v šuplíku, bez dalšího praktického využití.
Tato meteo deska má své využití i v jiných projektech díky své univerzálnosti.


Obr. 1: Kompletní plošný spoj meteostanice


Projekt meteostanice Meteo-V2 WiFi byl navržen tak, aby kromě samotné stavebnice meteostanice, mohla být využita i na další projekty.

Nová verze: Meteo v4.1 - Univerzální deska s ESP12E/ESP07/ESP08

Při rozhodování, jaká bude základní součástka – mikrokontrolér, byla velmi důležitá konektivita s okolním světem. Posílat data po kabelu pomocí UART sběrnice nebo I2C nepatří mezi efektivní řešení.
Proto jsem vybral populární čip obsahující WiFi rozhraní – ESP8266. Tento čip je dodáván v nepřeberném množství modulů nejrůznějších velikostí.

Možná znáte vývojovou desku NodeMCU obsahující modul ESP12E. Vybral jsem tedy stejný typ, ESP12E, pro můj návrh plošného spoje, který bude splňovat přesně ty požadavky, které od toho očekávám.
Možnost nabíjení z nejrůznějších zdrojů, vyvedená I2C sběrnice na několik pinových hřebínků, připojení čidla s analogovým výstupem přes dělič napětí, plošný spoj pro krabičku vytisknutou na 3D tiskárně.

Nová verze: Meteo v4.1 - Univerzální deska s ESP12E/ESP07/ESP08

Celou stavebnici samozřejmě můžete postavit na nepájivém poli, ale jako finální použití to nevypadá pěkně. Stavebnice používá zejména součástky typu SMD.

Osazení plošného spoje

Součástky podle soupisu osaďte na plošný spoj. Kondenzátor C1 musí být s nízkým Low ESR.


Tab. 1: Soupis názvů a hodnot součástek



Obr. 2: Deska plošného spoje s vyznačenými součástkami


Napájení meteostanice:

Napájecí napětí ESP8266 a dalších čidel připojených k čipu je 3,3V.

Deska je připravena na napájení skrze mini USB konektor, externího zdroje s jmenovitým napětím 3,3V přes dvoupinový hřebínek a externího zdroje o napětí až 16V. Opět přes dvoupinový hřebínek.

Deska obsahuje LDO stabilizátor LF33 (využitý při napájení z mini USB a externího zdroj s jmenovitým napětím až 16V) s výstupním proudem až 500 mA. To je dostatečný proud na pokrytí spotřeby ESP8266 i dalších připojených čidel.

Programování:

Čip ESP8266 je podporován i v Arduino IDE. Kód tedy můžete psát stejně, jako byste psali kód pro Arduino desky typu Arduino Uno, Nano nebo třeba Mega.

K programování ESP8266 je potřeba stáhnout knihovnu do Arduino IDE.
Postupujte následovně, klikněte na Soubor -> Vlastnosti -> v položce Spravce dalších desek URL vložte následující odkaz
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Stisňěte OK a přejděte na Nástroje -> Vývojová deska -> Manažér desek a do vyhledávacího pole zadejte ESP8266


Obr. 3: Knihovna pro ESP8266


Po stažení knihovny byste měli najít vzorové příklady v Soubor -> Příklady
V Tools -> Board vyberte desku NodeMCU v1.0.

V případě použití NodeMCU stačí zapojit microUSB kabel do vývojové desky NodeMCU.
Pokud máte můj plošný spoj, můžeme přejít k fyzickému propojení desky a programátoru.
Jako programátor nám poslouží USB-UART převodník.

Například tento: https://www.ebay.com/itm/CP2102-MICRO-USB-to-UART-TTL-Module-6Pin-Serial-Converter-STC-Replace-FT232-NEW/401088539687


Obr. 4: Fotografie USB-UART převodníku s DTR vývodem


Pokud disponujete USB-UART převodníkem, který má vyvedený vstup DTR, bude celé programování jednodušší.


Tab. 2: připojení USB – UART převodníku k desce



Obr. 5: Zvýrazněný hřebínek určený pro napájení desky (5 až 16V)



Obr. 6: Zvýrazněný hřebínek určený pro připojení USB – UART převodníku (programování desky)


Připojíme kabel s mini USB konektorem do desky meteostanice a připojíme USB - UART programátor. Nahrajeme vzorový program blikání LED a vyzkoušíme.

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

Most Arduinos have an on-board LED you can control. On the Uno and
Leonardo, it is attached to digital pin 13. If you're unsure what
pin the on-board LED is connected to on your Arduino model, check
the documentation at http://arduino.cc

This example code is in the public domain.

modified 8 May 2014
by Scott Fitzgerald
*/


// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}


Ti z vás, kteří nemají USB-UART převodník s DTR pinem, nezoufejte. Připojte převodník tak, jak je popsáno v tabulce, připojte pin FLASH na GND a zmáčkněte tlačítko RESET a držte jej. Při nahrávání čekejte na chvíli, kdy se v terminálu Arduino IDE objeví nápis „Nahrávání“, v ten moment tlačítko RESET uvolněte.

Po nahrání kódu by měla začít blikat LED o periodě 1 sekundy.

Připojení čidel:

Jak jsem už zmínil, deska má vyvedenou I2C sběrnici na čtyři čtyřpinové hřebínky a také jeden analogový vstup připravený pro čidlo s analogovým výstupem.

Analogový vstup:
Čip ESP8266 obsahuje pouze jeden analogově-digitální převodník s maximálním vstupním napětím 1V. Pro případ, že by čidlo mělo výstupní napětí vyšší, můžete připájet rezistory R11 a R12, které spolu tvoří dělič napětí.

Výstupní napětí spočítáte pomocí vzorce


Obr. 7: Vzorec pro výpočet výstupního napětí v závislosti na hodnotě vstupního napětí a hodnotách rezistorů


Podrobnější vysvětlení naleznete na wiki https://cs.wikipedia.org/wiki/D%C4%9Bli%C4%8D_nap%C4%9Bt%C3%AD

I2C sběrnice:
Sběrnice I2C je vyvedena na čtyři čyřpinové hřebínky. I2C sběrnice potřebuje ke své funkčnosti pull-up rezistory.
Buď můžete použít interní, ty v čipu ESP8266, nebo zapájet připravené pull-up rezistory na desce označené jako R8 a R9. Maximální délka kabelu není omezena délkou, ale kapacitou vodičů – 400 pF.

Při zapojení více čidel už interní pull-up rezistory nemusí stačit dodávat potřebný proud. V tomto případě je dobré použít ty na plošném spoji. Minimální hodnota rezistoru by měla být 2k7.


Tab. 3: Zapojení I2C čidla k meteostanici



Obr. 8: Umístění a propojení I2C sběrnice na pinový hřebínkách


Já u své meteostanice používám teplotní a vlhkostní čidlo Si7021, použít ale můžete jakékolik, které komunikuje skrze I2C sběrnici. Zde je seznam zajímavých čidel https://chiptron.cz/articles.php?article_id=127

Zobrazení dat:

Data z čidel si můžete zjistit několika způsoby. Pokud si vymyslíte vlastní způsob zobrazení dat, meze se vám nekladou.

- Čtení ze Serial monitor – pokud budete mít neustále připojený USB-UART převodník, můžete si data přečíst na Serial monitoru, který je v Arduino IDE.

- Použití OLED – k meteostanici můžete připojit OLED displej, na kterém se vám budou zobrazovat data. Vzorový kód je na github projektu.

- Odesílání dat na web – díky možnosti pohodlného použití WiFi rozhraní, můžete data odesílat na webstránku – na váš server nebo server někoho jiného, kde si budete data zobrazovat. Já využívám službu tmep.cz. Výsledek vidíte níže.


Obr. 9: Ukázka zobrazení dat na tmep.cz


Krabička:
Krabička je navržena pro tisk na 3D tiskárně. Pokud nemáte možnost si krabičkou vytisknout na 3D tiskárně, deska plošného spoje pasuje do krabičky KM-27.


Obr. 10: Krabička vytištěná na 3D tiskárně


Zdrojové kódy příkladů, dokumentace a soubory pro 3D tisk jsou dostupné zde: https://github.com/petus/ESP12E-Meteostation-v2.0

Líbí se vám projekt a máte zájem o stavebnici? Zakoupit jí můžete na kitman.eprodavac.cz/meteostanice-chiptron-meteov2-wifi-79/



Vzorové příklady a rady

Radiační štít pro čidla
Na fotce níže vidíte instalaci radiačního štítu. Štít doporučuji zejména kvůli ochraně samotných čidel.

Dle dlouhodobých zkušeností: Do radiačního štítu přidejte i malý ventilátor z důvodu stálého proudění vzduchu.

Já použil 5V ventilátor z notebooku a napojil ho na napájení čidla (3.3V).
Radiční štít jsem koupil na epristroje.cz. Platba i dodání bylo bez problémů. Jejich faktury mají QR kód!

Obr. 11: Použití radiačního štítu pro čidla meteostanice


Meteostanice a OLED displej
Na github jsem přidal program, který využívá meteo desku, čidlo teploty a vlhkosti Si7021 a OLED displej 128x64 px. Data se neposílají na váš server, ale jsou zobrazeny na displeji.

Displej připojte na I2C header:
I2C header meteo desky | OLED
c -> SCL (DO)
d -> SDA (D1)
+ -> VCC
GND -> pin bez označení

Pokud váš OLED obsahuje RESET pin, připojte na ho VCC (3.3V)
Odkaz na vzorový kód https://github.com/petus/ESP12E-Meteostation-v2.0/blob/master/ESP12E_meteo_v2.0_Si7021_OLED.ino


Obr. 12: Použití meteostanice s OLED


Uspávání ESP8266 (ESP-12E modulu)
Chcete-li využít možnost uspávat ESP8266 čip, musíte propojit GPIO16 s pinem RESET ESP8266.
K tomu slouží pájecí propojka (solder bridge)


Obr. 13: Vyznačená pájecí propojka sloužící k probuzení ESP8266 ze spánku


Nová verze: Meteo v4.1 - Univerzální deska s ESP12E/ESP07/ESP08

Upozornění

Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.
10,887,373 návštěv