Sommario:
- Passaggio 1: M5Stack
- Passaggio 2: possibili applicazioni di M5Stack
- Passaggio 3: M5Stack - Pin
- Passaggio 4: libreria DHT
- Passaggio 5: gestione della libreria IDE Arduino
- Passaggio 6: Codice sorgente
- Passaggio 7: M5StackDHTGraph.ino
- Passaggio 8: M5StackDHTGraph.ino - Configurazione
- Passaggio 9: M5StackDHTGraph.ino - Ciclo
- Passaggio 10: file
Video: ESP32: M5Stack con DHT22: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Parliamo oggi di un ESP32 molto particolare, perfetto per l'Internet of Things, ovvero M5Stack. Contiene l'ESP32 all'interno e aggiunge persino display, tastiera, amplificatore, altoparlante e batteria. Pertanto, questo dispositivo può fare innumerevoli cose. Quando ho ricevuto questo hardware, avevo già il software per ESP32 e portato solo sul display utilizzato in questo progetto, che è diverso. Tuttavia, il codice sorgente che utilizzeremo è lo stesso utilizzato nel nostro video TEMPERATURA E UMIDITÀ CON DISPLAY OLED.
Nel circuito odierno voglio in particolare sottolineare che abbiamo l'M5Stack con connessioni positive e negative, che si alimenta con un sensore DHT22. Entrambi sono collegati da un GPIO. I dati vengono visualizzati nel grafico.
In questo articolo, introduciamo M5Stack e discutiamo delle sue applicazioni. Devo sottolineare che questo dispositivo ha un ingresso per una scheda micro SD, un altoparlante da 1 W e una presa per la batteria, e ha anche pulsanti di interazione, un connettore i2c, un USB di tipo C, IO esposti, un display TFT da due pollici, tra le altre caratteristiche. È mostrato nella foto sopra. Possiamo dire che questo dispositivo è pronto per IoT, poiché è già dotato di Bluetooth e WiFi ESP32. Include anche un magnete per il fissaggio a superfici metalliche.
Ti è piaciuto M5Stack? Fare clic su:
Passaggio 1: M5Stack
Un'innovazione di M5Stack è che, togliendo la parte posteriore, è possibile inserire diversi moduli con funzioni diverse, come il modulo GPS, GSM, LoRa, tra gli altri. Questo è mostrato nell'immagine.
Ho altri esempi di moduli di seguito, che vanno da RS485, DC Motor, Maker, Core, al controllo del motore passo-passo.
Questo è in realtà un modo molto veloce per mettere insieme un prototipo. Ai vecchi tempi, era necessario acquistare diversi chip transistor ed eseguire numerosi assemblaggi, che richiedevano molto tempo e investimenti. Solo dopo è arrivata la prototipazione del prodotto. Fu allora che apparvero Arduino e Raspberry, che sono piatti.
Ora abbiamo finalmente M5Stack, che è questa scatola chiusa pronta per l'uso. Questo ci libera dal dover compiere altri innumerevoli passaggi.
Altri modelli M5Stack sono mostrati nelle immagini. Abbiamo un dispositivo con tastiere alfanumeriche, numeriche e di gioco. Questi ti permettono di lavorare come se fosse una specie di computer. Abbiamo anche un esempio di software in esecuzione, che può essere programmato in MicroPython, Arduino, ESP-IDF, NodeJS, oltre che in Basic.
Passaggio 2: possibili applicazioni di M5Stack
Tra gli esempi di applicazioni M5Stack, abbiamo l'oscilloscopio, come puoi vedere nell'immagine. Abbiamo anche una specie di calcolatrice/tavolo per utensili da taglio.
Che ne dici di un tachimetro per bicicletta?
Può anche essere un trapano a distanza, che viene stampato in 3D e monitorato a distanza da un controllo.
Tutto ciò dimostra che il controllo dell'elettronica è oggi molto più abbordabile, così come la programmazione di questi circuiti è diventata più semplice.
Passaggio 3: M5Stack - Pin
Il retro dell'M5Stack è in questa immagine, che mostra che l'alimentazione è a 5 volt. L'immagine rivela inoltre che abbiamo tutto ciò che esiste in ESP32 con connettività.
Passaggio 4: libreria DHT
Usa la libreria SimpleDHT, che è la stessa che ho usato nel video: TEMPERATURA E UMIDITÀ CON DISPLAY OLED.
Passaggio 5: gestione della libreria IDE Arduino
Nel "Menu: Schizzo -> Aggiungi libreria -> Gestisci librerie", installiamo le due librerie mostrate nell'immagine qui sotto. Ricorda che prima di tutto questo, devi installare il core Arduino di ESP32. Questo video ti mostra come fare it: COME INSTALLARE ARDUINO IDE IN ESP32.
Passaggio 6: Codice sorgente
Il codice sorgente, come detto, è lo stesso che ho usato nel video: GRAFICO TEMPERATURA CON DISPLAY OLED. L'unica modifica che ho apportato a questo progetto è stata in relazione alle dimensioni del display.
Passaggio 7: M5StackDHTGraph.ino
Includeremo le librerie M5Stack.h e SimpleDHT.h e definiremo i colori utilizzati nel display, nonché il pin dei dati DHT. Costruiremo anche un oggetto per la comunicazione con il sensore, definiremo la variabile responsabile delle letture e indicheremo il valore dell'asse X.
//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 YELLOW 0xFFE0 #define WHITE 0xFFFF #define DHTPIN 5 //pino de dados do DHT //construtor do objeto para comunicar com o sensor SimpleDHT22 dht; //variável responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Continuiamo con le definizioni di posizionamento dell'asse X e dell'asse Y, le coordinate di visualizzazione dei dati di temperatura e umidità, nonché le variabili che memorizzeranno i valori letti. Puntiamo ancora alla variabile per la stampa del grafico sul display.
//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 escreveremos os dados de temperaturavariata e umidade #define POS_X_DADOS_200 #definição de temperatura_X_DA que armazenarão os valores lidos da umidode e temperatura int umidode = 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 fattore = 1; //indicará se somaremos ou subtrairemos uma unidade na variável linhaExemplo
Passaggio 8: M5StackDHTGraph.ino - Configurazione
In Setup, inizializziamo M5Stack. Definiamo i comandi per disegnare il grafico, configuriamo il carattere così come i colori del testo e posizioniamo il cursore per la scrittura.
void setup(void) { Serial.begin(115200); //Inizializzazione di M5Stack M5.begin(); //pinta a tela toda de preto M5. Lcd.fillScreen(BLACK); //i comandi vengono seguiti come segue come 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 orizzontale M5. Lcd.drawFastHLine(POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); //eixo X //configura o tamnaho do texto que escreveremos in tela M5. Lcd.setTextSize(3); //configura un ramo per il testo M5. Lcd.setTextColor(WHITE); //posiziona il cursore per la scritta M5. Lcd.setCursor(POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print("T: "); //indicando una temperatura M5. Lcd.setCursor(POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print(" U: "); //indicando un umidode }
Passaggio 9: M5StackDHTGraph.ino - Ciclo
Nella prima parte del Loop si legge la temperatura e l'umidità, si mappa il valore delle variabili da posizionare sul grafico e si traccia sullo schermo il punto che fa riferimento a questi valori letti dal sensore.
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; umidode = umido; } //mapeando o valor das variáveis para colocar no gráfico //necessario 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 umidodeMapeada = 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 nossa linha de exemplo que fica variando M5. Lcd.drawPixel(POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
Quindi, definiamo le possibilità di stampare la grafica sul display.
//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; //incrementa 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 value da temperatura e da umiditàde 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, NERO);
//reposiciona o cursor para escrever a temperatura M5. Lcd.setCursor(POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor(ROSSO); M5. Lcd.print(temperatura); M5. Lcd.print((char)247); //reposiciona o cursor para escrever a umidode M5. Lcd.setCursor(POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor(CIANO); M5. Lcd.print(umido); M5. Lcd.print("%"); ritardo(1000); }
Passaggio 10: file
Ti è piaciuto M5Stack? Vuoi comprarne uno? Vai a:
Scarica i file:
IO NO
Consigliato:
Come Programmare ESP32 M5Stack StickC con Arduino IDE e Visuino: 12 Passaggi
Come programmare ESP32 M5Stack StickC con Arduino IDE e Visuino: In questo tutorial impareremo come programmare ESP32 M5Stack StickC con Arduino IDE e Visuino. Guarda un video dimostrativo
Monitor meteo M5Stack M5stick C basato su ESP32 con DHT11 - Monitora l'umidità della temperatura e l'indice di calore su M5stick-C con DHT11: 6 passaggi
Monitor meteo M5Stack M5stick C basato su ESP32 con DHT11 | Monitora l'umidità della temperatura e l'indice di calore su M5stick-C con DHT11: Ciao ragazzi, in questo tutorial impareremo come interfacciare il sensore di temperatura DHT11 con m5stick-C (una scheda di sviluppo di m5stack) e visualizzarlo sul display di m5stick-C. Quindi in questo tutorial leggeremo la temperatura, l'umidità & calore io
Giocare al gioco Flappy Bird con la scheda di sviluppo M5stick C basata su M5stack Esp32: 5 passaggi
Giocare al gioco Flappy Bird con la scheda di sviluppo M5stick C basata su M5stack Esp32: Ciao ragazzi oggi impareremo come caricare il codice del gioco Flappy Bird sulla scheda di sviluppo m5stick c fornita da m5stack. Per questo piccolo progetto avrai bisogno di due cose: m5stick-c scheda di sviluppo: https://www.utsource.net/itm/p/8663561.h
Costruisci un dispositivo con sensore di temperatura Apple HomeKit (DHT22) utilizzando un RaspberryPI e un DHT22: 11 passaggi
Costruisci un dispositivo con sensore di temperatura (DHT22) Apple HomeKit utilizzando un RaspberryPI e un DHT22: stavo cercando un sensore di temperatura / umidità a basso costo che potessi usare per monitorare ciò che sta accadendo nel mio vespaio, poiché ho scoperto che questa primavera era molto umido , e aveva molta umidità. Quindi stavo cercando un sensore a prezzi ragionevoli che potessi p
ESP32 e display OLED: orologio Internet - DHT22: 10 passaggi (con immagini)
ESP32 e display OLED: Internet Clock - DHT22: Questo Instructable è in competizione o contest: "GIFs Challenge 2017", Se ti piace, dai il tuo voto cliccando sul banner sopra. Grazie mille!;-) Questo tutorial è la continuazione di un viaggio per saperne di più su questo fantastico dispositivo IoT