Obsah:
- Krok 1: M5Stack
- Krok 2: Možné aplikácie M5Stack
- Krok 3: M5Stack - piny
- Krok 4: Knižnica DHT
- Krok 5: Správa knižnice Arduino IDE
- Krok 6: Zdrojový kód
- Krok 7: M5StackDHTGraph.ino
- Krok 8: M5StackDHTGraph.ino - nastavenie
- Krok 9: M5StackDHTGraph.ino - slučka
- Krok 10: Súbory
Video: ESP32: M5Stack s DHT22: 10 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Hovorme dnes o úplne špeciálnom ESP32, perfektnom pre internet vecí, ktorým je M5Stack. Vnútri obsahuje ESP32 a dokonca pridáva aj displej, klávesnicu, zosilňovač, reproduktor a batériu. Toto zariadenie teda dokáže nespočetné množstvo vecí. Keď som dostal tento hardvér, mal som už softvér pre ESP32 a portoval som ho iba na displej použitý v tomto projekte, ktorý je iný. Zdrojový kód, ktorý použijeme, je však rovnaký ako v našom videu TEPLOTA A VLHKOSŤ S OLED DISPLEJOM.
V dnešnom okruhu chcem konkrétne zdôrazniť, že tu máme M5Stack s kladným a záporným zapojením, ktorý sa napája na snímač DHT22. Oba sú prepojené pomocou GPIO. Údaje sú zobrazené v grafe.
V tomto článku si predstavíme M5Stack a prediskutujeme jeho aplikácie. Musím zdôrazniť, že toto zariadenie má vstup pre kartu micro SD, 1W reproduktor a zásuvku na batériu a tiež obsahuje interakčné tlačidlá, konektor i2c, USB typu C, exponované IO, dvojpalcový TFT displej, okrem iných funkcií. Je to znázornené na obrázku vyššie. Môžeme povedať, že toto zariadenie je pripravené na IoT, pretože už je vybavené rozhraním Bluetooth a ESP32 WiFi. Obsahuje tiež magnet na prichytenie na kovové povrchy.
Páčilo sa vám M5Stack? Kliknite:
Krok 1: M5Stack
Jednou z inovácií M5Stack je, že ak zložíte chrbát, zmestia sa do vás rôzne moduly s rôznymi funkciami, ako napríklad modul GPS, GSM, LoRa. Toto je znázornené na obrázku.
Nasleduje niekoľko príkladov modulov, od RS485, DC Motor, Maker, Core až po ovládanie krokových motorov.
Toto je skutočne veľmi rýchly spôsob, ako zostaviť prototyp. V dávnych dobách bolo potrebné kúpiť niekoľko tranzistorových čipov a vykonať množstvo zostáv, čo si vyžadovalo veľa času a investícií. Až potom nasledovalo prototypovanie produktu. Práve vtedy sa objavili Arduino a Raspberry, čo sú taniere.
Teraz konečne máme M5Stack, čo je tento uzavretý box pripravený na použitie. To nás oslobodzuje od toho, že musíme vykonať ďalšie nespočetné množstvo krokov.
Ostatné modely M5Stack sú zobrazené na obrázkoch. Máme zariadenie s alfanumerickými, numerickými a hernými klávesnicami. Umožňujú vám pracovať, ako by to bol druh počítača. Máme tiež príklad spusteného softvéru, ktorý je možné okrem Basic naprogramovať aj v programoch MicroPython, Arduino, ESP-IDF, NodeJS.
Krok 2: Možné aplikácie M5Stack
Medzi príkladmi aplikácií M5Stack máme osciloskop, ako vidíte na obrázku. Máme tiež akúsi tabuľku kalkulačiek / rezných nástrojov.
Čo hovoríte na rýchlomer bicykla?
Môže to byť aj diaľkový vrták, ktorý je vytlačený v 3D a diaľkovo monitorovaný pomocou ovládača.
To všetko ukazuje, že ovládanie elektroniky je v dnešnej dobe oveľa dostupnejšie, rovnako ako sa programovanie týchto obvodov stalo jednoduchším.
Krok 3: M5Stack - piny
Zadná strana M5Stack je na tomto obrázku, ktorý ukazuje, že výkon je 5 voltov. Obrázok ďalej odhaľuje, že máme všetko, čo existuje v ESP32, s pripojením.
Krok 4: Knižnica DHT
Použite lib SimpleDHT, ktorý je ten istý, ktorý som použil vo videu: TEPLOTA A VLHKOSŤ S OLED DISPLEJOM.
Krok 5: Správa knižnice Arduino IDE
V „Menu: Skica -> Pridať knižnicu -> Spravovať knižnice“nainštalujeme dve knižnice zobrazené na obrázku nižšie. Nezabudnite, že pred tým všetkým musíte nainštalovať jadro Arduino ESP32. Toto video ukazuje, ako postupovať to: AKO Nainštalovať ARDUINO IDE do ESP32.
Krok 6: Zdrojový kód
Zdrojový kód, ako už bolo spomenuté, je ten istý, ktorý som použil vo videu: TEPLOTNÝ GRAF S OLED DISPLEJOM. Jediná zmena, ktorú som na tomto projekte vykonal, bola vo vzťahu k veľkosti displeja.
Krok 7: M5StackDHTGraph.ino
Zahrneme knižnice M5Stack.h a SimpleDHT.h a definujeme farby používané na displeji, ako aj dátový pin DHT. Tiež zostrojíme objekt na komunikáciu so senzorom, definujeme premennú zodpovednú za údaje a indikujeme hodnotu osi X.
// Libs do M5Stack e DHT #include #include // definicas das cores que serao utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define // konštrutor do objeto para comunicar com o sensor SimpleDHT22 dht; // variável responavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Pokračujeme definíciami polohy osi X a osi Y, súradnicami zobrazovania údajov o teplote a vlhkosti a tiež premennými, ktoré budú ukladať načítané hodnoty. Stále ukazujeme na premennú na tlač grafu na displeji.
// definície polohy a rozlíšenia X a Y #definujte POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // definicio da coordenada onde escreveremos os dad_dex_d_d_ koľko armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 0; // variável que armazenará o valor da coordenada Y para desenharmos uma linha de exemplo // que varia os valores de 1 em 1 int linhaExemplo = 20; int fator = 1; // indikácia sa týka niektorých subtrairemos uma unidade na variável linhaExemplo
Krok 8: M5StackDHTGraph.ino - nastavenie
V programe Setup inicializujeme M5Stack. Definujeme príkazy na kreslenie grafu, nakonfigurujeme farby písma a textu a umiestnime kurzor na písanie.
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (BLACK); // čo môže znamenať viac ako dve rôzne varianty // drawFastVLine (x, y, width, color) line vertikálne M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHITE); // eixo Y // drawFastHLine (x, y, width, color) linha horizontal M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // konfigurácia tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // konfigurácia a kopírovanie textu v texte M5. Lcd.setTextColor (BIELY); // pozícia kurzora para escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // indikácia teploty M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Krok 9: M5StackDHTGraph.ino - slučka
V prvej časti slučky odčítame teplotu a vlhkosť, zmapujeme hodnotu premenných pre umiestnenie do grafu a na obrazovku nakreslíme bod, ktorý odkazuje na tieto hodnoty načítané zo senzora.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatura = temp; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // nutário pois o display tem 240px de altura e separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = mapa (umidade, 0, 100, 0, ALTURA_GRAFICO); // desenha na tela o ponto referente aos valores lidos do sensor M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, RED); M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); // desenha na tela o ponto referente a nossa linha de exemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
Potom definujeme možnosti tlače grafiky na displej.
// aqui controlamos nossa linha de exemplo, quando chega no valor máximo decrementamos o valor // até um valor mínimo determinado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; else if (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // prírastky o lehotách realizácie leituraAtual ++; // se a leitura chegar em 270 (número máximo do eixo X) então limparemos a área do gráfico para voltarmos a desenhar. if (leituraAtual == 270) {// limpa a área toda do gráfico M5. Lcd.fillRect (POS_X_GRAFICO+1, POS_Y_GRAFICO-1, COMPRIMENTO_GRAFICO, ALTURA_GRAFICO-1, BLACK); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // limpa a área onde colocamos o valor da temperatura e da umidade M5. Lcd.fillRect (POS_X_DADOS+50, POS_Y_DADOS, 60, 30, BLACK); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, ČIERNY);
// umiestnenie kurzora para teplota a teplota M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (ČERVENÁ); M5. Lcd.print (temperatura); M5. Lcd.print ((char) 247); // umiestnenie kurzora para escrever a umidade M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); oneskorenie (1000); }
Krok 10: Súbory
Páčilo sa vám M5Stack? Chcete si jeden kúpiť? Prejdite na:
Stiahnite si súbory:
INO
Odporúča:
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou Visuino - jednoduché kroky: 6 krokov
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou programu Visuino - Jednoduché kroky: V tomto návode sa naučíme, ako naprogramovať ESP32 M5Stack StickC s Arduino IDE a Visuino na zobrazenie teploty, vlhkosti a tlaku pomocou snímača ENV (DHT12, BMP280, BMM150)
Teplota a vlhkosť pomocou ESP32-DHT22-MQTT-MySQL-PHP: 7 krokov
Teplota a vlhkosť pomocou ESP32-DHT22-MQTT-MySQL-PHP: Moja priateľka chcela skleník, tak som mu ho vyrobil. Ale chcel som snímač teploty a vlhkosti vo vnútri skleníka. Vygooglil som si príklady a začal experimentovať. Môj záver bol, že všetky príklady, ktoré som našiel, neboli presne také, aké
Ako naprogramovať ESP32 M5Stack StickC s Arduino IDE a Visuino: 12 krokov
Ako naprogramovať ESP32 M5Stack StickC pomocou Arduino IDE a Visuino: V tomto návode sa naučíme programovať ESP32 M5Stack StickC s Arduino IDE a Visuino. Pozrite si ukážkové video
Zostavte zariadenie s teplotným senzorom Apple HomeKit (DHT22) pomocou RaspberryPI a DHT22: 11 krokov
Zostavte zariadenie s teplotným senzorom Apple HomeKit (DHT22) pomocou RaspberryPI a DHT22: Hľadal som lacný snímač teploty / vlhkosti, ktorý by som mohol použiť na monitorovanie toho, čo sa deje v mojom priestore na prechádzanie, pretože som zistil, že túto jar bolo veľmi vlhko , a mal veľa vlhkosti. Hľadal som teda cenovo dostupný senzor, ktorý by som mohol
Displej ESP32 a OLED: internetové hodiny - DHT22: 10 krokov (s obrázkami)
Displej ESP32 a OLED: Internetové hodiny - DHT22: Tento návod je súťaž o súťaž: „GIFs Challenge 2017“, ak sa vám páči, dajte svoj hlas kliknutím na vyššie uvedený banner. Ďakujem pekne!;-) Tento tutoriál je pokračovaním cesty, aby ste sa dozvedeli viac o tomto skvelom zariadení IoT