Orodha ya maudhui:

ESP32: M5Stack Na DHT22: Hatua 10
ESP32: M5Stack Na DHT22: Hatua 10

Video: ESP32: M5Stack Na DHT22: Hatua 10

Video: ESP32: M5Stack Na DHT22: Hatua 10
Video: Бесконтактный датчик температуры дальнего действия MLX90614-DCI с Arduino 2024, Julai
Anonim
Image
Image
ESP32: M5Stack Pamoja na DHT22
ESP32: M5Stack Pamoja na DHT22
ESP32: M5Stack Pamoja na DHT22
ESP32: M5Stack Pamoja na DHT22

Wacha tuzungumze leo juu ya ESP32 maalum, kamili kwa Mtandaoni wa Vitu, ambayo ni M5Stack. Inayo ESP32 ndani na hata inaongeza kwenye onyesho, kibodi, kipaza sauti, spika, na betri. Kwa hivyo, kifaa hiki kinaweza kufanya vitu vingi. Wakati nilipokea vifaa hivi, tayari nilikuwa na programu ya ESP32 na nilikuwa nikisafirishwa kwenye onyesho linalotumiwa katika mradi huu, ambayo ni tofauti. Walakini, nambari ya chanzo tutakayotumia ni ile ile iliyotumiwa kwenye video yetu JOTO NA UNYENYEKEVU NA OLED DISPLAY.

Katika mzunguko wa leo, ninataka kusisitiza haswa kuwa tuna M5Stack na unganisho chanya na hasi, ambalo hujilisha yenyewe na sensorer ya DHT22. Zote mbili zimeunganishwa na GPIO. Takwimu zinaonyeshwa kwenye chati.

Katika nakala hii, wacha tuanzishe M5Stack na tujadili matumizi yake. Ninahitaji kusisitiza kuwa kifaa hiki kina pembejeo kwa kadi ndogo ya SD, Spika ya 1W, na tundu la betri, na pia ina vifungo vya mwingiliano, kontakt i2c, USB aina C, IO zilizo wazi, onyesho la TFT-inchi mbili, kati ya huduma zingine. Inaonyeshwa kwenye picha hapo juu. Tunaweza kusema kifaa hiki kiko tayari kwa IoT, kwani tayari inakuja na Bluetooth na ESP32 WiFi. Pia inajumuisha sumaku ya kushikamana na nyuso za chuma.

Ulipenda M5Stack? Bonyeza:

Hatua ya 1: M5Stack

M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack

Ubunifu mmoja wa M5Stack ni kwamba, ikiwa unachukua nyuma, unaweza kutoshea katika moduli tofauti na kazi tofauti, kama moduli ya GPS, GSM, LoRa, kati ya zingine. Hii imeonyeshwa kwenye picha.

Nina mifano zaidi ya moduli hapa chini, kuanzia RS485, DC Motor, Maker, Core, hadi stepper motor control.

Hii ni njia ya haraka sana ya kuweka mfano. Katika siku za zamani, ilikuwa ni lazima kununua chips kadhaa za transistor na kufanya makusanyiko mengi, ambayo yanahitaji muda mwingi na uwekezaji. Tu baada ya kuja bidhaa prototyping. Wakati huo ndipo Arduino na Raspberry walipoonekana, ambayo ni sahani.

Sasa, mwishowe tuna M5Stack, ambayo ni sanduku lililofungwa tayari kwa matumizi. Hii inatuweka huru kutokana na kufanya hatua zingine zisizohesabika.

Mifano zingine za M5Stack zinaonyeshwa kwenye picha. Tunayo kifaa kilicho na herufi za nambari, nambari, na mchezo. Hizi hukuruhusu kufanya kazi kana kwamba ni aina ya kompyuta. Pia tuna mfano wa programu inayoendesha, ambayo inaweza kusanidiwa katika MicroPython, Arduino, ESP-IDF, NodeJS, pamoja na Msingi.

Hatua ya 2: Maombi yanayowezekana ya M5Stack

Maombi Yanayowezekana ya M5Stack
Maombi Yanayowezekana ya M5Stack
Maombi Yanayowezekana ya M5Stack
Maombi Yanayowezekana ya M5Stack
Maombi Yanayowezekana ya M5Stack
Maombi Yanayowezekana ya M5Stack

Miongoni mwa mifano ya matumizi ya M5Stack, tuna oscilloscope, kama unaweza kuona kwenye picha. Pia tuna aina ya meza ya zana ya kikokotozi / ya kukata.

Vipi kuhusu kipima kasi cha baiskeli?

Inaweza pia kuwa kuchimba visima kwa mbali, ambayo inachapishwa katika 3D na kufuatiliwa kwa mbali na udhibiti.

Yote hii inaonyesha kuwa udhibiti wa vifaa vya elektroniki ni nafuu zaidi siku hizi, kama vile programu ya nyaya hizi imekuwa rahisi.

Hatua ya 3: M5Stack - Pini

M5Stack - Pini
M5Stack - Pini

Nyuma ya M5Stack iko kwenye picha hii, ambayo inaonyesha kuwa nguvu iko kwa volts 5. Picha hiyo inadhihirisha zaidi kuwa tuna kila kitu kilichopo katika ESP32 na unganisho.

Hatua ya 4: Maktaba ya DHT

Maktaba ya DHT
Maktaba ya DHT

Tumia libra ya SimpleDHT, ambayo ni ile ile niliyotumia kwenye video: JOTO NA UNYENYEKEVU NA OLED OONESHA.

Hatua ya 5: Dhibiti Maktaba ya Arduino IDE

Usimamizi wa Maktaba ya Arduino IDE
Usimamizi wa Maktaba ya Arduino IDE

Katika "Menyu: Mchoro -> Ongeza Maktaba -> Dhibiti Maktaba," wacha tusakinishe maktaba mbili zilizoonyeshwa kwenye picha hapa chini. Kumbuka kuwa kabla ya yote haya, unahitaji kusanikisha kiini cha Arduino cha ESP32. Video hii inakuonyesha jinsi ya kufanya ni: JINSI YA KUFUNGA IDE YA ARDUINO KWENYE ESP32.

Hatua ya 6: Nambari ya Chanzo

Nambari ya chanzo, kama ilivyoelezwa, ni ile ile niliyotumia kwenye video: JOTO LA JOTO NA OLED DISPLAY. Mabadiliko pekee niliyoyafanya kwa mradi huu yalikuwa kuhusiana na saizi ya onyesho.

Hatua ya 7: M5StackDHTGraph.ino

Tutajumuisha maktaba ya M5Stack.h na SimpleDHT.h, na tutafafanua rangi zinazotumiwa kwenye onyesho, na pia pini ya data ya DHT. Pia tutaunda kitu cha mawasiliano na sensa, tufafanue ubadilishaji unaohusika na usomaji, na tuonyeshe thamani ya mhimili wa 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 MANJANO 0xFFE0 #fasili NYEUPE 0xFFFF #fine DHTPIN 5 // fine DHTPIN 5 // construtor do objeto para comunicar com o sensor SimpleDHT22 dht; // variável responsavel por contar o número de leituras realizadas and indicador do valor no eixo X int leituraAtual = 1;

Tunaendelea na ufafanuzi wa nafasi ya X-axis na Y-axis, joto na unyevu wa kuratibu za data, pamoja na vigeuzi ambavyo vitahifadhi maadili yaliyosomwa. Bado tunaelekeza kwa kutofautisha kwa kuchapisha chati kwenye onyesho.

// definições kufanya posicionamento dos eixos X e Y # kufafanua 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 temperatura e umidade # define POS_X_DADOS 30 # define POS_Y_DADOS 200 // variáveis que armazenarão os valores lidos da umidade na 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; // kuonyesha kama somaremos ou subtrairemos uma unidade na variável linhaExemplo

Hatua ya 8: M5StackDHTGraph.ino - Usanidi

Katika Usanidi, tunaanzisha M5Stack. Tunafafanua amri za kuchora grafu, sanidi fonti na rangi ya maandishi, na weka mshale kwa maandishi.

kuanzisha batili (batili) {Serial.begin (115200); // Inicializa o M5Stack M5. Anza (); // pinta a tela toda de preto M5. Lcd.fillScreen (NYEUSI); // os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, width, color) linha wima M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHITE); // eixo Y // choraFastHLine (x, y, upana, rangi) linha usawa M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO + 1, COMPRIMENTO_GRAFICO, NYEUPE); // eixo X // usanidi wa tamnaho kufanya maandishi ambayo yanahusu M5. Lcd.setTextSize (3); // usanidi wa branca kwa maandishi M5. Lcd.setTextColor (NYEUPE); // posiciona o mshale kwa 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}

Hatua ya 9: M5StackDHTGraph.ino - Kitanzi

Katika sehemu ya kwanza ya Kitanzi, tunasoma hali ya joto na unyevu, ramani ya thamani ya vigeuzi vya kuwekwa kwenye grafu, na kuchora alama kwenye skrini ambayo inahusu maadili haya yaliyosomwa kutoka kwa sensorer.

kitanzi batili () {// Fazemos a leitura da temperatura e umiade float temp, umid; hali ya int = dht.read2 (DHTPIN, & temp, & umid, NULL); ikiwa (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 = ramani (temperatura, 0, 100, (ALTURA_GRAFICO); int umidadeMapeada = ramani (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 + leituraKwa kweli, 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);

Kisha, tunafafanua uwezekano wa kuchapisha picha kwenye maonyesho.

// aqui controlamos nossa linha de exemplo, quando chega no valor máximo minimmentamos o valor // até um valor mínimo determinado (hakuna neno la 10), e partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; vinginevyo ikiwa (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo + = fator; // incrementa o contador de leituras realizadas leituraKwa kweli ++; // 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. ikiwa (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, NYEUSI); leituraKwa kweli = 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, NYEUSI); M5. Lcd.fillRect (POS_X_DADOS + 165, POS_Y_DADOS, 90, 30, NYEUSI);

// reposiciona o mshale kwa escrever a temperatura M5. Lcd.setCursor (POS_X_DADOS + 50, POS_Y_DADOS); M5. Lcd.setTextColor (RED); M5. LCD.print (temperatura); M5. Lcd.print ((char) 247); // reposiciona o mshale kwa kusambaza umidade M5. Lcd.setCursor (POS_X_DADOS + 165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); kuchelewesha (1000); }

Hatua ya 10: Faili

Ulipenda M5Stack? Unataka kununua moja? Nenda kwa:

Pakua faili:

PDF

INO

Ilipendekeza: