Innehållsförteckning:
- Steg 1: M5Stack
- Steg 2: M5Stack Möjliga applikationer
- Steg 3: M5Stack - Pins
- Steg 4: DHT -bibliotek
- Steg 5: Arduino IDE Library Manage
- Steg 6: Källkod
- Steg 7: M5StackDHTGraph.ino
- Steg 8: M5StackDHTGraph.ino - Installation
- Steg 9: M5StackDHTGraph.ino - Loop
- Steg 10: Filer
Video: ESP32: M5Stack med DHT22: 10 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Låt oss prata idag om en mycket speciell ESP32, perfekt för Internet of Things, som är M5Stack. Den innehåller ESP32 inuti och till och med lägger till en display, tangentbord, förstärkare, högtalare och batteri. Således kan denna enhet göra otaliga saker. När jag fick den här maskinvaran hade jag redan programvara för ESP32 och bara portat till skärmen som används i detta projekt, vilket är annorlunda. Källkoden som vi kommer att använda är dock samma som används i vår video TEMPERATUR OCH FUKTIGHET MED OLED -DISPLAY.
I dagens krets vill jag särskilt betona att vi har M5Stack med positiva och negativa anslutningar, som matar sig själv med en DHT22 -sensor. Båda är anslutna med en GPIO. Data visas i diagrammet.
I den här artikeln, låt oss introducera M5Stack och diskutera dess applikationer. Jag måste betona att den här enheten har en ingång för ett micro SD-kort, en 1W högtalare och ett batteriuttag, och har också interaktionsknappar, en i2c-kontakt, en USB typ C, exponerade IO: er, en två-tums TFT-skärm, bland andra funktioner. Det visas på bilden ovan. Vi kan säga att den här enheten är redo för IoT, eftersom den redan levereras med Bluetooth och ESP32 WiFi. Den innehåller också en magnet för fastsättning på metallytor.
Gillade du M5Stack? Klicka:
Steg 1: M5Stack
En nyhet med M5Stack är att om du tar av ryggen kan du passa in i olika moduler med olika funktioner, till exempel GPS -modulen, GSM, LoRa. Detta visas på bilden.
Jag har fler exempel på moduler nedan, allt från RS485, DC Motor, Maker, Core, till stegmotorstyrning.
Detta är faktiskt ett mycket snabbt sätt att sätta ihop en prototyp. I gamla dagar var det nödvändigt att köpa flera transistorchips och utföra många sammansättningar, vilket krävde mycket tid och investeringar. Först efter kom produktprototypen. Det var då som Arduino och hallon dök upp, som är tallrikar.
Nu har vi äntligen M5Stack, som är denna färdiga slutna låda. Detta befriar oss från att behöva utföra andra otaliga steg.
Andra M5Stack -modeller visas i bilder. Vi har en enhet med alfanumeriska, numeriska och speltangentbord. Dessa låter dig arbeta som om det är en sorts dator. Vi har också ett exempel på programvara som körs, som kan programmeras i MicroPython, Arduino, ESP-IDF, NodeJS, förutom Basic.
Steg 2: M5Stack Möjliga applikationer
Bland exemplen på M5Stack -applikationer har vi oscilloskopet, som du kan se på bilden. Vi har också ett slags räknare / skärverktygsbord.
Vad sägs om en cykelhastighetsmätare?
Det kan också vara en fjärrborra, som skrivs ut i 3D och övervakas på distans av en kontroll.
Allt detta visar att elektronikstyrning är mycket billigare nuförtiden, precis som programmeringen av dessa kretsar har blivit enklare.
Steg 3: M5Stack - Pins
Baksidan av M5Stack finns i den här bilden, vilket visar att effekten är på 5 volt. Bilden avslöjar vidare att vi har allt som finns i ESP32 med anslutning.
Steg 4: DHT -bibliotek
Använd SimpleDHT lib, som är samma som jag använde i videon: TEMPERATUR OCH FUKTIGHET MED OLED DISPLAY.
Steg 5: Arduino IDE Library Manage
I "Meny: Skiss -> Lägg till bibliotek -> Hantera bibliotek", låt oss installera de två biblioteken som visas på bilden nedan. Kom ihåg att innan allt detta måste du installera Arduino -kärnan i ESP32. Denna video visar hur du gör it: HUR DU INSTALLERAR ARDUINO IDE I ESP32.
Steg 6: Källkod
Källkoden är, som nämnts, densamma som jag använde i videon: TEMPERATURGRAF MED OLED -DISPLAY. Den enda ändringen jag gjorde i detta projekt var i förhållande till skärmens storlek.
Steg 7: M5StackDHTGraph.ino
Vi kommer att inkludera M5Stack.h- och SimpleDHT.h -biblioteken, och vi kommer att definiera färger som används i displayen, liksom DHT -datapinnen. Vi kommer också att konstruera ett objekt för kommunikation med sensorn, definiera variabeln som är ansvarig för avläsningarna och ange värdet på X-axeln.
// 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 GUL 0xFFE0 #define WHITE 0xFFFF #define DHTPIN 5 // pino // 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;
Vi fortsätter med X-axel och Y-axels positioneringsdefinitioner, temperatur- och luftfuktighetsdata visar koordinater, samt variablerna som lagrar de lästa värdena. Vi pekar fortfarande på variabeln för att skriva ut diagrammet på displayen.
// definições gör posicionamento dos eixos X e Y # definierar 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 tempera 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 temperatur = 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
Steg 8: M5StackDHTGraph.ino - Installation
I installationen initierar vi M5Stack. Vi definierar kommandon för att rita diagrammet, konfigurerar teckensnittet samt textfärger och placerar markören för att skriva.
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (SVART); // 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, bredd, färg) linha horisontell 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); // konfigura 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:"); // angerando a Temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Steg 9: M5StackDHTGraph.ino - Loop
I den första delen av slingan läser vi temperatur och luftfuktighet, kartlägger värdet på variablerna för placering på grafen och ritar den punkt på skärmen som hänvisar till dessa värden avlästa från sensorn.
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 // 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 (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 nossa linha de exemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, GUL);
Sedan definierar vi möjligheterna att skriva ut grafiken på displayen.
// 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; annars om (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, SVART); 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, SVART); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, SVART);
// 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 ((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 ("%"); fördröjning (1000); }
Steg 10: Filer
Gillade du M5Stack? Vill du köpa en? Gå till:
Ladda ner filerna:
INO
Rekommenderad:
Temperatur och luftfuktighet med ESP32-DHT22-MQTT-MySQL-PHP: 7 steg
Temperatur och luftfuktighet Användning av ESP32-DHT22-MQTT-MySQL-PHP: Min flickvän ville ha ett växthus, så jag gjorde ett till henne. Men jag ville ha en temperatur- och fuktsensor inuti växthuset. Så jag googlade efter exempel och började experimentera. Min slutsats var att alla exemplen som jag hittade inte var exakt
ESP32 -baserad M5Stack M5stick C -vädermonitor med DHT11 - Övervaka temperaturfuktighet och värmeindex på M5stick-C med DHT11: 6 steg
ESP32 -baserad M5Stack M5stick C -vädermonitor med DHT11 | Övervaka temperaturfuktighet och värmeindex på M5stick-C med DHT11: Hej killar, i denna instruktion lär vi oss hur du kopplar DHT11 temperatursensor med m5stick-C (ett utvecklingsbord av m5stack) och visar det på displayen på m5stick-C. Så i denna handledning kommer vi att läsa temperaturen, luftfuktigheten & värme jag
Gör en klocka med M5stick C med Arduino IDE - RTC Realtidsklocka med M5stack M5stick-C: 4 steg
Gör en klocka med M5stick C med Arduino IDE | RTC Real Time Clock Med M5stack M5stick-C: Hej killar i denna instruktioner kommer vi att lära oss hur man gör en klocka med m5stick-C utvecklingskort av m5stack med Arduino IDE. Så m5stick kommer att visa datum, tid & veckan i månaden på displayen
Bygg en Apple HomeKit -temperatursensor (DHT22) med en RaspberryPI och en DHT22: 11 steg
Bygg en Apple HomeKit -temperatursensor (DHT22) -enhet med hjälp av en RaspberryPI och en DHT22: Jag letade efter en temperatur- / fuktighetssensor till låg kostnad som jag kunde använda för att övervaka vad som händer i mitt krypgrund, eftersom jag upptäckte att det i vår var väldigt blött , och hade mycket fukt. Så jag letade efter en prisvärd sensor som jag kunde
ESP32 och OLED -skärm: Internetklocka - DHT22: 10 steg (med bilder)
ESP32 och OLED Display: Internet Clock - DHT22: This Instructable konkurrerar om tävling: " GIFs Challenge 2017 ", Om du gillar det, vänligen ge din röst genom att klicka på ovanstående banner. Tack så mycket!;-) Denna handledning är en fortsättning på en resa för att lära dig mer om denna fantastiska IoT-enhet