Sadržaj:
- Korak 1: M5Stack
- Korak 2: M5Stack Moguće aplikacije
- Korak 3: M5Stack - Igle
- Korak 4: DHT biblioteka
- Korak 5: Upravljanje Arduino IDE bibliotekom
- Korak 6: Izvorni kod
- Korak 7: M5StackDHTGraph.ino
- Korak 8: M5StackDHTGraph.ino - postavljanje
- Korak 9: M5StackDHTGraph.ino - Petlja
- Korak 10: Datoteke
Video: ESP32: M5Stack sa DHT22: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Razgovarajmo danas o vrlo posebnom ESP32, savršenom za Internet stvari, a to je M5Stack. Unutra sadrži ESP32, pa čak dodaje i ekran, tastaturu, pojačalo, zvučnik i bateriju. Dakle, ovaj uređaj može učiniti bezbroj stvari. Kad sam dobio ovaj hardver, već sam imao softver za ESP32 i samo sam ga portirao na ekran koji se koristi u ovom projektu, koji je drugačiji. Međutim, izvorni kôd koji ćemo koristiti isti je onaj koji se koristi u našem videu TEMPERATURA I VLAŽNOST S OLED EKRANOM.
U današnjem krugu posebno želim naglasiti da imamo M5Stack s pozitivnim i negativnim vezama, koji se napaja pomoću DHT22 senzora. Oboje je povezano putem GPIO -a. Podaci se prikazuju na grafikonu.
U ovom članku predstavimo M5Stack i razgovarajmo o njegovim primjenama. Moram naglasiti da ovaj uređaj ima ulaz za mikro SD karticu, zvučnik od 1 W i utičnicu za bateriju, a također ima i interakcijske tipke, i2c konektor, USB tip C, izložene IO, dvo-inčni TFT ekran, između ostalih karakteristika. To je prikazano na gornjoj slici. Možemo reći da je ovaj uređaj spreman za IoT jer već dolazi s Bluetoothom i ESP32 WiFi. Sadrži i magnet za pričvršćivanje na metalne površine.
Da li vam se svidio M5Stack? Kliknite:
Korak 1: M5Stack
Jedna od inovacija M5Stack -a je da, ako skinete stražnju stranu, možete uklopiti različite module s različitim funkcijama, poput GPS modula, GSM -a, LoRa, između ostalih. Ovo je prikazano na slici.
U nastavku imam još primjera modula, u rasponu od RS485, istosmjernog motora, proizvođača, jezgre do upravljanja koračnim motorom.
Ovo je zapravo vrlo brz način sastavljanja prototipa. U stara vremena bilo je potrebno kupiti nekoliko tranzistorskih čipova i izvesti brojne sklopove, što je zahtijevalo puno vremena i ulaganja. Tek nakon što je došlo do prototipiranja proizvoda. Tada su se pojavili Arduino i Malina, koji su ploče.
Konačno imamo M5Stack, zatvorenu kutiju spremnu za upotrebu. To nas oslobađa od toga da moramo izvesti druge bezbrojne korake.
Ostali modeli M5Stack prikazani su na slikama. Imamo uređaj sa alfanumeričkom, numeričkom i igraćom tastaturom. Oni vam omogućuju rad kao da je neka vrsta računara. Imamo i primjer pokrenutog softvera, koji se može programirati u MicroPythonu, Arduinu, ESP-IDF-u, NodeJS-u, uz Basic.
Korak 2: M5Stack Moguće aplikacije
Među primjerima aplikacija M5Stack imamo osciloskop, kao što možete vidjeti na slici. Imamo i neku vrstu tablice kalkulatora / alata za rezanje.
Šta kažete na brzinomjer za bicikl?
To može biti i daljinska bušilica, koja se štampa u 3D -u i daljinski nadzire kontrolom.
Sve ovo pokazuje da je kontrola elektronike ovih dana mnogo pristupačnija, baš kao što je i programiranje ovih kola postalo lakše.
Korak 3: M5Stack - Igle
Stražnji dio M5Stack -a je na ovoj slici, što pokazuje da je snaga na 5 volti. Slika dalje otkriva da imamo sve što postoji u ESP32 sa povezivanjem.
Korak 4: DHT biblioteka
Koristite SimpleDHT lib, isti koji sam koristio u videu: TEMPERATURA I VLAŽNOST SA OLED EKRANOM.
Korak 5: Upravljanje Arduino IDE bibliotekom
U "Izbornik: Sketch -> Dodaj biblioteku -> Upravljanje bibliotekama" instalirajmo dvije biblioteke prikazane na donjoj slici. Upamtite da prije svega ovoga morate instalirati Arduino jezgru ESP32. Ovaj video prikazuje kako to učiniti it: KAKO INSTALIRATI ARDUINO IDE U ESP32.
Korak 6: Izvorni kod
Izvorni kod, kao što je spomenuto, isti je koji sam koristio u videu: TEMPERATURNA GRAFIKA SA OLED EKRANOM. Jedina promjena koju sam napravio na ovom projektu bila je u odnosu na veličinu ekrana.
Korak 7: M5StackDHTGraph.ino
Uključićemo biblioteke M5Stack.h i SimpleDHT.h, a definisaćemo i boje koje se koriste na ekranu, kao i DHT pin podataka. Također ćemo konstruirati objekt za komunikaciju sa senzorom, definirati varijablu odgovornu za očitanja i naznačiti vrijednost osi X.
// Libs do M5Stack e DHT #include #include // definiranje das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #deteine YELLOW 0xFFE0 #define WHITE 0xFFFIN #dof // konstruktor za objektiv para komunikatora sa senzorom SimpleDHT22 dht; // varijable responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Nastavljamo s definicijama pozicioniranja na osi X i Y, koordinatama za prikaz podataka o temperaturi i vlažnosti, kao i varijablama koje će pohraniti pročitane vrijednosti. I dalje ukazujemo na promenljivu za štampanje grafikona na ekranu.
// definišemo do pozicioniranja dos eixos X e Y #definiraj POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // definiraj da uskladiš POSOS_PADOS que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 0; // varijable 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; // pokazuje da se somaremos ou subtrairemos uma unidade na različitoj linhaExemplo
Korak 8: M5StackDHTGraph.ino - postavljanje
U programu Setup pokrećemo M5Stack. Definiramo naredbe za crtanje grafikona, konfiguriramo font kao i boje teksta i pozicioniramo kursor za pisanje.
void setup (void) {Serial.begin (115200); // Pokretanje 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, boja) linha vodoravna M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, BIJELA); // eixo X // konfiguracija o tekstualnom tekstualnom tekstu M5. Lcd.setTextSize (3); // konfigurira cor branca para ili texto M5. Lcd.setTextColor (BIJELO); // pozicija kursora za escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // prikazuje temperaturu M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Korak 9: M5StackDHTGraph.ino - Petlja
U prvom dijelu petlje čitamo temperaturu i vlažnost, preslikavamo vrijednost varijabli za postavljanje na grafikon i crtamo točku na ekranu koja se odnosi na ove vrijednosti očitane sa senzora.
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 grafico // potrebno stanje radi prikaza tempe 240px de altura i odvojeni apeni 180 para o gariku // umidade podešene vrijednosti servera od 0-100 int temperatureMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = mapa (umidade, 0, 100, 0, ALTURA_GRAFICO); // desenha na tela o ponto referencu aos valores lidos to 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 referenca a nossa linha de exemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
Zatim definiramo mogućnosti ispisa grafike na ekranu.
// 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; // dodatak o kontaktu de leituras realizadas leituraAtual ++; // se može postaviti na čeg 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 area toda do gráfico M5. Lcd.fillRect (POS_X_GRAFICO+1, POS_Y_GRAFICO-1, COMPRIMENTO_GRAFICO, ALTURA_GRAFICO-1, CRNI); leituraAtual = 1; // napon o kontaktu de leitura paragraf 1 (nova koordenada X)} // ograničenje područja i kolokamos o valoriranju temperature i umidanju 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, CRNO);
// repozicioniranje kursora za podešavanje temperature M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (CRVENO); M5. Lcd.print (temperatura); M5. Lcd.print ((char) 247); // repozicioniranje kursora za okretanje i umidadu M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); kašnjenje (1000); }
Korak 10: Datoteke
Da li vam se svidio M5Stack? Želite li kupiti jednu? Idite na:
Preuzmite datoteke:
JA NE
Preporučuje se:
M5STACK Kako prikazati temperaturu, vlažnost i pritisak na M5StickC ESP32 pomoću Visuina - jednostavno za napraviti: 6 koraka
M5STACK Kako prikazati temperaturu, vlažnost i pritisak na M5StickC ESP32 pomoću Visuina - jednostavno za napraviti: U ovom ćemo vodiču naučiti kako programirati ESP32 M5Stack StickC s Arduino IDE i Visuino za prikaz temperature, vlažnosti i tlaka pomoću ENV senzora (DHT12, BMP280, BMM150)
Temperatura i vlažnost pomoću ESP32-DHT22-MQTT-MySQL-PHP: 7 koraka
Temperatura i vlažnost korištenjem ESP32-DHT22-MQTT-MySQL-PHP: Moja djevojka je htjela staklenik, pa sam je napravio. Ali htio sam senzor temperature i vlažnosti unutar staklenika. Pa sam guglao primjere i počeo eksperimentirati. Moj zaključak je bio da svi primjeri koje sam pronašao nisu baš
Kako programirati ESP32 M5Stack StickC s Arduino IDE -om i Visuinom: 12 koraka
Kako programirati ESP32 M5Stack StickC s Arduino IDE -om i Visuinom: U ovom ćemo vodiču naučiti kako programirati ESP32 M5Stack StickC s Arduino IDE -om i Visuinom. Pogledajte demonstracijski video
Napravite Apple HomeKit temperaturni senzor (DHT22) uređaj pomoću RaspberryPI i DHT22: 11 koraka
Napravite Apple HomeKit temperaturni senzor (DHT22) uređaj koristeći RaspberryPI i DHT22: Tražio sam niskobudžetni senzor temperature / vlažnosti koji bih mogao upotrijebiti za praćenje onoga što se događa u mom prostoru za pretraživanje, jer sam ustanovio da je ovog proljeća bilo jako mokro , i bilo je dosta vlage. Pa sam tražio senzor po pristupačnoj cijeni koji bih mogao nabaviti
ESP32 i OLED ekran: Internet sat - DHT22: 10 koraka (sa slikama)
ESP32 i OLED ekran: Internet sat - DHT22: Ovaj Instructable takmiči se na takmičenju: " GIFs Challenge 2017 ", ako vam se sviđa, dajte svoj glas klikom na gornji natpis. Hvala vam puno! ;-) Ovaj vodič je nastavak putovanja kako biste saznali više o ovom velikom IoT uređaju