Sadržaj:
- Korak 1: M5Stack
- Korak 2: M5Stack Moguće aplikacije
- Korak 3: M5Stack - Igle
- Korak 4: DHT knjižnica
- Korak 5: Upravljanje Arduino IDE knjižnicom
- Korak 6: Izvorni kod
- Korak 7: M5StackDHTGraph.ino
- Korak 8: M5StackDHTGraph.ino - postavljanje
- Korak 9: M5StackDHTGraph.ino - Petlja
- Korak 10: Datoteke
Video: ESP32: M5Stack s DHT22: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Razgovarajmo danas o vrlo posebnom ESP32, savršenom za Internet stvari, a to je M5Stack. Unutra sadrži ESP32, pa čak dodaje i zaslon, tipkovnicu, 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 prenio na zaslon koji se koristi u ovom projektu, što je drugačije. Međutim, izvorni kôd koji ćemo koristiti isti je onaj koji smo koristili u našem videu TEMPERATURA I VLAŽNOST S OLED ZASLONOM.
U današnjem krugu posebno želim naglasiti da imamo M5Stack s pozitivnim i negativnim spojevima, koji se napaja pomoću senzora DHT22. Obje su povezane GPIO -om. 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 gumbe, i2c konektor, USB tip C, izložene IO-ove, dvo-inčni TFT zaslon, među ostalim značajkama. 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. Također uključuje magnet za pričvršćivanje na metalne površine.
Je li vam se svidio M5Stack? Kliknite:
Korak 1: M5Stack
Jedna od inovacija M5Stack -a je da, ako skinete stražnju stranu, možete stati u različite module s različitim funkcijama, poput GPS modula, GSM -a, LoRa, između ostalih. To 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 tanjuri.
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 tipkovnicom. Oni vam omogućuju rad kao da je neka vrsta računala. 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 svojevrsnu tablicu kalkulatora / alata za rezanje.
Što kažete na brzinomjer za bicikl?
To može biti i daljinska bušilica koja se ispisuje u 3D -u i daljinski nadzire kontrolom.
Sve to pokazuje da je kontrola elektronike ovih dana znatno pristupačnija, baš kao što je i programiranje ovih sklopova postalo lakše.
Korak 3: M5Stack - Igle
Stražnja strana M5Stacka je na ovoj slici, što pokazuje da je snaga na 5 volti. Slika dalje otkriva da imamo sve što postoji u ESP32 s povezivošću.
Korak 4: DHT knjižnica
Upotrijebite biblioteku SimpleDHT, istu koju sam koristio u videu: TEMPERATURA I VLAŽNOST S OLED -ZASLONOM.
Korak 5: Upravljanje Arduino IDE knjižnicom
U "Izbornik: Skica -> Dodaj biblioteku -> Upravljanje knjižnicama" instalirajmo dvije knjižnice 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 kôd, kao što je spomenuto, isti je koji sam koristio u videu: TEMPERATURNA GRAFIKA S OLED EKRANOM. Jedina promjena koju sam napravio na ovom projektu bila je u odnosu na veličinu zaslona.
Korak 7: M5StackDHTGraph.ino
Uključit ćemo knjižnice M5Stack.h i SimpleDHT.h, a definirat ćemo i boje koje se koriste na zaslonu, 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 // definição das cores que serão utilizadas #define CRNO 0x0000 #define CRVENO 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFFDdefine dode // DHF // konstruktor 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;
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 varijablu za ispis 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 esodeverDos_OSOS_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
Korak 8: M5StackDHTGraph.ino - postavljanje
U programu Setup pokrećemo M5Stack. Definiramo naredbe za crtanje grafikona, konfiguriramo font kao i boje teksta te pozicioniramo pokazivač 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, boja) linha vodoravna M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, BIJELA); // eixo X // konfiguracija o tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // konfiguracija a 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:"); // pokazuje 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 gráfico // neophodan pois o prikazu tempe 240px de altura e separamos apenas 180 para o gráfico // umidade podešava lidu od 0-100 int temperatureMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = karta (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, YELLOW);
Zatim definiramo mogućnosti ispisa 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; // 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, CRNI); 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, BLACK); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, CRNO);
// izmjena kursora za podešavanje temperature M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (CRVENO); M5. Lcd.tisak (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.tisak (umidade); M5. Lcd.print ("%"); kašnjenje (1000); }
Korak 10: Datoteke
Je li vam se svidio M5Stack? Želite li kupiti jedan? Idite na:
Preuzmite datoteke:
INO
Preporučeni:
M5STACK Kako prikazati temperaturu, vlažnost i tlak na M5StickC ESP32 pomoću Visuina - jednostavno za napraviti: 6 koraka
M5STACK Kako prikazati temperaturu, vlažnost i tlak 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 osjetnika (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 je djevojka htjela staklenik, pa sam joj to napravio. Ali htio sam senzor temperature i vlage unutar staklenika. Pa sam guglao primjere i počeo eksperimentirati. Zaključio sam 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
Izradite Apple HomeKit senzor temperature (DHT22) pomoću RaspberryPI i DHT22: 11 koraka
Napravite Apple HomeKit temperaturni senzor (DHT22) uređaj pomoću RaspberryPI -a i DHT22: Tražio sam niskobudžetni senzor temperature / vlažnosti koji bih mogao koristiti za praćenje onoga što se događa u mom prostoru za indeksiranje jer sam ustanovio da je ovog proljeća bilo jako mokro , i imao je dosta vlage. Pa sam tražio senzor po pristupačnoj cijeni koji bih mogao nabaviti
ESP32 i OLED zaslon: internetski sat - DHT22: 10 koraka (sa slikama)
ESP32 i OLED zaslon: internetski sat - DHT22: Ovaj Instructable natječe se na natjecanju: " 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