Taula de continguts:
- Pas 1: M5Stack
- Pas 2: M5Stack Possibles aplicacions
- Pas 3: M5Stack - Pins
- Pas 4: Biblioteca DHT
- Pas 5: Gestió de la biblioteca IDE Arduino
- Pas 6: codi font
- Pas 7: M5StackDHTGraph.ino
- Pas 8: M5StackDHTGraph.ino - Configuració
- Pas 9: M5StackDHTGraph.ino: bucle
- Pas 10: fitxers
Vídeo: ESP32: M5Stack amb DHT22: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Parlem avui d’un ESP32 molt especial, perfecte per a Internet de les coses, que és M5Stack. Conté l’SP32 a l’interior i, fins i tot, afegeix una pantalla, teclat, amplificador, altaveu i bateria. Per tant, aquest dispositiu pot fer infinitat de coses. Quan vaig rebre aquest maquinari, ja tenia programari per a ESP32 i només es portava a la pantalla que s’utilitzava en aquest projecte, que és diferent. Tot i això, el codi font que utilitzarem és el mateix que s’utilitza al nostre vídeo TEMPERATURA I HUMITAT AMB PANTALLA OLED.
Al circuit actual, vull destacar específicament que tenim el M5Stack amb connexions positives i negatives, que s’alimenta amb un sensor DHT22. Tots dos estan connectats per un GPIO. Les dades es mostren al gràfic.
En aquest article, presentem M5Stack i discutim les seves aplicacions. He de destacar que aquest dispositiu té una entrada per a una targeta micro SD, un altaveu d’1W i una presa de bateria, i també té botons d’interacció, un connector i2c, un USB tipus C, E / S exposats, una pantalla TFT de dues polzades, entre altres funcions. Es mostra a la imatge superior. Podem dir que aquest dispositiu està preparat per a IoT, ja que ja inclou Bluetooth i ESP32 WiFi. També inclou un imant per fixar-se a superfícies metàl·liques.
T’ha agradat M5Stack? Feu clic a:
Pas 1: M5Stack
Una de les innovacions del M5Stack és que, si es treu l’esquena, es pot encabir en diferents mòduls amb diferents funcions, com ara el mòdul GPS, GSM, LoRa, entre d’altres. Això es mostra a la imatge.
A continuació tinc més exemples de mòduls, que van des del RS485, el motor de corrent continu, el fabricant, el nucli i el control del motor pas a pas.
En realitat, aquesta és una manera molt ràpida d’elaborar un prototip. Antigament, era necessari comprar diversos xips de transistors i realitzar nombrosos muntatges, que requerien molt de temps i inversió. Només després va aparèixer el prototipatge del producte. Va ser llavors quan van aparèixer Arduino i Raspberry, que són plaques.
Ara, finalment, tenim el M5Stack, que és aquest quadre tancat llest per al seu ús. Això ens allibera d’haver de realitzar altres innombrables passos.
Altres models M5Stack es mostren a les imatges. Disposem d’un dispositiu amb teclats alfanumèrics, numèrics i de joc. Aquests us permeten treballar com si es tractés d’una mena d’ordinador. També tenim un exemple d’execució de programari, que es pot programar en MicroPython, Arduino, ESP-IDF, NodeJS, a més de Basic.
Pas 2: M5Stack Possibles aplicacions
Entre els exemples d’aplicacions M5Stack, tenim l’oscil·loscopi, com podeu veure a la imatge. També tenim una mena de taula de calculadores / eines de tall.
Què tal un velocímetre de bicicleta?
També pot ser un trepant remot, que s’imprimeix en 3D i es controla remotament mitjançant un control.
Tot plegat demostra que el control electrònic és molt més assequible actualment, de la mateixa manera que la programació d’aquests circuits s’ha fet més fàcil.
Pas 3: M5Stack - Pins
La part posterior del M5Stack es troba en aquesta imatge, que mostra que la potència està a 5 volts. La imatge revela a més que tenim tot el que existeix a ESP32 amb connectivitat.
Pas 4: Biblioteca DHT
Utilitzeu la lib SimpleDHT, que és la mateixa que he fet servir al vídeo: TEMPERATURA I HUMITAT AMB PANTALLA OLED.
Pas 5: Gestió de la biblioteca IDE Arduino
Al "Menú: Esbós -> Afegeix biblioteca -> Gestiona biblioteques", instal·leu les dues biblioteques que es mostren a la imatge següent. Recordeu que abans de tot això, heu d'instal·lar el nucli Arduino d'ESP32. Aquest vídeo us mostra com fer-ho it: COM INSTAL·LAR ARDUINO IDE A ESP32.
Pas 6: codi font
El codi font, com es va esmentar, és el mateix que vaig fer servir al vídeo: GRÀFIC DE TEMPERATURA AMB PANTALLA OLED. L'únic canvi que vaig fer en aquest projecte va ser en relació amb la mida de la pantalla.
Pas 7: M5StackDHTGraph.ino
Inclourem les biblioteques M5Stack.h i SimpleDHT.h i definirem els colors utilitzats a la pantalla, així com el pin de dades DHT. També construirem un objecte per a la comunicació amb el sensor, definirem la variable responsable de les lectures i indicarem el valor de l’eix X.
// Libs do M5Stack e DHT # include #include // definição das cores que serão usedadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define DHTPIN 5 // pin de dados do DHT // construtor do objecte per comunicar com o sensor SimpleDHT22 dht; // variável responsavel por contar o número de leituras realitzades e indicador do valor no eixo X int leituraAtual = 1;
Continuem amb les definicions de posicionament de l'eix X i de l'eix Y, les coordenades de visualització de dades de temperatura i humitat, així com les variables que emmagatzemaran els valors llegits. Encara assenyalem la variable per imprimir el gràfic a la pantalla.
// 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 // definició da coordenada on escreveremos os dados de temperatura e umidade #define POS_X_DADOS 30 que 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 example // que varia os valores de 1 em 1 int linhaExemple = 20; int fator = 1; // indicarà se somaremos ou subtrairemos uma unidade na variável linhaExemple
Pas 8: M5StackDHTGraph.ino - Configuració
A la configuració, inicialitzem el M5Stack. Definim ordres per dibuixar el gràfic, configurem el tipus de lletra i els colors del text i posicionem el cursor per escriure.
configuració buida (buida) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela tota de prop M5. Lcd.fillScreen (BLACK); // 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, ample, color) linha horizontal M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO + 1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // configura o tamnaho do text que escreveremos em tela M5. Lcd.setTextSize (3); // configura a cor branca per o text M5. Lcd.setTextColor (WHITE); // posiciona o cursor para escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // indicant una temperatura M5. Lcd.setCursor (POS_X_DADOS + 105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicant a umidade}
Pas 9: M5StackDHTGraph.ino: bucle
A la primera part del bucle, llegim la temperatura i la humitat, mapem el valor de les variables per col·locar-les al gràfic i dibuixem el punt de la pantalla que fa referència a aquests valors llegits des del sensor.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); if (estat == SimpleDHTErrSuccess) {temperatura = temp; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // necessário pois o display tem 240px de altura e separamos apenas 180 para o gráfico // umidade puede 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 nuestra línea de ejemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual, ALTURA_GRAFICO-linhaExemple, YELLOW);
A continuació, definim les possibilitats d’imprimir el gràfic a la pantalla.
// aqui controlem la nostra línia d’exemple, quan no es valora màxim decrementem o valorem // até um valor mínim determinat (no ens cas cas 10), i a partir daí, incrementa novament si (linhaExemple == 50) fator = -1; else if (linhaExemple == 10) fator = 1; // soma o valor de linhaExemple linhaExemple + = fator; // incrementa o contador de leitures realitzades leituraAtual ++; // se a leitura arribar em 270 (número màxim do eixo X) então limparemos a área do gráfico para voltarmos a desenhar. if (leituraAtual == 270) {// limpa a l'àrea tota do graphic 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 l'àrea on col·locem 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, NEGRE);
// reposiciona o cursor para escrever a temperatura M5. Lcd.setCursor (POS_X_DADOS + 50, POS_Y_DADOS); M5. Lcd.setTextColor (VERMELL); M5. Lcd.print (temperatura); M5. Lcd.print ((char) 247); // reposiciona o cursor 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 ("%"); retard (1000); }
Pas 10: fitxers
T'ha agradat M5Stack? En voleu comprar un? Aneu a:
Descarregueu els fitxers:
INO
Recomanat:
Neopixel Ws2812 Rainbow LED Glow amb M5stick-C - Funcionament de Rainbow a Neopixel Ws2812 amb M5stack M5stick C amb Arduino IDE: 5 passos
Neopixel Ws2812 Rainbow LED Glow amb M5stick-C | Execució de Rainbow a Neopixel Ws2812 Utilització de M5stack M5stick C Usant Arduino IDE: Hola, nois en aquest instructable, aprendrem a utilitzar LEDs neopixel ws2812 o led strip o led matrix o anell led amb placa de desenvolupament m5stack m5stick-C amb Arduino IDE i farem un patró d'arc de Sant Martí amb ell
Monitor de temps M5Stack M5stick C basat en ESP32 amb DHT11 - Superviseu l’índex d’humitat i calor de la temperatura a M5stick-C amb DHT11: 6 passos
Monitor de temps M5Stack M5stick C basat en ESP32 amb DHT11 | Superviseu l’índex d’humitat i calor de la temperatura a M5stick-C amb DHT11: Hola, en aquest instructable aprendrem com connectar el sensor de temperatura DHT11 amb m5stick-C (una placa de desenvolupament de m5stack) i mostrar-lo a la pantalla de m5stick-C. Així, en aquest tutorial llegirem la temperatura, la humitat i l’amp; escalfa jo
Fer un rellotge amb M5stick C mitjançant Arduino IDE - Rellotge RTC en temps real amb M5stack M5stick-C: 4 passos
Fer un rellotge amb M5stick C mitjançant Arduino IDE | Rellotge en temps real RTC amb M5stack M5stick-C: Hola, nois en aquest instructable, aprendrem a fer un rellotge amb la placa de desenvolupament m5stick-C de m5stack mitjançant Arduino IDE. Així, m5stick mostrarà data, hora i amp; setmana del mes a la pantalla
Construir un dispositiu Apple HomeKit Sensor de temperatura (DHT22) mitjançant un RaspberryPI i un DHT22: 11 passos
Construïu un dispositiu Apple HomeKit Sensor de temperatura (DHT22) que utilitzi un RaspberryPI i un DHT22: buscava un sensor de temperatura / humitat de baix cost que pogués utilitzar per controlar el que passa al meu espai d’exploració, ja que vaig trobar que aquesta primavera estava molt humit , i tenia molta humitat. Així que buscava un sensor a un preu raonable que pogués
Pantalla ESP32 i OLED: rellotge d'Internet - DHT22: 10 passos (amb imatges)
Pantalla ESP32 i OLED: rellotge d’Internet - DHT22: aquest instructiu competeix o concurs: "GIFs Challenge 2017", si us agrada, doneu el vostre vot fent clic al bàner anterior. Moltes gràcies!;-) Aquest tutorial és la continuació d'un viatge per obtenir més informació sobre aquest fantàstic dispositiu IoT