Tartalomjegyzék:

ESP32: M5 Verem DHT22 -vel: 10 lépés
ESP32: M5 Verem DHT22 -vel: 10 lépés

Videó: ESP32: M5 Verem DHT22 -vel: 10 lépés

Videó: ESP32: M5 Verem DHT22 -vel: 10 lépés
Videó: M5Stack Core2 ESP32. Карманный программируемый компьютер 2024, November
Anonim
Image
Image
ESP32: M5Töltés DHT22 -vel
ESP32: M5Töltés DHT22 -vel
ESP32: M5Töltés DHT22 -vel
ESP32: M5Töltés DHT22 -vel

Beszéljünk ma egy nagyon különleges ESP32 -ről, amely tökéletes a tárgyak internetéhez, ami az M5Stack. Tartalmazza az ESP32 -t, és még kijelzőt, billentyűzetet, erősítőt, hangszórót és akkumulátort is tartalmaz. Így ez az eszköz számtalan dologra képes. Amikor megkaptam ezt a hardvert, már rendelkeztem szoftverrel az ESP32 -hez, és csak az ebben a projektben használt kijelzőre voltam portolva, ami más. Azonban a forráskód, amelyet használni fogunk, ugyanaz, mint amit a HŐMÉRSÉKLET ÉS PÁRÁS videóban, OLED KIJELZŐVEL.

A mai áramkörben kifejezetten szeretném hangsúlyozni, hogy nálunk van az M5Stack pozitív és negatív kapcsolatokkal, amely DHT22 szenzorral táplálja magát. Mindkettőt GPIO köti össze. Az adatok megjelennek a diagramon.

Ebben a cikkben mutassuk be az M5Stack -et és vitatjuk meg alkalmazásait. Hangsúlyoznom kell, hogy ennek az eszköznek van egy bemenete a micro SD kártyához, egy 1 W-os hangszóró és egy akkumulátor foglalat, valamint interakciós gombokkal, i2c csatlakozóval, C típusú USB-vel, nyitott IO-kkal, két hüvelykes TFT kijelzővel, egyéb jellemzők között. A fenti képen látható. Azt mondhatjuk, hogy ez az eszköz készen áll az IoT -re, mivel már rendelkezik Bluetooth -szal és ESP32 WiFi -vel. Tartalmaz egy mágnest is a fémfelületekhez való rögzítéshez.

Tetszett az M5Stack? Kattintson:

1. lépés: M5Stack

M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack

Az M5Stack egyik újítása, hogy ha leveszi a hátlapot, különböző modulokba helyezhetők, amelyek különböző funkciókkal rendelkeznek, például a GPS -modul, a GSM, a LoRa. Ez látható a képen.

További példáim vannak az alábbi modulokra, az RS485 -től, az egyenáramú motor, a készítő, a mag, a léptetőmotor -vezérlésig.

Ez valójában egy nagyon gyors módja a prototípus összeállításának. A régi időkben több tranzisztoros chip megvásárlására és számos összeszerelésre volt szükség, ami sok időt és befektetést igényelt. Csak ezután jött a termék prototípusa. Ekkor jelent meg az Arduino és a Málna, amelyek tányérok.

Most végre megvan az M5Stack, ami ez a használatra kész zárt doboz. Ez megszabadít minket attól, hogy más számtalan lépést kelljen végrehajtanunk.

A többi M5Stack modell képekben látható. Van egy készülékünk alfanumerikus, numerikus és játékbillentyűzettel. Ezek lehetővé teszik, hogy úgy dolgozzon, mintha egyfajta számítógép lenne. Van egy példa a futó szoftverre is, amely a Basic mellett MicroPython, Arduino, ESP-IDF, NodeJS programozható.

2. lépés: Az M5Stack lehetséges alkalmazásai

M5Stack Lehetséges alkalmazások
M5Stack Lehetséges alkalmazások
M5Stack Lehetséges alkalmazások
M5Stack Lehetséges alkalmazások
M5Stack Lehetséges alkalmazások
M5Stack Lehetséges alkalmazások

Az M5Stack alkalmazások példái között megtalálható az oszcilloszkóp, amint az a képen is látható. Van egyfajta számológép / vágószerszám táblázatunk is.

Mit szólnál egy kerékpáros sebességmérőhöz?

Ez lehet egy távoli fúró is, amelyet 3D -ben nyomtatnak, és egy vezérlés távolról felügyel.

Mindez azt mutatja, hogy az elektronika vezérlése manapság sokkal megfizethetőbb, mint ahogy ezen áramkörök programozása is könnyebbé vált.

3. lépés: M5Stack - csapok

M5Stack - csapok
M5Stack - csapok

Az M5Stack hátulja ezen a képen látható, ami azt mutatja, hogy a teljesítmény 5 volt. A képből az is kiderül, hogy mindennel rendelkezünk, ami az ESP32 -ben létezik, csatlakozással.

4. lépés: DHT könyvtár

DHT könyvtár
DHT könyvtár

Használja a SimpleDHT lib programot, amelyet a videóban használtam: HŐMÉRSÉKLET ÉS PÁRÁS OLED KIJELZŐVEL.

5. lépés: Arduino IDE könyvtár kezelése

Arduino IDE könyvtár kezelése
Arduino IDE könyvtár kezelése

A "Menü: Vázlat -> Könyvtár hozzáadása -> Könyvtárak kezelése" részben telepítsük az alábbi képen látható két könyvtárat. Ne feledje, hogy mindezek előtt telepítenie kell az ESP32 Arduino magját. Ez a videó bemutatja, hogyan kell it: HOGYAN TELEPÍTJÜK AZ ARDUINO IDE -t ESP32 -be.

6. lépés: Forráskód

A forráskód, mint említettük, ugyanaz, mint amit a videóban használtam: HŐMÉRSÉKLETI GRÁF OLED KIJELZŐVEL. Az egyetlen változtatás a projekten a kijelző méretéhez képest történt.

7. lépés: M5StackDHTGraph.ino

Tartalmazzuk az M5Stack.h és a SimpleDHT.h könyvtárat, és meghatározzuk a kijelzőn használt színeket, valamint a DHT adattűt. Ezenkívül létrehozunk egy objektumot az érzékelővel való kommunikációhoz, meghatározzuk a leolvasásokért felelős változót, és feltüntetjük az X tengely értékét.

// Libs do M5Stack e DHT #include #include // definição das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define SÁRGA 0xFFE0 #define WHITE 0xFFFF apa # // construtor do objeto para comunicar com o sensor SimpleDHT22 dht; // variável responseavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;

Folytatjuk az X tengely és az Y tengely pozicionálási definícióival, a hőmérséklet és páratartalom adatainak megjelenítési koordinátáival, valamint az olvasott értékeket tároló változókkal. Továbbra is mutatunk a grafikonnak a kijelzőre történő nyomtatására.

// definições do posicionamento dos eixos X e Y #define POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // definição da coordenada onde escredeados POS que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int hőmérséklet = 0; // variável que armazenará o valor da coordenada Y para desenharmos uma linha de examplelo // que varia os valores de 1 em 1 int linhaExemplo = 20; int fator = 1; // indicará se somaremos ou subtrairemos uma unidade na variável linhaExemplo

8. lépés: M5StackDHTGraph.ino - Beállítás

A Setupban inicializáljuk az M5Stack -et. Parancsokat adunk meg a grafikon rajzolásához, konfiguráljuk a betűtípust, valamint a szöveg színeit, és pozícionáljuk a kurzort az íráshoz.

void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (FEKETE); // os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, width, color) linha vertical 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 // configura o tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // configura a cor branca para o texto M5. Lcd.setTextColor (WHITE); // pozíció vagy kurzor az escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // indicando a temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}

9. lépés: M5StackDHTGraph.ino - Hurok

A Hurok első részében olvassuk a hőmérsékletet és a páratartalmat, feltérképezzük a változók értékét a grafikonon való elhelyezéshez, és rajzoljuk a képernyőn azt a pontot, amely az érzékelőből leolvasott értékekre utal.

void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int állapot = dht.read2 (DHTPIN, & temp, & umid, NULL); if (állapot == SimpleDHTErrSuccess) {temperatura = temp; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // needsá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 = térkép (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 examplelo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, SÁRGA);

Ezután meghatározzuk a grafika nyomtatásának lehetőségeit a kijelzőn.

// aqui controlamos nossa linha de examplelo, quando chega no valor máximo decmentamos 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; // inkrementa o contador de leituras realizadas 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, FEKETE);

// reposiciona vagy kurzor az M5. Lcd.setCursor hőmérséklet tárolására (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (PIROS); M5. Lcd.print (hőmérséklet); M5. Lcd.print ((char) 247); // reposiciona vagy kurzor az umidade M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); késleltetés (1000); }

10. lépés: Fájlok

Tetszett az M5Stack? Szeretnél venni egyet? Látogasson el a https://goo.gl/ruoYVj oldalra

Töltse le a fájlokat:

PDF

ÉN NEM

Ajánlott: