Përmbajtje:
- Hapi 1: M5Stack
- Hapi 2: Aplikimet e mundshme M5Stack
- Hapi 3: M5Stack - Kunjat
- Hapi 4: Biblioteka DHT
- Hapi 5: Menaxhoni Bibliotekën Arduino IDE
- Hapi 6: Kodi Burimor
- Hapi 7: M5StackDHTGraph.ino
- Hapi 8: M5StackDHTGraph.ino - Konfigurimi
- Hapi 9: M5StackDHTGraph.ino - Lak
- Hapi 10: Skedarët
Video: ESP32: M5Stack Me DHT22: 10 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Le të flasim sot për një ESP32 shumë të veçantë, të përsosur për Internetin e Gjërave, që është M5Stack. Ai përmban ESP32 brenda dhe madje shton një ekran, tastierë, amplifikator, altoparlant dhe bateri. Kështu, kjo pajisje mund të bëjë gjëra të panumërta. Kur mora këtë pajisje, unë tashmë kisha softuer për ESP32 dhe u transferova vetëm në ekranin e përdorur në këtë projekt, i cili është i ndryshëm. Sidoqoftë, kodi burimor që do të përdorim është i njëjti që përdoret në videon tonë TEMPERATURA DHE LUMTSIA ME DISPLAY OLED.
Në qarkun e sotëm, në mënyrë specifike dua të theksoj se kemi M5Stack me lidhje pozitive dhe negative, i cili ushqehet vetë me një sensor DHT22. Të dy janë të lidhur me një GPIO. Të dhënat shfaqen në tabelë.
Në këtë artikull, le të prezantojmë M5Stack dhe të diskutojmë aplikimet e tij. Më duhet të theksoj se kjo pajisje ka një hyrje për një kartë micro SD, një altoparlant 1W dhe një prizë baterie, dhe gjithashtu ka butona ndërveprimi, një lidhës i2c, një USB tip C, IO të ekspozuar, një ekran TFT dy inç, ndër veçori të tjera. Shtë treguar në foton e mësipërme. Mund të themi se kjo pajisje është gati për IoT, pasi tashmë vjen me Bluetooth dhe ESP32 WiFi. Ai gjithashtu përfshin një magnet për ngjitje në sipërfaqet metalike.
A ju pëlqeu M5Stack? Klikoni:
Hapi 1: M5Stack
Një risi e M5Stack është se, nëse hiqni shpinën, mund të përshtateni në module të ndryshme me funksione të ndryshme, të tilla si moduli GPS, GSM, LoRa, ndër të tjera. Kjo është treguar në imazh.
Unë kam më shumë shembuj të moduleve më poshtë, duke filluar nga RS485, DC Motor, Maker, Core, deri te kontrolli i motorit stepper.
Kjo është në të vërtetë një mënyrë shumë e shpejtë për të bashkuar një prototip. Në ditët e vjetra, ishte e nevojshme të blini disa patate të skuqura transistor dhe të kryeni montime të shumta, të cilat kërkonin shumë kohë dhe investime. Vetëm pasi erdhi prototipizimi i produktit. Ishte atëherë që u shfaqën Arduino dhe mjedra, të cilat janë pjata.
Tani, më në fund kemi M5Stack, i cili është kjo kuti e mbyllur gati për përdorim. Kjo na çliron nga nevoja për të kryer hapa të tjerë të panumërt.
Modele të tjera M5Stack tregohen në imazhe. Ne kemi një pajisje me tastierë alfanumerike, numerike dhe lojëra. Këto ju lejojnë të punoni sikur të jetë një lloj kompjuteri. Ne gjithashtu kemi një shembull të funksionimit të softuerit, i cili mund të programohet në MicroPython, Arduino, ESP-IDF, NodeJS, përveç Basic.
Hapi 2: Aplikimet e mundshme M5Stack
Ndër shembujt e aplikacioneve M5Stack, ne kemi oshiloskopin, siç mund ta shihni në imazh. Ne gjithashtu kemi një lloj tabele llogaritëse / mjetesh prerëse.
Po një shpejtësimatës biçikletash?
Mund të jetë gjithashtu një stërvitje në distancë, e cila shtypet në 3D dhe monitorohet nga distanca nga një kontroll.
E gjithë kjo tregon se kontrolli elektronik është shumë më i përballueshëm këto ditë, ashtu si programimi i këtyre qarqeve është bërë më i lehtë.
Hapi 3: M5Stack - Kunjat
Pjesa e pasme e M5Stack është në këtë imazh, i cili tregon se fuqia është në 5 volt. Imazhi më tej zbulon se ne kemi gjithçka që ekziston në ESP32 me lidhje.
Hapi 4: Biblioteka DHT
Përdorni librin SimpleDHT, i cili është i njëjti që kam përdorur në video: TEMPERATURA DHE LAGESHTSIA ME DISPLAY OLED.
Hapi 5: Menaxhoni Bibliotekën Arduino IDE
Në "Menu: Skicë -> Shto Bibliotekë -> Menaxhoni Bibliotekat", le të instalojmë dy bibliotekat e paraqitura në imazhin më poshtë. Mos harroni se para gjithë kësaj, ju duhet të instaloni bërthamën Arduino të ESP32. Kjo video ju tregon se si të bëni ajo: SI T IN INSTALOJ ARDUINO IDE N E ESP32.
Hapi 6: Kodi Burimor
Kodi burimor, siç u përmend, është i njëjtë me atë që kam përdorur në video: TRAJTIMI I TEMPERATURES ME DISPLAY OLED. Ndryshimi i vetëm që kam bërë në këtë projekt ishte në lidhje me madhësinë e ekranit.
Hapi 7: M5StackDHTGraph.ino
Ne do të përfshijmë bibliotekat M5Stack.h dhe SimpleDHT.h, dhe do të përcaktojmë ngjyrat e përdorura në ekran, si dhe pinin e të dhënave DHT. Ne gjithashtu do të ndërtojmë një objekt për komunikim me sensorin, do të përcaktojmë ndryshoren përgjegjëse për leximet dhe do të tregojmë vlerën e boshtit X.
// Libs do M5Stack e DHT #përfshijnë #include // definoni das cores que serão utilisadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF #DHFOFT 0 // konstruktor për të përcaktuar komunikimin e sensorit SimpleDHT22 dht; // variável responsavel for contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Ne vazhdojmë me përkufizimet e pozicionimit të boshtit X dhe boshtit Y, koordinatat e shfaqjes së të dhënave të temperaturës dhe lagështisë, si dhe variablat që do të ruajnë vlerat e lexuara. Ne ende tregojmë variablin për printimin e tabelës në ekran.
// përkufizime të bëra me dozën eixos X e Y #përcaktoni POS_X_GRAFICO 30 #përcaktoni POS_Y_GRAFICO 3 #përcaktoni ALTURA_GRAFICO 180 #përcaktoni COMPRIMENTO_GRAFICO 270 // definoni 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
Hapi 8: M5StackDHTGraph.ino - Konfigurimi
Në Setup, ne fillojmë M5Stack. Ne përcaktojmë komandat për vizatimin e grafikut, konfigurojmë fontin si dhe ngjyrat e tekstit dhe pozicionojmë kursorin për të shkruar.
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.filloj (); // pinta a tela toda de preto M5. Lcd.fillScreen (E ZI); // 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, WHITE) // eixo Y // drawFastHLine (x, y, gjerësia, ngjyra) linha horizontale M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // konfigurimi ose plotësimi i teksteve që do të shfaqen në tela M5. Lcd.setTextSize (3); // konfiguroni a cor branca para o texto M5. Lcd.setTextColor (E BARDH); // poziciona ose kursori për escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // tregon një temperaturë M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // tregon një umidade}
Hapi 9: M5StackDHTGraph.ino - Lak
Në pjesën e parë të Loop, ne lexojmë temperaturën dhe lagështinë, hartojmë vlerën e variablave për vendosje në grafik dhe vizatojmë pikën në ekran që i referohet këtyre vlerave të lexuara nga sensori.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); nëse (statusi == SimpleDHTErrSuccess) {temperatura = temp; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // e nevojshme për të shfaqur tem 240px de altura e separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = hartë (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = harta (umidade, 0, 100, 0, ALTURA_GRAFICO); // desenha na tela ose ponto referente aos valores lidos do sensor M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, KUQ); M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); // deshenha tela ose ponto referente a nossa linha de exemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
Pastaj, ne përcaktojmë mundësitë e printimit të grafikut në ekran.
// aqui controlamos nossa linha de exemplo, quando chega no valor máximo decmentamos o valor // até um valor mínimo determinado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; përndryshe nëse (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 limo 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, ZI); leituraAtual = 1; // volta o contador de leitura para 1 (novordinata 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, ZI); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, ZI);
// reposiciona ose kursori për ruajtjen e temperaturës M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (KUQ); M5. Lcd.print (temperatura); M5. Lcd.print ((char) 247); // reposiciona ose kursori për ruajtjen e një umidade M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); vonesa (1000); }
Hapi 10: Skedarët
Ju pëlqeu M5Stack? Dëshironi të blini një? Shkoni në:
Shkarkoni skedarët:
INO
Recommended:
M5STACK Si të shfaqni temperaturën, lagështinë dhe presionin në M5StickC ESP32 duke përdorur Visuino - Lehtë për tu bërë: 6 hapa
M5STACK Si të shfaqni temperaturën, lagështinë dhe presionin në M5StickC ESP32 duke përdorur Visuino - Lehtë për tu bërë: Në këtë tutorial do të mësojmë se si të programojmë ESP32 M5Stack StickC me Arduino IDE dhe Visuino për të shfaqur temperaturën, lagështinë dhe presionin duke përdorur sensorin ENV (DHT12, BMP280, BMM150)
Temperatura dhe lagështia duke përdorur ESP32-DHT22-MQTT-MySQL-PHP: 7 hapa
Temperatura dhe lagështia duke përdorur ESP32-DHT22-MQTT-MySQL-PHP: E dashura ime donte një serë, kështu që unë e bëra atë. Por unë doja një sensor të temperaturës dhe lagështisë brenda serrës. Kështu, unë kërkova në google për shembuj dhe fillova të eksperimentoja. Konkluzioni im ishte se të gjithë shembujt që gjeta nuk ishin saktësisht
Si të Programoni ESP32 M5Stack StickC Me Arduino IDE dhe Visuino: 12 hapa
Si të Programoni ESP32 M5Stack StickC Me Arduino IDE dhe Visuino: Në këtë tutorial do të mësojmë se si të programojmë ESP32 M5Stack StickC me Arduino IDE dhe Visuino. Shikoni një video demonstruese
Ndërtoni një pajisje Apple HomeKit Temperatura Sensor (DHT22) duke përdorur një RaspberryPI dhe një DHT22: 11 hapa
Ndërtoni një pajisje Apple HomeKit Temperatura Sensor (DHT22) Duke përdorur një RaspberryPI dhe një DHT22: Po kërkoja një sensor të temperaturës / lagështisë me kosto të ulët që mund ta përdorja për të monitoruar atë që po ndodh në hapësirën time të zvarritjes, pasi zbulova se këtë pranverë ishte shumë e lagësht , dhe kishte shumë lagështirë. Kështu që unë po kërkoja një sensor me çmim të arsyeshëm që mund ta p
Ekrani ESP32 dhe OLED: Ora e Internetit - DHT22: 10 hapa (me fotografi)
Ekrani ESP32 dhe OLED: Ora e Internetit - DHT22: Ky Instructable po konkurron në konkursin: " Sfida GIF 2017 ", Nëse ju pëlqen, ju lutemi jepni votën tuaj duke klikuar në flamurin e mësipërm. Faleminderit shumë!;-) Ky tutorial është një vazhdim i një udhëtimi për të mësuar më shumë rreth këtij deviku të madh të IoT