Sisällysluettelo:

ESP32: M5 Pino DHT22: 10 askelta
ESP32: M5 Pino DHT22: 10 askelta

Video: ESP32: M5 Pino DHT22: 10 askelta

Video: ESP32: M5 Pino DHT22: 10 askelta
Video: Measure Temperature and Humidity using M5Stack Core 2 with DHT11 and DHT22 - Robojax 2024, Heinäkuu
Anonim
Image
Image
ESP32: M5Pino DHT22: lla
ESP32: M5Pino DHT22: lla
ESP32: M5Pino DHT22: lla
ESP32: M5Pino DHT22: lla

Puhutaan tänään erityisestä ESP32: sta, joka on täydellinen esineiden internetille, joka on M5Stack. Se sisältää ESP32: n sisällä ja jopa lisää näytön, näppäimistön, vahvistimen, kaiuttimen ja akun. Tällä laitteella voi siis tehdä lukemattomia asioita. Kun sain tämän laitteiston, minulla oli jo ohjelmisto ESP32: lle ja siirretty vain tässä projektissa käytettyyn näyttöön, joka on erilainen. Käytämme kuitenkin samaa lähdekoodia, jota käytettiin videossamme LÄMPÖTILA JA KOSTEUS OLED -NÄYTÖLLÄ.

Tämän päivän piirissä haluan erityisesti korostaa, että meillä on M5Stack positiivisilla ja negatiivisilla yhteyksillä, joka syöttää itsensä DHT22 -anturilla. Molemmat on yhdistetty GPIO: lla. Tiedot näkyvät kaaviossa.

Tässä artikkelissa esittelemme M5Stackin ja keskustelemme sen sovelluksista. Minun on korostettava, että tässä laitteessa on tulo micro SD -kortille, 1 W: n kaiutin ja akkurasia, ja siinä on myös vuorovaikutuspainikkeet, i2c-liitin, USB-tyyppi C, paljastetut IO: t, kahden tuuman TFT-näyttö, muiden ominaisuuksien joukossa. Se näkyy yllä olevassa kuvassa. Voimme sanoa, että tämä laite on valmis esineiden internetiin, koska siinä on jo Bluetooth ja ESP32 WiFi. Se sisältää myös magneetin metallipintoihin kiinnittämistä varten.

Piditkö M5Stackista? Napsauta:

Vaihe 1: M5Stack

M5Pino
M5Pino
M5Pino
M5Pino
M5Pino
M5Pino
M5Pino
M5Pino

Yksi M5Stackin innovaatio on, että jos otat selän pois, voit sovittaa eri moduuleihin, joilla on erilaisia toimintoja, kuten GPS -moduuli, GSM, LoRa. Tämä näkyy kuvassa.

Minulla on lisää esimerkkejä moduuleista alla, RS485, DC -moottori, Maker, Core, askelmoottorin ohjaukseen.

Tämä on itse asiassa erittäin nopea tapa koota prototyyppi. Ennen vanhaan oli tarpeen ostaa useita transistorisiruja ja suorittaa lukuisia kokoonpanoja, mikä vaati paljon aikaa ja investointeja. Vasta sen jälkeen tuli tuotteen prototyyppi. Silloin ilmestyi Arduino ja Vadelma, jotka ovat levyjä.

Nyt meillä on vihdoin M5Stack, joka on tämä käyttövalmis suljettu laatikko. Tämä vapauttaa meidät muista lukemattomista vaiheista.

Muut M5Stack -mallit näkyvät kuvissa. Meillä on laite, jossa on aakkosnumeerinen, numeerinen ja pelinäppäimistö. Niiden avulla voit työskennellä ikään kuin se olisi eräänlainen tietokone. Meillä on myös esimerkki käynnissä olevasta ohjelmistosta, joka voidaan ohjelmoida Basicin lisäksi MicroPythoniin, Arduinoon, ESP-IDF: ään, NodeJS: ään.

Vaihe 2: M5Stackin mahdolliset sovellukset

M5Stack Mahdolliset sovellukset
M5Stack Mahdolliset sovellukset
M5Stack Mahdolliset sovellukset
M5Stack Mahdolliset sovellukset
M5Stack Mahdolliset sovellukset
M5Stack Mahdolliset sovellukset

Esimerkkeinä M5Stack -sovelluksista meillä on oskilloskooppi, kuten näet kuvassa. Meillä on myös eräänlainen laskin- / leikkaustyökalutaulukko.

Entäs polkupyörän nopeusmittari?

Se voi olla myös etäpora, joka tulostetaan 3D -muodossa ja jota etäohjataan ohjaimella.

