Мазмұны:

ESP32: DHT22 көмегімен M5Stack: 10 қадам
ESP32: DHT22 көмегімен M5Stack: 10 қадам

Бейне: ESP32: DHT22 көмегімен M5Stack: 10 қадам

Бейне: ESP32: DHT22 көмегімен M5Stack: 10 қадам
Бейне: Измерьте температуру и влажность Wi-Fi с помощью ESP32 DHT11 и DHT22 - Robojax 2024, Қараша
Anonim
Image
Image
ESP32: DHT22 бар M5Stack
ESP32: DHT22 бар M5Stack
ESP32: DHT22 бар M5Stack
ESP32: DHT22 бар M5Stack

Бүгін M5Stack - заттар Интернеті үшін өте ерекше ESP32 туралы сөйлесейік. Оның ішінде ESP32 бар, тіпті дисплейге, пернетақтаға, күшейткішке, динамикке және батареяға қосылады. Осылайша, бұл құрылғы сансыз көп нәрсені жасай алады. Мен бұл жабдықты алған кезде менде ESP32 бағдарламалық жасақтамасы болды және тек осы жобада қолданылатын дисплейге жіберілді, ол басқаша. Алайда, біз қолданатын бастапқы код - OLED дисплейі бар ТЕМПЕРАТУРА ЖӘНЕ ЫЛҒАЛДЫҚ бейнеде қолданылатын код.

Бүгінгі тізбекте менде DHT22 сенсорымен қоректенетін оң және теріс қосылыстары бар M5Stack бар екенін ерекше атап өткім келеді. Екеуі де GPIO арқылы қосылған. Деректер диаграммада көрсетіледі.

Бұл мақалада M5Stack -пен таныстырып, оның қосымшаларын талқылайық. Айта кету керек, бұл құрылғыда micro SD картасы, 1 Вт динамик және батарея розеткасы бар, сонымен қатар өзара әрекеттесу түймелері, i2c қосқышы, USB типті С, ашық IO, екі дюймдік TFT дисплейі бар. басқа ерекшеліктермен қатар. Ол жоғарыдағы суретте көрсетілген. Бұл құрылғы IoT үшін дайын деп айта аламыз, өйткені ол Bluetooth және ESP32 WiFi -мен бірге келеді. Ол сонымен қатар металл беттерге бекітуге арналған магнитті қамтиды.

Сізге M5Stack ұнады ма? Басыңыз:

1 -қадам: M5Stack

M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack

M5Stack -тің бір жаңалығы, егер сіз артқы жағын шешсеңіз, GPS модулі, GSM, LoRa сияқты басқа функциялары бар әр түрлі модульдерге сыя аласыз. Бұл суретте көрсетілген.

Менде төменде RS485, тұрақты ток қозғалтқышы, жасаушы, ядродан бастап қадамдық қозғалтқышты басқаруға дейінгі модульдердің басқа мысалдары бар.

Бұл шын мәнінде прототипті жинаудың өте жылдам әдісі. Ескі күндерде бірнеше транзисторлық чиптерді сатып алу және көп жинауды орындау қажет болды, бұл көп уақыт пен инвестиция қажет болды. Тек содан кейін өнімнің прототипі пайда болды. Дәл сол кезде тақталар болып табылатын Ардуино мен Таңқурай пайда болды.

Енді бізде M5Stack бар, бұл пайдалануға дайын жабық қорап. Бұл бізді басқа да сансыз қадамдарды орындаудан босатады.

Басқа M5Stack модельдері суретте көрсетілген. Бізде әріптік -цифрлық, сандық және ойындық пернетақтасы бар құрылғы бар. Бұл сізге компьютердің бір түрі сияқты жұмыс істеуге мүмкіндік береді. Сондай-ақ, бізде Basic-тен басқа MicroPython, Arduino, ESP-IDF, NodeJS бағдарламалауға болатын бағдарламалық қамтамасыз етудің мысалы бар.

2 -қадам: M5Stack ықтимал қосымшалары

M5Stack мүмкін болатын қосымшалар
M5Stack мүмкін болатын қосымшалар
M5Stack мүмкін болатын қосымшалар
M5Stack мүмкін болатын қосымшалар
M5Stack мүмкін болатын қосымшалар
M5Stack мүмкін болатын қосымшалар

M5Stack қосымшаларының мысалдарының ішінде бізде осциллограф бар, оны суреттен көріп отырсыз. Бізде калькулятор / кескіш құралдар кестесі бар.

Велосипед спидометрі туралы не деуге болады?

Бұл сондай -ақ қашықтан басқару бұрғысы болуы мүмкін, ол 3D форматында басып шығарылады және басқару пультімен қашықтан бақыланады.

Мұның бәрі электрониканы басқару қазіргі кезде әлдеқайда қолжетімді екенін көрсетеді, дәл осы схемаларды программалау жеңілдеген.

3 -қадам: M5Stack - түйреуіштер

M5Stack - түйреуіштер
M5Stack - түйреуіштер

M5Stack -тің артқы жағы осы суретте орналасқан, бұл қуаттың 5 вольт екенін көрсетеді. Кескін одан әрі ESP32 -де байланысы бар барлық нәрсенің бар екенін көрсетеді.

4 -қадам: DHT кітапханасы

DHT кітапханасы
DHT кітапханасы

SimpleDHT lib пайдаланыңыз, ол мен бейнеде қолданған сияқты: ТЕМПЕРАТУРА ЖӘНЕ OLED ДИПЛЕЙМЕН ЫЛҒАЛДЫҚ.

5 -қадам: Arduino IDE кітапханасын басқару

