Indholdsfortegnelse:
- Trin 1: M5Stack
- Trin 2: M5Stack mulige applikationer
- Trin 3: M5Stack - pins
- Trin 4: DHT -bibliotek
- Trin 5: Administrer Arduino IDE -bibliotek
- Trin 6: Kildekode
- Trin 7: M5StackDHTGraph.ino
- Trin 8: M5StackDHTGraph.ino - Opsætning
- Trin 9: M5StackDHTGraph.ino - Loop
- Trin 10: Filer
Video: ESP32: M5Stack med DHT22: 10 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Lad os tale i dag om en meget speciel ESP32, perfekt til tingenes internet, som er M5Stack. Den indeholder ESP32 indeni og tilføjer endda et display, tastatur, forstærker, højttaler og batteri. Således kan denne enhed gøre utallige ting. Da jeg modtog denne hardware, havde jeg allerede software til ESP32 og kun portet til det display, der blev brugt i dette projekt, hvilket er anderledes. Den kildekode, vi vil bruge, er dog den samme, som blev brugt i vores video TEMPERATUR OG Fugtighed med OLED -DISPLAY.
I dagens kredsløb vil jeg specifikt understrege, at vi har M5Stack med positive og negative forbindelser, som føder sig selv med en DHT22 -sensor. Begge er forbundet med en GPIO. Dataene vises i diagrammet.
I denne artikel, lad os introducere M5Stack og diskutere dens applikationer. Jeg er nødt til at understrege, at denne enhed har en indgang til et micro SD-kort, en 1W højttaler og en batteristik, og også har interaktionsknapper, et i2c-stik, en USB type C, udsatte IO'er, en to-tommer TFT-skærm, blandt andre funktioner. Det er vist på billedet ovenfor. Vi kan sige, at denne enhed er klar til IoT, da den allerede leveres med Bluetooth og ESP32 WiFi. Det indeholder også en magnet til fastgørelse til metaloverflader.
Kan du lide M5Stack? Klik:
Trin 1: M5Stack
En nyskabelse af M5Stack er, at hvis du tager bagsiden af, kan du passe ind i forskellige moduler med forskellige funktioner, f.eks. GPS -modulet, GSM, LoRa. Dette er vist på billedet.
Jeg har flere eksempler på moduler herunder, lige fra RS485, DC Motor, Maker, Core, til trinmotorstyring.
Dette er faktisk en meget hurtig måde at sammensætte en prototype på. I gamle dage var det nødvendigt at købe flere transistorchips og udføre adskillige samlinger, hvilket krævede meget tid og investering. Først efter kom produktprototypen. Det var dengang Arduino og Hindbær dukkede op, som er plader.
Nu har vi endelig M5Stack, som er denne lukkede boks, der er klar til brug. Dette befrier os fra at skulle udføre andre utallige trin.
Andre M5Stack -modeller er vist på billeder. Vi har en enhed med alfanumeriske, numeriske og spiltastaturer. Disse giver dig mulighed for at arbejde, som om det er en slags computer. Vi har også et eksempel på software, der kører, som kan programmeres i MicroPython, Arduino, ESP-IDF, NodeJS, ud over Basic.
Trin 2: M5Stack mulige applikationer
Blandt eksemplerne på M5Stack -applikationer har vi oscilloskopet, som du kan se på billedet. Vi har også en slags lommeregner / skæreværktøjsbord.
Hvad med et cykelhastighedsmåler?
Det kan også være en fjernboremaskine, der udskrives i 3D og fjernovervåges af en kontrol.
Alt dette viser, at elektronikstyring er meget mere overkommelig i disse dage, ligesom programmeringen af disse kredsløb er blevet lettere.
Trin 3: M5Stack - pins
Bagsiden af M5Stack er på dette billede, hvilket viser, at strømmen er ved 5 volt. Billedet afslører yderligere, at vi har alt, hvad der findes i ESP32 med forbindelse.
Trin 4: DHT -bibliotek
Brug SimpleDHT lib, som er den samme, som jeg brugte i videoen: TEMPERATUR OG Fugtighed med OLED DISPLAY.
Trin 5: Administrer Arduino IDE -bibliotek
I "Menu: Skitse -> Tilføj bibliotek -> Administrer biblioteker", lad os installere de to biblioteker vist på billedet herunder. Husk, at før alt dette skal du installere Arduino -kernen i ESP32. Denne video viser dig, hvordan du gør it: SÅDAN INSTALLERER DU ARDUINO IDE I ESP32.
Trin 6: Kildekode
Kildekoden er som nævnt den samme, som jeg brugte i videoen: TEMPERATURGRAF MED OLED -DISPLAY. Den eneste ændring, jeg foretog i dette projekt, var i forhold til skærmens størrelse.
Trin 7: M5StackDHTGraph.ino
Vi vil inkludere bibliotekerne M5Stack.h og SimpleDHT.h, og vi vil definere farver, der bruges på displayet, samt DHT -datapinden. Vi vil også konstruere et objekt til kommunikation med sensoren, definere variablen, der er ansvarlig for målingerne, og angive værdien af X-aksen.
// 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 // construtor do objeto para comunicar com o sensor SimpleDHT22 dht; // variabel responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Vi fortsætter med X-akse og Y-akses positioneringsdefinitioner, temperatur- og fugtighedsdata viser koordinater samt de variabler, der gemmer de læste værdier. Vi peger stadig på variablen til udskrivning af diagrammet på displayet.
// 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 Temperatur e umidade #define POS_X_DADOS 30 #define POS_Y_DADOS 200 // variáveis 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 exemplo // 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
Trin 8: M5StackDHTGraph.ino - Opsætning
I Setup initialiserer vi M5Stack. Vi definerer kommandoer til at tegne grafen, konfigurerer skrifttypen samt tekstfarver og placerer markøren til at skrive.
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (SORT); // os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, bredde, farve) linha vertical M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO; // eixo Y // drawFastHLine (x, y, bredde, farve) linha vandret M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // konfiguration o tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // konfiguration 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:"); // angiver en temperatur på M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Trin 9: M5StackDHTGraph.ino - Loop
I den første del af sløjfen læser vi temperatur og fugtighed, kortlægger værdien af variablerne for placering på grafen og tegner det punkt på skærmen, der refererer til disse værdier, der er læst fra sensoren.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); hvis (status == 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 pode ser lida de 0-100 int temperaturaMapeada = map (temperatur, 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 nossa linha de exemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, GUL);
Derefter definerer vi mulighederne for at udskrive grafikken på displayet.
// 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; ellers hvis (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. hvis (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, SORT); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, SORT);
// reposiciona o cursor para escrever a temperatura M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (RØD); M5. Lcd.print (temperatura); M5. Lcd.print ((tegn) 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 ("%"); forsinkelse (1000); }
Trin 10: Filer
Kan du lide M5Stack? Vil du købe en? Gå til:
Download filerne:
INO
Anbefalede:
Sådan programmeres ESP32 M5Stack StickC med Arduino IDE og Visuino: 12 trin
Sådan programmeres ESP32 M5Stack StickC med Arduino IDE og Visuino: I denne vejledning lærer vi, hvordan du programmerer ESP32 M5Stack StickC med Arduino IDE og Visuino. Se en demonstrationsvideo
ESP32 -baseret M5Stack M5stick C vejrmonitor med DHT11 - Overvåg temperaturfugtighed og varmeindeks på M5stick-C med DHT11: 6 trin
ESP32 -baseret M5Stack M5stick C vejrmonitor med DHT11 | Overvåg temperaturfugtighed og varmeindeks på M5stick-C Med DHT11: Hej fyre, i denne vejledning lærer vi, hvordan du kobler DHT11 temperatursensor til m5stick-C (et udviklingsbræt af m5stack) og viser det på displayet på m5stick-C. Så i denne vejledning vil vi læse temperaturen, fugtigheden & varme jeg
Spil Flappy Bird -spil med M5stack Esp32 -baseret M5stick C Development Board: 5 trin
Spil Flappy Bird-spil med M5stack Esp32-baseret M5stick C Development Board: Hej fyre i dag vil vi lære at uploade flappy bird-spilkoden til m5stick c udviklingsbræt leveret af m5stack.For dette lille projekt skal du bruge to ting: m5stick-c udviklingstavle: https://www.utsource.net/itm/p/8663561.h
Byg en Apple HomeKit -temperatursensor (DHT22) -enhed ved hjælp af en RaspberryPI og en DHT22: 11 trin
Byg en Apple HomeKit -temperatursensor (DHT22) -enhed ved hjælp af en RaspberryPI og en DHT22: Jeg ledte efter en lavtemperatur- / fugtighedsføler, jeg kunne bruge til at overvåge, hvad der sker i mit krybningsrum, da jeg fandt ud af, at det i foråret var meget vådt , og havde meget fugt. Så jeg ledte efter en sensor til en rimelig pris, som jeg kunne
ESP32 og OLED -skærm: Internetur - DHT22: 10 trin (med billeder)
ESP32 og OLED Display: Internet Clock - DHT22: This Instructable konkurrerer om konkurrence: " GIFs Challenge 2017 ", Hvis du kan lide det, bedes du give din stemme ved at klikke på ovenstående banner. Mange tak!;-) Denne vejledning er en fortsættelse af en rejse for at lære mere om denne store IoT-enhed