Cuprins:
- Pasul 1: M5Stack
- Pasul 2: M5Stack Aplicații posibile
- Pasul 3: M5Stack - Pinii
- Pasul 4: Biblioteca DHT
- Pasul 5: Arduino IDE Library Manage
- Pasul 6: Cod sursă
- Pasul 7: M5StackDHTGraph.ino
- Pasul 8: M5StackDHTGraph.ino - Configurare
- Pasul 9: M5StackDHTGraph.ino - Buclă
- Pasul 10: Fișiere
Video: ESP32: M5Stack Cu DHT22: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Să vorbim astăzi despre un ESP32 foarte special, perfect pentru Internetul obiectelor, care este M5Stack. Conține ESP32 în interior și chiar adaugă pe un afișaj, tastatură, amplificator, difuzor și baterie. Astfel, acest dispozitiv poate face nenumărate lucruri. Când am primit acest hardware, aveam deja software pentru ESP32 și eram portat doar pe afișajul utilizat în acest proiect, care este diferit. Cu toate acestea, codul sursă pe care îl vom folosi este același cu cel folosit în videoclipul nostru TEMPERATURĂ ȘI UMIDITATE CU AFIȘARE OLED.
În circuitul de astăzi, vreau să subliniez în mod specific că avem M5Stack cu conexiuni pozitive și negative, care se alimentează cu un senzor DHT22. Ambele sunt conectate printr-un GPIO. Datele sunt afișate în grafic.
În acest articol, să prezentăm M5Stack și să discutăm aplicațiile sale. Trebuie să subliniez că acest dispozitiv are o intrare pentru un card micro SD, un difuzor de 1W și o priză pentru baterie și are, de asemenea, butoane de interacțiune, un conector i2c, un USB de tip C, IO-uri expuse, un afișaj TFT de doi inci, printre alte caracteristici. Este afișat în imaginea de mai sus. Putem spune că acest dispozitiv este gata pentru IoT, deoarece vine deja cu Bluetooth și ESP32 WiFi. De asemenea, include un magnet pentru fixarea pe suprafețe metalice.
Ți-a plăcut M5Stack? Faceți clic pe:
Pasul 1: M5Stack
O inovație a M5Stack este că, dacă scoateți spatele, vă puteți încadra în diferite module cu funcții diferite, cum ar fi modulul GPS, GSM, LoRa, printre altele. Acest lucru este afișat în imagine.
Mai jos am mai multe exemple de module, de la RS485, DC Motor, Maker, Core, până la controlul motorului pas cu pas.
Acesta este de fapt o modalitate foarte rapidă de a pune împreună un prototip. Pe vremuri, era necesar să cumpărați mai multe cipuri de tranzistoare și să efectuați numeroase ansambluri, care necesitau mult timp și investiții. Abia după aceea a apărut prototiparea produsului. Atunci au apărut Arduino și Raspberry, care sunt plăci.
Acum, avem în sfârșit M5Stack, care este această cutie închisă gata de utilizare. Acest lucru ne eliberează de a trebui să parcurgem alți pași nenumărați.
Alte modele M5Stack sunt prezentate în imagini. Avem un dispozitiv cu tastaturi alfanumerice, numerice și de joc. Acestea vă permit să lucrați ca și cum ar fi un fel de computer. Avem, de asemenea, un exemplu de software care rulează, care poate fi programat în MicroPython, Arduino, ESP-IDF, NodeJS, pe lângă Basic.
Pasul 2: M5Stack Aplicații posibile
Printre exemplele de aplicații M5Stack, avem osciloscopul, așa cum puteți vedea în imagine. Avem, de asemenea, un fel de masă pentru calculator / instrument de tăiere.
Ce zici de un vitezometru pentru bicicletă?
Poate fi, de asemenea, un burghiu de la distanță, care este tipărit în 3D și monitorizat de la distanță printr-un control.
Toate acestea arată că controlul electronic este mult mai accesibil în zilele noastre, la fel cum programarea acestor circuite a devenit mai ușoară.
Pasul 3: M5Stack - Pinii
Partea din spate a M5Stack se află în această imagine, care arată că puterea este la 5 volți. Imaginea arată în continuare că avem tot ceea ce există în ESP32 cu conectivitate.
Pasul 4: Biblioteca DHT
Utilizați lib SimpleDHT, care este aceeași pe care am folosit-o în videoclip: TEMPERATURĂ ȘI UMIDITATE CU AFIȘARE OLED.
Pasul 5: Arduino IDE Library Manage
În „Meniu: Schiță -> Adăugare bibliotecă -> Gestionare biblioteci”, să instalăm cele două biblioteci afișate în imaginea de mai jos. Amintiți-vă că, înainte de toate acestea, trebuie să instalați nucleul Arduino al ESP32. Acest videoclip vă arată cum să faceți it: CUM SE INSTALEAZĂ IDE ARDUINO ÎN ESP32.
Pasul 6: Cod sursă
Codul sursă, așa cum am menționat, este același pe care l-am folosit în videoclip: TEMPERATURE GRAPH CU OLED DISPLAY. Singura modificare pe care am făcut-o acestui proiect a fost în raport cu dimensiunea afișajului.
Pasul 7: M5StackDHTGraph.ino
Vom include bibliotecile M5Stack.h și SimpleDHT.h și vom defini culorile utilizate pe afișaj, precum și pinul de date DHT. De asemenea, vom construi un obiect pentru comunicarea cu senzorul, vom defini variabila responsabilă pentru citiri și vom indica valoarea axei X.
// Libs do M5Stack e DHT # include #include // definição das cores that serão usedadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define DHTPIN 5 // pino de dados do DHT // construtor do objeto for comunicar com o sensor SimpleDHT22 dht; // variável responsavel por contar o number de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Continuăm cu definițiile de poziționare pe axa X și pe axa Y, coordonatele de afișare a datelor de temperatură și umiditate, precum și variabilele care vor stoca valorile citite. Mai indicăm variabila pentru imprimarea diagramei pe afișaj.
// 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 escreveremos os dados de temperatura e umidade #define POS_X_DADOS 30 care armazenarão os valores lidos da umidade și 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 linhaExemplo = 20; int fator = 1; // indicará se somaremos ou subtrairemos uma unidade na variável linhaExemplo
Pasul 8: M5StackDHTGraph.ino - Configurare
În Setup, inițializăm M5Stack. Definim comenzi pentru desenarea graficului, configurăm fontul, precum și culorile textului și poziționăm cursorul pentru scriere.
configurare nulă (nulă) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toată de aproape 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, width, color) linha horizontal M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO + 1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // configura o tamnaho do text that escreveremos em tela M5. Lcd.setTextSize (3); // configura a cor branca pentru o text M5. Lcd.setTextColor (WHITE); // posiciona o cursor para escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // indicând o temperatură M5. Lcd.setCursor (POS_X_DADOS + 105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Pasul 9: M5StackDHTGraph.ino - Buclă
În prima parte a buclei, citim temperatura și umiditatea, mapăm valoarea variabilelor pentru plasarea pe grafic și desenăm punctul de pe ecran care se referă la aceste valori citite de la senzor.
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 // necesário pois o display tem 240px de altura e separamos apenas 180 para o gráfico // umidade poate fi lida de 0-100 int temperaturaMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = map (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 noastra linha de exemplu care fica varianta M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
Apoi, definim posibilitățile de imprimare a graficului pe ecran.
// aqui controlamos nossa linha de example, when chega no valor maximum decrementamos o valor // até um valor minimum determinado (no nosso case 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; // incrementa o contador de leituras realizadas leituraAtual ++; // se a leitura ajunge em 270 (număr maxim do eixo X) então limparemos a área do gráfico para voltarmos a desenhar. if (leituraAtual == 270) {// limpa a areală toată do grafică 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 zonă unde 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, BLACK);
// reposiciona o cursor para escrever a temperatura M5. Lcd.setCursor (POS_X_DADOS + 50, POS_Y_DADOS); M5. Lcd.setTextColor (RED); 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 ("%"); întârziere (1000); }
Pasul 10: Fișiere
Ți-a plăcut M5Stack? Doriți să cumpărați unul? Accesați:
Descărcați fișierele:
EU NU
Recomandat:
M5STACK Cum se afișează temperatura, umiditatea și presiunea pe M5StickC ESP32 folosind Visuino - Ușor de făcut: 6 pași
M5STACK Cum se afișează temperatura, umiditatea și presiunea pe M5StickC ESP32 folosind Visuino - ușor de făcut: În acest tutorial vom învăța cum să programăm ESP32 M5Stack StickC cu Arduino IDE și Visuino pentru a afișa temperatura, umiditatea și presiunea utilizând senzorul ENV (DHT12, BMP280, BMM150)
Temperatură și umiditate folosind ESP32-DHT22-MQTT-MySQL-PHP: 7 pași
Temperatură și umiditate folosind ESP32-DHT22-MQTT-MySQL-PHP: Prietena mea a vrut o seră, așa că am făcut-o. Dar am vrut un senzor de temperatură și umiditate în interiorul serii. Așadar, am căutat exemple și am început să experimentez. Concluzia mea a fost că toate exemplele pe care le-am găsit nu erau exact care
Cum se programează ESP32 M5Stack StickC cu Arduino IDE și Visuino: 12 pași
Cum se programează ESP32 M5Stack StickC cu Arduino IDE și Visuino: În acest tutorial vom învăța cum să programăm ESP32 M5Stack StickC cu Arduino IDE și Visuino. Vedeți un videoclip demonstrativ
Construiți un dispozitiv senzor de temperatură Apple HomeKit (DHT22) utilizând un RaspberryPI și un DHT22: 11 pași
Construiți un dispozitiv Apple HomeKit de senzor de temperatură (DHT22) Utilizând un RaspberryPI și un DHT22: căutam un senzor de temperatură / umiditate cu costuri reduse pe care să-l folosesc pentru a monitoriza ce se întâmplă în spațiul meu de acces, deoarece am constatat că în primăvara acestui an era foarte umed. , și avea multă umezeală. Așa că am căutat un senzor la un preț rezonabil pe care să-l pot
Afișaj ESP32 și OLED: Ceas Internet - DHT22: 10 pași (cu imagini)
Afișaj ESP32 și OLED: Ceas Internet - DHT22: Acest instructabil concurează la concurs: „GIFs Challenge 2017”, dacă vă place, vă rugăm să vă dați votul făcând clic pe bannerul de mai sus. Mulțumesc mult!;-) Acest tutorial este o continuare a unei călătorii pentru a afla mai multe despre acest mare dispozitiv IoT