Mundarija:
- 1 -qadam: M5Stack
- 2 -qadam: M5Stack mumkin bo'lgan ilovalar
- 3 -qadam: M5Stack - pinlar
- 4 -qadam: DHT kutubxonasi
- 5 -qadam: Arduino IDE kutubxonasini boshqarish
- 6 -qadam: Manba kodi
- 7 -qadam: M5StackDHTGraph.ino
- 8 -qadam: M5StackDHTGraph.ino - O'rnatish
- 9 -qadam: M5StackDHTGraph.ino - Loop
- 10 -qadam: fayllar
Video: ESP32: DHT22 bilan M5Stack: 10 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Keling, M5Stack - narsalar Interneti uchun juda mos bo'lgan juda maxsus ESP32 haqida gapiraylik. U ESP32 -ni o'z ichiga oladi va hatto displey, klaviatura, kuchaytirgich, karnay va batareyaga qo'shiladi. Shunday qilib, bu qurilma son -sanoqsiz narsalarni qila oladi. Men bu uskunani olganimda, menda ESP32 uchun dasturiy ta'minot bor edi va men faqat ushbu loyihada ishlatilgan displeyga ko'chirilgandim. Biroq, biz ishlatadigan manba kodi OLED displeyli TEMPERATURA VA HAVOLLIK videomizda ishlatilgan koddir.
Bugungi davrda men alohida ta'kidlashni istardimki, bizda M5Stack ijobiy va salbiy ulanishlar mavjud, u o'zini DHT22 sensori bilan oziqlantiradi. Ikkalasi ham GPIO orqali ulangan. Ma'lumotlar jadvalda ko'rsatiladi.
Ushbu maqolada, keling, M5Stack -ni tanishtiramiz va uning ilovalarini muhokama qilamiz. Shuni ta'kidlash kerakki, ushbu qurilmada micro SD-karta, 1W dinamik va batareya rozetkasi uchun kirish bor, shuningdek o'zaro ta'sir tugmalari, i2c ulagichi, USB tipidagi C, ochiq IO, ikki dyuymli TFT displeyi, boshqa xususiyatlar qatorida. Bu yuqoridagi rasmda ko'rsatilgan. Aytishimiz mumkinki, bu qurilma IoT uchun tayyor, chunki u allaqachon Bluetooth va ESP32 WiFi bilan birga keladi. Shuningdek, u metall yuzalarga mahkamlash uchun magnitni o'z ichiga oladi.
Sizga M5Stack yoqdimi? Bu erni bosing:
1 -qadam: M5Stack
M5Stack -ning yangiliklaridan biri shundaki, agar siz orqa qismini echib olsangiz, siz GPS moduli, GSM, LoRa va boshqalar kabi turli funktsiyali turli modullarga sig'ishingiz mumkin. Bu rasmda ko'rsatilgan.
Quyida menda RS485, shahar dvigateli, ishlab chiqaruvchi, yadrodan tortib, step motorini boshqarishgacha bo'lgan boshqa modullar misollari bor.
Bu aslida prototipni yig'ishning juda tez usuli. Qadimgi kunlarda bir nechta tranzistorli chiplarni sotib olish va ko'p yig'ilishlarni bajarish kerak edi, bu esa ko'p vaqt va mablag 'talab qiladi. Faqat mahsulot prototipi paydo bo'ldi. Aynan o'sha paytda Arduino va Raspberry paydo bo'ldi, bu plitalar.
Endi bizda nihoyat M5Stack bor, bu foydalanishga tayyor yopiq quti. Bu bizni boshqa son -sanoqsiz qadamlarni bajarishdan ozod qiladi.
Boshqa M5Stack modellari rasmlarda ko'rsatilgan. Bizda raqamli, raqamli va o'yinli klaviaturali qurilma mavjud. Bu sizga xuddi kompyuter kabi ishlashga imkon beradi. Bizda, shuningdek, Basic-dan tashqari MicroPython, Arduino, ESP-IDF, NodeJS-da dasturlash mumkin bo'lgan dasturiy ta'minotni ishga tushirishga misol bor.
2 -qadam: M5Stack mumkin bo'lgan ilovalar
M5Stack ilovalariga misollar orasida biz rasmda ko'rib turganingizdek osiloskopimiz bor. Bizda kalkulyator / kesish asboblari jadvali ham bor.
Velosiped tezlik o'lchagichiga nima deysiz?
Bu, shuningdek, 3D formatida chop etiladigan va masofadan boshqarish pulti yordamida boshqariladigan masofaviy matkap bo'lishi mumkin.
Bularning barchasi shuni ko'rsatadiki, hozirgi vaqtda elektron sxemalarni boshqarish ancha qulayroq, xuddi shu sxemalarni dasturlash osonlashdi.
3 -qadam: M5Stack - pinlar
M5Stack -ning orqa qismi bu rasmda, bu kuch 5 voltda ekanligini ko'rsatadi. Rasm, bizda ESP32 -da mavjud bo'lgan hamma narsa borligini ko'rsatadi.
4 -qadam: DHT kutubxonasi
SimpleDHT lib -dan foydalaning, bu men videoda ishlatilgan: OLED displeyli harorat va namlik.
5 -qadam: Arduino IDE kutubxonasini boshqarish
"Menyu: Sketch -> Kutubxona qo'shish -> Kutubxonalarni boshqarish" bo'limida quyidagi rasmda ko'rsatilgan ikkita kutubxonani o'rnatamiz. Shuni yodda tutingki, bundan oldin siz ESP32 -ning Arduino yadrosini o'rnatishingiz kerak. Bu video sizga qanday qilishni ko'rsatib beradi. u: ESP32 -da ARDUINO ID -ni QANDAY O'RNATISH KERAK.
6 -qadam: Manba kodi
Manba kodi, yuqorida aytib o'tilganidek, men videoda ishlatganimdek: OLED displeyli TEMPERATURA GRAPHI. Men bu loyihada qilgan yagona o'zgarish displeyning o'lchamiga bog'liq edi.
7 -qadam: M5StackDHTGraph.ino
Biz M5Stack.h va SimpleDHT.h kutubxonalarini o'z ichiga olamiz va biz displeyda ishlatiladigan ranglarni, shuningdek DHT ma'lumot pinini aniqlaymiz. Shuningdek, biz sensor bilan aloqa qilish uchun ob'ekt quramiz, o'qishlar uchun javobgar o'zgaruvchini aniqlaymiz va X o'qining qiymatini ko'rsatamiz.
// Libs do M5Stack e DHT #include #include // das cores que cores que utiladadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #defineFEFDEFFEFDEFFEFDEFEFFEFDEFFEFDEFFEFFEFFEFEFFEFFEFFEFFEFFEFFEFFEFEFFEFFEFFEFFEFFFEFFEFFFEFFFEFFFEFFFEFDF // konstruktor SimpleDHT22 dht; // turli xil javoblar berilgan bo'lsa, hech qanday eixo X int leituraAtual = 1;
Biz X o'qi va Y o'qining joylashishni aniqlash ta'riflari, harorat va namlik ma'lumotlarini ko'rsatish koordinatalari, shuningdek o'qilgan qiymatlarni saqlaydigan o'zgaruvchilar bilan davom etamiz. Biz hali ham displeyda jadvalni chop etish uchun o'zgaruvchiga ishora qilamiz.
// ta'riflar pozitsionamento dos eixos X e Y #POS_X_GRAFICO ni aniqlang 30 #aniqlang POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #ta'riflash COMPRIMENTO_GRAFICO 270 // ta'riflar hamjihatlikda saqlanadi POS_DOS_DOS_DOS_DOS_DOS_DOS_DOS_DOS_DOS_ que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 0; // turli xil variantlar, masalan, koordinatalar, masalan, misollar // masalan, 1 ta linhaExemplo = 20; int fator = 1; // indará se somaremos yoki subtrairemos, na unidade na variável linhaExemplo
8 -qadam: M5StackDHTGraph.ino - O'rnatish
O'rnatishda biz M5Stack -ni ishga tushiramiz. Biz grafik chizish buyruqlarini belgilaymiz, shriftni, shuningdek matn ranglarini sozlaymiz va kursorni yozish uchun joylashtiramiz.
void setup (void) {Serial.begin (115200); // Informatsiya yoki M5Stack M5.begin (); // M5. Lcd.fillScreen (Qora); // os comandos a seuir desenhar as linxas dos eixos cartesianos na cor branca // drawFastVLine (x, y, en, rang) vertikal M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHO). // eixo Y // drawFastHLine (x, y, kenglik, rang) chiziqli gorizontal M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // konfiguratsiya M5. Lcd.setTextSize (3) matnli buyruqlar bilan amalga oshiriladi; // M5. Lcd.setTextColor (WHITE) uchun matnli konfiguratsiya; // M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS) uchun eslatma kursori; M5. Lcd.print ("T:"); // indikator temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indando a umidda}
9 -qadam: M5StackDHTGraph.ino - Loop
Loopning birinchi qismida biz harorat va namlikni o'qiymiz, o'zgaruvchining qiymatini grafikga joylashtiramiz va ekranda sensordan o'qilgan bu qiymatlarga tegishli nuqtani chizamiz.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int holati = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatura = temp; umid qilish = umid; } // mapeando o valor das variáveis para colocar no gráfico // needário pois o display tem 240px de altura e separamos apenas 180 para // grafika // umidade pode 0-100 int temperaturaMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = xarita (umidade, 0, 100, 0, ALTURA_GRAFICO); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, RED) sensorlari bilan aloqa o'rnatishingiz mumkin; M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umiddaMapeada, CYAN); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, SARI) misli ko'rilmagan bo'lsa ham, bu erda hech qanday ma'lumot yo'q.
Keyin biz grafikani displeyda chop etish imkoniyatlarini aniqlaymiz.
// suvni nazorat qilish, masalan, hech qanday baho bermaslik // hech qanday ma'noga ega emas (hech qanday nosso caso 10 yo'q), a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; aks holda (linhaExemplo == 10) fator = 1; // linhaExemplo linhaExemplo += fator; // incrementa or contador de leituras realizadas leituraAtual ++; // chegara 270 (nixo xá eixo X) bilan chegaralanmagan bo'lsa -da, bu sizning xohishingizga ko'ra. 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, Qora); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // limfa va temperatura ham, M5. Lcd.fillRect (POS_X_DADOS+50, POS_Y_DADOS, 60, 30, Qora); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, Qora);
// M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS) haroratini saqlash uchun kursorni saqlash; M5. Lcd.setTextColor (RED); M5. Lcd.print (temperatura); M5. Lcd.print ((char) 247); // M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS) uchun kursorni qayta yozish; M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidsiz); M5. Lcd.print ("%"); kechikish (1000); }
10 -qadam: fayllar
Sizga M5Stack yoqdimi? Birini sotib olmoqchimisiz? Boring:
Fayllarni yuklab oling:
INO
Tavsiya:
Arduino IDE va Visuino bilan ESP32 M5Stack StickC -ni qanday dasturlash mumkin: 12 qadam
Arduino IDE va Visuino bilan ESP32 M5Stack StickC ni qanday dasturlash mumkin: Ushbu qo'llanmada biz ESP32 M5Stack StickC ni Arduino IDE va Visuino bilan qanday dasturlashni o'rganamiz
DHT11 bilan ESP32 asosidagi M5Stack M5stick C ob -havo monitor - M5stick-C dagi namlik va issiqlik indeksini DHT11: 6 qadam bilan kuzatib boring
DHT11 bilan ESP32 asosidagi M5Stack M5stick C ob -havo monitor | DHT11 yordamida M5stick-C dagi namlik va issiqlik indeksini kuzatib boring: Salom bolalar, bu ko'rsatmalarda biz DHT11 harorat sensori bilan m5stick-C (m5stack ishlab chiqish taxtasi) bilan ishlashni o'rganamiz va uni m5stick-C displeyida ko'rsatamiz. Shunday qilib, bu darslikda biz harorat, namlik va ampni o'qiymiz; issiqlik men
M5stack Esp32 asosidagi M5stick C Development Board bilan Flappy Bird o'yinini o'ynash: 5 qadam
Flappy Bird o'yinini M5stack Esp32 asosidagi M5stick C Development Board bilan o'ynash: Salom bolalar, bugun biz m5stack tomonidan taqdim etilgan m5stick c ishlab chiqarish kartasiga flappy qushlar o'yin kodini yuklashni o'rganamiz.Bu kichik loyiha uchun sizga ikkita narsa kerak bo'ladi: m5stick-c ishlab chiqish taxtasi: https://www.utsource.net/itm/p/8663561.h
RaspberryPI va DHT22 yordamida Apple HomeKit harorat sensori (DHT22) qurilmasini yarating: 11 qadam
RaspberryPI va DHT22 yordamida Apple HomeKit harorat sensori (DHT22) qurilmasini yarating: Men past haroratli / namlik sensori qidirayotgan edim, chunki bu bahor juda nam bo'lganini bilib oldim. , va juda ko'p nam edi. Shunday qilib, men arzon narxda datchikni qidirardim, men uni
ESP32 va OLED -displey: Internet -soat - DHT22: 10 qadam (rasmlar bilan)
ESP32 va OLED -displey: Internet -soat - DHT22: Bu ko'rsatma raqobatlashadi: "GIFs Challenge 2017", agar sizga yoqsa, iltimos, yuqoridagi bannerni bosib ovozingizni bering. Katta rahmat!;-) Bu darslik bu ajoyib IoT qurilmasi haqida ko'proq bilish uchun sayohatning davomi