INHOUDSOPGAWE:
- Stap 1: M5Stack
- Stap 2: M5Stack moontlike toepassings
- Stap 3: M5Stack - penne
- Stap 4: DHT -biblioteek
- Stap 5: Arduino IDE Library Manage
- Stap 6: Bronkode
- Stap 7: M5StackDHTGraph.ino
- Stap 8: M5StackDHTGraph.ino - Opstelling
- Stap 9: M5StackDHTGraph.ino - Lus
- Stap 10: lêers
Video: ESP32: M5Stack met DHT22: 10 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Kom ons praat vandag oor 'n baie spesiale ESP32, perfek vir die Internet of Things, wat M5Stack is. Dit bevat die ESP32 binne en voeg selfs 'n skerm, sleutelbord, versterker, luidspreker en battery by. Hierdie toestel kan dus talle dinge doen. Toe ek hierdie hardeware ontvang, het ek reeds sagteware vir ESP32 gehad en slegs na die skerm wat in hierdie projek gebruik is, oorgedra, wat anders is. Die bronkode wat ons sal gebruik, is egter dieselfde as in ons video TEMPERATUUR EN VOGTIGHEID MET OLED -DISPLAY.
In die huidige kring wil ek spesifiek beklemtoon dat ons die M5Stack het met positiewe en negatiewe verbindings, wat homself voed met 'n DHT22 -sensor. Albei is verbind deur 'n GPIO. Die data word in die grafiek vertoon.
In hierdie artikel, laat ons M5Stack bekendstel en die toepassings daarvan bespreek. Ek moet beklemtoon dat hierdie toestel 'n ingang het vir 'n micro SD-kaart, 'n 1W-luidspreker en 'n batterysok, en ook interaksieknoppies, 'n i2c-aansluiting, 'n USB-tipe C, blootgestelde IO's, 'n twee-duim TFT-skerm, onder ander funksies. Dit word op die foto hierbo getoon. Ons kan sê dat hierdie toestel gereed is vir IoT, want dit bevat reeds Bluetooth en ESP32 WiFi. Dit bevat ook 'n magneet om aan metaaloppervlaktes vasgemaak te word.
Het jy van M5Stack gehou? Klik:
Stap 1: M5Stack
Een vernuwing van die M5Stack is dat as u die rug afneem, u verskillende modules met verskillende funksies kan inpas, soos onder andere die GPS -module, GSM, LoRa. Dit word in die prent getoon.
Ek het meer voorbeelde van modules hieronder, wat wissel van RS485, DC Motor, Maker, Core tot stepper motor control.
Dit is eintlik 'n baie vinnige manier om 'n prototipe saam te stel. In die ou dae was dit nodig om verskeie transistorskyfies te koop en talle byeenkomste uit te voer, wat baie tyd en belegging verg. Eers daarna kom die prototipering van die produk. Dit is toe dat Arduino en Framboos verskyn, wat plate is.
Nou het ons uiteindelik die M5Stack, wat die gereed-vir-gebruik geslote boks is. Dit bevry ons van ander ontelbare stappe.
Ander M5Stack -modelle word in prente getoon. Ons het 'n toestel met alfanumerieke, numeriese en speletjie -sleutelborde. Hiermee kan u werk asof dit 'n soort rekenaar is. Ons het ook 'n voorbeeld van sagteware wat, behalwe Basic, in MicroPython, Arduino, ESP-IDF, NodeJS geprogrammeer kan word.
Stap 2: M5Stack moontlike toepassings
Onder die voorbeelde van M5Stack -toepassings het ons die ossilloskoop, soos u op die prent kan sien. Ons het ook 'n soort sakrekenaar / sny gereedskap tafel.
Hoe gaan dit met 'n fietssnelheidsmeter?
Dit kan ook 'n afstandboor wees, wat in 3D gedruk word en op afstand deur 'n kontrole gemonitor word.
Dit alles toon dat elektroniese beheer deesdae baie meer bekostigbaar is, net soos die programmering van hierdie stroombane makliker geword het.
Stap 3: M5Stack - penne
Die agterkant van die M5Stack is in hierdie beeld, wat toon dat die krag op 5 volt is. Die beeld onthul verder dat ons alles wat in ESP32 bestaan, met konneksie het.
Stap 4: DHT -biblioteek
Gebruik die SimpleDHT lib, wat dieselfde is as wat ek in die video gebruik het: TEMPERATUUR EN VOGTIGHEID MET OLED -DISPLAY.
Stap 5: Arduino IDE Library Manage
In die 'Spyskaart: Skets -> Voeg biblioteek by -> Beheer biblioteke', laat ons die twee biblioteke wat in die onderstaande prent verskyn, installeer. Onthou dat u voor dit alles die Arduino -kern van ESP32 moet installeer. dit: HOE OM ARDUINO IDE IN ESP32 INSTALLEER.
Stap 6: Bronkode
Die bronkode is, soos genoem, dieselfde as wat ek in die video gebruik het: TEMPERATUURGRAFIEK MET OLED -DISPLAY. Die enigste verandering wat ek aan hierdie projek aangebring het, was in verhouding tot die grootte van die skerm.
Stap 7: M5StackDHTGraph.ino
Ons sal die M5Stack.h- en SimpleDHT.h -biblioteke insluit, en ons sal die kleure wat in die skerm gebruik word, definieer, sowel as die DHT -datapennetjie. Ons bou ook 'n voorwerp vir kommunikasie met die sensor, definieer die veranderlike wat verantwoordelik is vir die metings en dui die waarde van die X-as aan.
// 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 // bouer vir 'n kommunikasie met 'n sensor SimpleDHT22 dht; // verskillende reaksies op die huidige lys van realisadas e indicador do valor no eixo X int leituraAtual = 1;
Ons gaan voort met die definisies van die posisies van die X-as en die Y-as, die koördinate van die temperatuur- en humiditeitsdata, sowel as die veranderlikes wat die geleesde waardes stoor. Ons wys nog steeds op die veranderlike om die grafiek op die skerm te druk.
// 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 op POS_deOS_deOS_deOS_deOS_deOS_deOSde_deOSde_deOSde_deOS que armazenarão os valores lidos da umidade e temperatuura int umidade = 0; int temperatuur = 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; // aanduidings dat daar somaremos of subtrairemos is om 'n eenvormige en uiteenlopende lyn te gebruik
Stap 8: M5StackDHTGraph.ino - Opstelling
In Setup initialiseer ons die M5Stack. Ons definieer opdragte om die grafiek te teken, stel die lettertipe sowel as tekskleure op en plaas die wyser vir skryf.
leemte opstel (leeg) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (SWART); // 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; // eixo Y // drawFastHLine (x, y, breedte, kleur) linha horisontaal M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // konfigurasie of teks wat u kan stuur om M5. Lcd.setTextSize (3) te gebruik; // configura a cor branca para o texto M5. Lcd.setTextColor (WHITE); // posiciona o cursor para escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // dui op 'n temperatuur van M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // aanduiding van 'n opmerking}
Stap 9: M5StackDHTGraph.ino - Lus
In die eerste deel van die lus lees ons die temperatuur en humiditeit, karteer die waarde van die veranderlikes vir plasing op die grafiek en teken die punt op die skerm wat verwys na hierdie waardes wat deur die sensor gelees word.
void loop () {// Fazemos a leitura da temperatuura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatuura = 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 (temperatuur, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = kaart (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-temperatuuraMapeada, 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, GEEL);
Dan definieer ons die moontlikhede om die grafika op die skerm te druk.
// 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; anders as (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 en 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, SWART); 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, SWART); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, SWART);
// reposiciona o cursor for escrever a temperaturea M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (ROOI); M5. Lcd.print (temperatuur); M5. Lcd.print ((char) 247); // reposiciona o cursor for escrever a umidade M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); vertraging (1000); }
Stap 10: lêers
Hou jy van M5Stack? Wil jy een koop? Gaan na:
Laai die lêers af:
EK NEE
Aanbeveel:
Temperatuur en humiditeit met behulp van ESP32-DHT22-MQTT-MySQL-PHP: 7 stappe
Temperatuur en humiditeit met behulp van ESP32-DHT22-MQTT-MySQL-PHP: My vriendin wou 'n kas hê, so ek het vir haar een gemaak. Maar ek wou 'n temperatuur- en humiditeitsensor in die kas hê. Dus het ek gegoogled na voorbeelde en begin eksperimenteer. My gevolgtrekking was dat al die voorbeelde wat ek gevind het nie presies was nie
ESP32 Gebaseerde M5Stack M5stick C Weermonitor Met DHT11 - Monitor temperatuur humiditeit en hitte-indeks op M5stick-C met DHT11: 6 stappe
ESP32 -gebaseerde M5Stack M5stick C -weermonitor met DHT11 | Monitor temperatuurvochtigheid en hitte-indeks op M5stick-C Met DHT11: Hallo ouens, in hierdie instruksies leer ons hoe om 'n koppelvlak van DHT11-temperatuursensor met m5stick-C ('n ontwikkelingsbord deur m5stack) te plaas en dit op die skerm van m5stick-C te vertoon. In hierdie handleiding sal ons dus die temperatuur, humiditeit en amp lees; hitte ek
Maak 'n horlosie met M5stick C Met Arduino IDE - RTC-intydse klok met M5stack M5stick-C: 4 stappe
Maak 'n horlosie met M5stick C Met Arduino IDE | RTC Real Time Clock Met M5stack M5stick-C: Hallo ouens in hierdie instruksies, ons sal leer hoe om 'n horlosie te maak met 'n m5stick-C ontwikkelbord van m5stack met behulp van Arduino IDE. So m5stick sal datum, tyd en amp vertoon; week van die maand op die skerm
Bou 'n Apple HomeKit -temperatuursensor (DHT22) -apparaat met 'n RaspberryPI en 'n DHT22: 11 stappe
Bou 'n Apple HomeKit -temperatuursensor (DHT22) -apparaat met 'n RaspberryPI en 'n DHT22: Ek was op soek na 'n goedkoop temperatuur- / humiditeitsensor wat ek kon gebruik om te monitor wat in my kruipruimte gebeur, aangesien ek gevind het dat dit baie nat was , en het baie klam gehad. So ek was op soek na 'n redelike prys sensor wat ek kon
ESP32 en OLED -skerm: internetklok - DHT22: 10 stappe (met foto's)
ESP32 en OLED Display: Internet Clock - DHT22: This Instructable is competing o contest: " GIFs Challenge 2017 ", As u daarvan hou, gee dan u stem deur op die vaandel hierbo te klik. Baie dankie! ;-) Hierdie tutoriaal is 'n voortsetting van 'n reis om meer te wete te kom oor hierdie wonderlike IoT-toestel