Arduino IDE кітапханасын басқару
Arduino IDE кітапханасын басқару

«Мәзір: Эскиз -> Кітапхана қосу -> Кітапханаларды басқару» бөлімінде төмендегі суретте көрсетілген екі кітапхананы орнатамыз. Есіңізде болсын, бұған дейін сізге ESP32 Arduino ядросын орнату қажет. Бұл бейнеде сізге қалай жасау керектігін көрсетеді. бұл: ESP32 -де ARDUINO IDE ҚАЛАЙ ОРНАТУ.

6 -қадам: бастапқы код

Бастапқы код, жоғарыда айтылғандай, мен бейнеде қолданғанмен бірдей: OLED DISPLAY бар ТЕМПЕРАТУРА ГРАФИГІ. Мен бұл жобаға енгізген жалғыз өзгеріс дисплей өлшеміне қатысты болды.

7 -қадам: M5StackDHTGraph.ino

Біз M5Stack.h және SimpleDHT.h кітапханаларын қосамыз және біз дисплейде қолданылатын түстерді, сондай -ақ DHT деректер түйреуішін анықтаймыз. Біз сондай-ақ сенсормен байланыс орнататын объект құрамыз, көрсеткіштерге жауап беретін айнымалыны анықтаймыз және Х осінің мәнін көрсетеміз.

// көшу кітапханаларда M5Stack электрондық DHT # #include // definição Das ядролардың Que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 КӨГІЛДІР 0x07FF САРЫ 0xFFE0 WHITE 0xFFFF DHTPIN 5 // Pino де деректер базасы DHT істеу #define #define #define #define қамтиды істеу // SimpleDHT22 dht комбайнының сенсоры; // әр түрлі жауаптар бар, олар еш қиындықсыз X X le leituraAtual = 1;

Біз X осі мен Y осінің орналасуын анықтауды, температура мен ылғалдылық туралы деректерді көрсету координаттарын, сондай-ақ оқылған мәндерді сақтайтын айнымалыларды жалғастырамыз. Біз әлі де дисплейде диаграмманы басып шығару үшін айнымалыны көрсетеміз.

// pososionamento dos eixos X e Y #анықтау POS_X_GRAFICO 30 #анықтаңыз POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #анықтаңыз COMPRIMENTO_GRAFICO 270 // анықтаулардың коэффициенттерін сақтаңыз que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 0; // координаттардың өзгермелі болуы мүмкін емес мысалдар // кез келген нұсқаның мәні 1 эм 1 int linhaExemplo = 20; int fator = 1; // subaremos не subtrairemos una unadeade na variável linhaExemplo

8 -қадам: M5StackDHTGraph.ino - Орнату

Орнатуда M5Stack инициализацияланады. Біз графикті салу үшін командаларды анықтаймыз, қаріпті, сондай -ақ мәтіннің түстерін конфигурациялаймыз және курсорды жазуға орналастырамыз.

void setup (void) {Serial.begin (115200); // M5Stack M5.begin (); // M5. Lcd.fillScreen (ҚАРА); // osFandVLine (x, y, ені, түсі) тік M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHO; // eixo Y // drawFastHLine (x, y, width, color) көлденең M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // конфигурациялау M5. Lcd.setTextSize (3) мәтіндік жолмен орындалады; // M5. Lcd.setTextColor мәтініне сәйкес конфигурация (WHITE); // M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS) үшін меңзер немесе курсор; M5. Lcd.print («T:»); // indicando a temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print («U:»); // көрсеткіш және үміт}

9 -қадам: M5StackDHTGraph.ino - Цикл

Циклдың бірінші бөлігінде біз температура мен ылғалдылықты оқимыз, айнымалылардың мәнін графикке орналастырамыз және сенсордан оқылатын осы мәндерге қатысты нүктені экранда саламыз.

void loop () {// Fazemos a leitura және temperatura e umiade float temp, umid; int күйі = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatura = temp; үмітте = үміт; } // mapeando o valor das variáveis para colocar no gráfico // needário pois o display 240 px de altura e separamos apenas 180 para // gráfico // үмітade pode 0-100 температураның температурасыMapeada = карта (температура, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = карта (umidade, 0, 100, 0, ALTURA_GRAFICO); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, ҚЫЗЫЛ) сенсорының көмегімен сенсорлы байланыс орнатуға болады; M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW) сілтемесі бойынша сілтеме жасауға болады;

Содан кейін біз графикті дисплейде басып шығару мүмкіндігін анықтаймыз.

// ақылды бақылаулар, мысалы, бағаланбайды // шешуші мәні жоқ (10 емес), сонымен қатар (linhaExemplo == 50) fator = -1; else if (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // incrementa o contador de leituras realizadas leituraAtual ++; // 270 (nixo máximo do eixo X) шектеулері бар, олар бір -бірімен байланысады. 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, BLACK); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // 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, ҚАРА);

// M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS) температурасы бойынша курсорды қалпына келтіру; M5. Lcd.setTextColor (ҚЫЗЫЛ); M5. Lcd.print (температура); M5. Lcd.print ((char) 247); // M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS) үмітсіз жүгіргі үшін курсор M5. Lcd.setTextColor (CYAN); M5. Lcd.print (үмітсіз); M5. Lcd.print («%»); кешіктіру (1000); }

10 -қадам: файлдар

Сізге M5Stack ұнады ма? Біреуін сатып алғыңыз келе ме? Https://goo.gl/ruoYVj өтіңіз

Файлдарды жүктеңіз:

PDF

МЕН ЖОҚ

Ұсынылған: