Kazalo:
- 1. korak: M5Stack
- Korak: M5Stack Možne aplikacije
- 3. korak: M5Stack - Zatiči
- 4. korak: Knjižnica DHT
- 5. korak: Upravljanje knjižnice Arduino IDE
- 6. korak: izvorna koda
- 7. korak: M5StackDHTGraph.ino
- 8. korak: M5StackDHTGraph.ino - nastavitev
- 9. korak: M5StackDHTGraph.ino - Zanka
- 10. korak: Datoteke
Video: ESP32: M5Stack z DHT22: 10 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Danes se pogovorimo o zelo posebnem ESP32, ki je kot nalašč za internet stvari, to je M5Stack. V notranjosti vsebuje ESP32 in celo doda zaslon, tipkovnico, ojačevalnik, zvočnik in baterijo. Tako lahko ta naprava naredi nešteto stvari. Ko sem prejel to strojno opremo, sem že imel programsko opremo za ESP32 in sem jo prenesel samo na zaslon, ki se uporablja v tem projektu, kar je drugače. Izvorna koda, ki jo bomo uporabili, je enaka tisti, ki smo jo uporabili v našem videu TEMPERATURA IN VLAŽNOST Z OLEDNIM ZASLONOM.
V današnjem vezju želim posebej poudariti, da imamo M5Stack s pozitivnimi in negativnimi povezavami, ki se napaja s senzorjem DHT22. Oba sta povezana z GPIO. Podatki so prikazani v grafikonu.
V tem članku predstavimo M5Stack in se pogovorimo o njegovih aplikacijah. Poudariti moram, da ima ta naprava vhod za kartico micro SD, 1W zvočnik in vtičnico za baterijo, poleg tega pa ima tudi interakcijske gumbe, priključek i2c, USB tip C, izpostavljene vmesnike, dva-palčni zaslon TFT, med drugimi lastnostmi. To je prikazano na zgornji sliki. Lahko rečemo, da je ta naprava pripravljena za IoT, saj že ima Bluetooth in ESP32 WiFi. Vključuje tudi magnet za pritrditev na kovinske površine.
Vam je bil M5Stack všeč? Kliknite:
1. korak: M5Stack
Ena od inovacij M5Stack je, da lahko, če vzamete hrbet, vgradite različne module z različnimi funkcijami, kot so modul GPS, GSM, LoRa, med drugim. To je prikazano na sliki.
Spodaj imam več primerov modulov, od RS485, enosmernega motorja, izdelovalca, jedra do krmiljenja koračnega motorja.
To je pravzaprav zelo hiter način za sestavljanje prototipa. V starih časih je bilo treba kupiti več tranzistorskih čipov in izvesti številne sklope, kar je zahtevalo veliko časa in naložb. Šele potem je prišlo do izdelave prototipov izdelka. Takrat sta se pojavila Arduino in Raspberry, ki sta plošči.
Končno imamo M5Stack, to je zaprta škatla, pripravljena za uporabo. To nas osvobaja opravljanja drugih neštetih korakov.
Drugi modeli M5Stack so prikazani na slikah. Imamo napravo z alfanumerično, številsko in igralno tipkovnico. Ti vam omogočajo delo, kot da je nekakšen računalnik. Imamo tudi primer izvajanja programske opreme, ki jo lahko poleg Basic programiramo v MicroPythonu, Arduinu, ESP-IDF, NodeJS.
Korak: M5Stack Možne aplikacije
Med primeri aplikacij M5Stack imamo osciloskop, kot lahko vidite na sliki. Imamo tudi nekakšno tabelo kalkulatorja / rezalnega orodja.
Kaj pa merilnik hitrosti za kolo?
Lahko je tudi vrtalnik na daljavo, ki je natisnjen v 3D in na daljavo nadziran s krmilnikom.
Vse to kaže, da je krmiljenje elektronike v teh dneh veliko bolj dostopno, prav tako kot je postalo lažje programiranje teh vezij.
3. korak: M5Stack - Zatiči
Zadnji del M5Stack je na tej sliki, kar kaže, da je moč pri 5 voltih. Slika nadalje razkriva, da imamo vse, kar obstaja v ESP32, s povezljivostjo.
4. korak: Knjižnica DHT
Uporabite knjižnico SimpleDHT, ki je enaka tisti, ki sem jo uporabil v videoposnetku: TEMPERATURA IN VLAGNOST Z OLEDNIM ZASLONOM.
5. korak: Upravljanje knjižnice Arduino IDE
V "Meni: Sketch -> Dodaj knjižnico -> Upravljanje knjižnic" namestimo dve knjižnici, prikazani na spodnji sliki. Ne pozabite, da morate pred vsem tem namestiti jedro Arduino ESP32. Ta video vam pokaže, kako to storite it: KAKO NAMESTITE ARDUINO IDE V ESP32.
6. korak: izvorna koda
Kot je omenjeno, je izvorna koda enaka tisti, ki sem jo uporabil v videoposnetku: TEMPERATURNI GRAF Z OLEDNIM ZASLONOM. Edina sprememba v tem projektu je bila v zvezi z velikostjo zaslona.
7. korak: M5StackDHTGraph.ino
Vključili bomo knjižnici M5Stack.h in SimpleDHT.h ter opredelili barve, ki se uporabljajo na zaslonu, kot tudi podatkovni zatič DHT. Konstruirali bomo tudi objekt za komunikacijo s senzorjem, opredelili spremenljivko, odgovorno za odčitke, in navedli vrednost osi X.
// Libs do M5Stack e DHT #include #include // definiraj das cores que serão utilizadas #define BLACK 0x0000 #define RDEČE 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFFF dode // DHE // konstruktor do objeta para comunicar com o senzor SimpleDHT22 dht; // variaável responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Nadaljujemo z opredelitvami pozicioniranja osi X in Y, koordinatami prikaza podatkov o temperaturi in vlažnosti ter spremenljivkami, ki bodo shranjevale odčitane vrednosti. Še vedno kažemo na spremenljivko za tiskanje grafikona na zaslonu.
// 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 escreverede os POSOS_ADOS_PADOS 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
8. korak: M5StackDHTGraph.ino - nastavitev
V nastavitvah inicializiramo M5Stack. Določimo ukaze za risanje grafa, konfiguriramo pisavo in barve besedila ter postavimo kazalec za pisanje.
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (BLACK); // 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, širina, barva) linha vodoravna M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, BELA); // eixo X // konfiguracija tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // konfiguriramo a cor branca para ali texto M5. Lcd.setTextColor (BELO); // pozicija kurzorja za escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // označuje temperaturo M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
9. korak: M5StackDHTGraph.ino - Zanka
V prvem delu zanke beremo temperaturo in vlažnost, preslikamo vrednost spremenljivk za umestitev na graf in narišemo točko na zaslonu, ki se nanaša na te vrednosti, prebrane s senzorja.
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 // potrebno stanje glede prikaza tem 240px de altura e separamos apenas 180 para o gráfico // umidade nastavitev lide od 0-100 int temperatureMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = zemljevid (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, RDEČA); 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, YELLOW);
Nato določimo možnosti tiskanja grafike na zaslonu.
// aqui controlamos nossa linha de exemplo, quando chega no valor máximo decrementamos o valor // até um valor mínimo deterado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; else if (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // dodatek 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, ČRNA); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // limpa a area onde 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, ČRNO);
// Repoziciona o kurzorju za nastavitev temperature M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (RDEČA); M5. Lcd.tisk (temperatura); M5. Lcd.tisk ((char) 247); // repoziciona o kurzorju za izklop in umerjanje M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.tisk (umidade); M5. Lcd.print ("%"); zamuda (1000); }
10. korak: Datoteke
Vam je bil všeč M5Stack? Si ga želite kupiti? Pojdite na:
Prenesite datoteke:
JAZ NE
Priporočena:
M5STACK Kako prikazati temperaturo, vlažnost in tlak na M5StickC ESP32 z uporabo Visuina - enostavno narediti: 6 korakov
M5STACK Kako prikazati temperaturo, vlažnost in tlak na M5StickC ESP32 z uporabo Visuina - enostavno narediti: V tej vadnici se bomo naučili, kako programirati ESP32 M5Stack StickC z Arduino IDE in Visuino za prikaz temperature, vlažnosti in tlaka s senzorjem ENV (DHT12, BMP280, BMM150)
Temperatura in vlažnost z uporabo ESP32-DHT22-MQTT-MySQL-PHP: 7 korakov
Temperatura in vlažnost z uporabo ESP32-DHT22-MQTT-MySQL-PHP: Moje dekle je želelo rastlinjak, zato sem ga naredil. Želel pa sem senzor temperature in vlažnosti v rastlinjaku. Tako sem brskal po primerih in začel eksperimentirati. Moj zaključek je bil, da vsi primeri, ki sem jih našel, niso ravno tisti, ki
Kako programirati ESP32 M5Stack StickC z Arduino IDE in Visuino: 12 korakov
Kako programirati ESP32 M5Stack StickC z Arduino IDE in Visuino: V tej vadnici se bomo naučili programirati ESP32 M5Stack StickC z Arduino IDE in Visuino. Oglejte si predstavitveni video
Sestavite napravo Apple HomeKit s temperaturnim senzorjem (DHT22) z uporabo RaspberryPI in DHT22: 11 korakov
Zgradite napravo Apple HomeKit Temperature Sensor (DHT22) z uporabo RaspberryPI in DHT22: iskal sem nizkocenovni senzor temperature / vlažnosti, ki bi ga lahko uporabil za spremljanje dogajanja v mojem plaznem prostoru, saj sem ugotovil, da je bilo to pomlad zelo mokro , in je bilo veliko vlage. Zato sem iskal senzor po ugodnih cenah, ki bi ga lahko
Zaslon ESP32 in OLED: internetna ura - DHT22: 10 korakov (s slikami)
Zaslon ESP32 in OLED: internetna ura - DHT22: Ta Instructable tekmuje na tekmovanju: " GIFs Challenge 2017 ", Če vam je všeč, dajte svoj glas s klikom na zgornjo zastavico. Najlepša hvala! ;-) Ta vadnica je nadaljevanje potovanja, da bi izvedeli več o tej odlični napravi IoT