Kaikki tämä osoittaa, että elektroniikan ohjaus on nykyään paljon edullisempaa, samoin kuin näiden piirien ohjelmointi on tullut helpommaksi.

Vaihe 3: M5Stack - nastat

M5Stack - nastat
M5Stack - nastat

M5Stackin takaosa on tässä kuvassa, mikä osoittaa, että teho on 5 volttia. Kuva paljastaa lisäksi, että meillä on kaikki ESP32: ssa olemassa olevat yhteydet.

Vaihe 4: DHT -kirjasto

DHT -kirjasto
DHT -kirjasto

Käytä SimpleDHT lib, joka on sama, jota käytin videossa: LÄMPÖTILA JA KOSTEUS OLED -NÄYTÖLLÄ.

Vaihe 5: Arduino IDE -kirjaston hallinta

Arduino IDE -kirjaston hallinta
Arduino IDE -kirjaston hallinta

Asennetaan "Valikko: Luonnos -> Lisää kirjasto -> Hallitse kirjastoja" -valikkoon alla olevassa kuvassa näkyvät kaksi kirjastoa. Muista, että ennen kaikkea tätä sinun on asennettava ESP32: n Arduino -ydin. Tämä video näyttää, miten it: ARDUINO IDE: N ASENNUS ESP32: een.

Vaihe 6: Lähdekoodi

Lähdekoodi, kuten mainittiin, on sama, jota käytin videossa: LÄMPÖTILAKUVAUS OLED -NÄYTÖLLÄ. Ainoa muutos tähän projektiin oli suhteessa näytön kokoon.

Vaihe 7: M5StackDHTGraph.ino

Sisällytämme kirjastoihin M5Stack.h ja SimpleDHT.h ja määritämme näytössä käytettävät värit sekä DHT -datanastan. Rakennamme myös objektin kommunikaatioon anturin kanssa, määritämme lukemista vastaavan muuttujan ja ilmoitamme X-akselin arvon.

// 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 KELTAINEN 0xFFE0 #define WHITE 0xFFFF is # // construtor do objeto para comunicar com o sensor SimpleDHT22 dht; // vaihtelevel responseavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;

Jatkamme X-akselin ja Y-akselin paikannusmäärityksillä, lämpötilan ja kosteuden tietojen näyttökoordinaateilla sekä muuttujilla, jotka tallentavat luetut arvot. Osoitamme edelleen muuttujaa kaavion tulostamiseksi näytölle.

// 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 escrevereineDOS 200D que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int lämpötila = 0; // variável que armazenará o valor da coordenada Y para desenharmos uma linha de examplelo // que varia os valores de 1 em 1 int linhaExemplo = 20; int fator = 1; // indicará se somaremos ou subrairemos uma unidade na variável linhaExemplo

Vaihe 8: M5StackDHTGraph.ino - Asennus

Alustamme asennuksessa M5Stackin. Määritämme kaavion piirtämisen komennot, määritä fontti sekä tekstin värit ja sijoitamme kohdistimen kirjoittamista varten.

void setup (void) {Serial.begin (115200); // Inicializa tai M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (MUSTA); // 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 texto que escreveremos em tela M5. Lcd.setTextSize (3); // configura a cor branca para tai texto M5. Lcd.setTextColor (VALKOINEN); // sijainti tai kohdistin escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // indicando a temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}

Vaihe 9: M5StackDHTGraph.ino - silmukka

Silmukan ensimmäisessä osassa luemme lämpötilan ja kosteuden, kartoitamme muuttujien arvon kaavioon sijoittamista varten ja piirrämme näytölle pisteen, joka viittaa näihin anturista luettuihin arvoihin.

void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int -tila = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {lämpötila = lämpötila; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // välttämätön poisto tai näyttö 240px de etura e separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = kartta (lämpötila, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = kartta (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 examplelo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, KELTAINEN);

Määritämme sitten mahdollisuudet tulostaa grafiikka näytölle.

// aqui controlamos nossa linha de examplelo, quando chega no valor máximo decmentamos o valor // até um valor mínimo determinado (no nosso caso 10), e a partir daí, inkremta novamente if (linhaExemplo == 50) fator = -1; muuten jos (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // lisäykset 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 alue on 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, MUSTA);

// reposiciona or kohdistin lämpötilan M5. Lcd.setCursor noutamiseen (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (PUNAINEN); M5. Lcd.print (lämpötila); M5. Lcd.print ((char) 247); // reposiciona or kohdistin, joka avataan umidade M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); viive (1000); }

Vaihe 10: Tiedostot

Piditkö M5Stackista? Haluatko ostaa sellaisen? Siirry osoitteeseen:

Lataa tiedostot:

PDF

INO

Suositeltava: