ዝርዝር ሁኔታ:

ESP32: M5Stack ከ DHT22: 10 ደረጃዎች ጋር
ESP32: M5Stack ከ DHT22: 10 ደረጃዎች ጋር

ቪዲዮ: ESP32: M5Stack ከ DHT22: 10 ደረጃዎች ጋር

ቪዲዮ: ESP32: M5Stack ከ DHT22: 10 ደረጃዎች ጋር
ቪዲዮ: RFID-считыватель дальнего действия 2024, ሀምሌ
Anonim
Image
Image
ESP32: M5Stack ከ DHT22 ጋር
ESP32: M5Stack ከ DHT22 ጋር
ESP32: M5Stack ከ DHT22 ጋር
ESP32: M5Stack ከ DHT22 ጋር

ለነገሮች በይነመረብ ፍጹም ስለሆነ ስለ አንድ ልዩ ESP32 ዛሬ እንነጋገር ፣ እሱም M5Stack ነው። በውስጡ ESP32 ን ይይዛል እና በማሳያ ፣ በቁልፍ ሰሌዳ ፣ በማጉያ ፣ በድምጽ ማጉያ እና በባትሪ ላይም ይጨምራል። ስለዚህ ይህ መሣሪያ ስፍር ቁጥር የሌላቸው ነገሮችን ሊያደርግ ይችላል። ይህንን ሃርድዌር ስቀበል ፣ ለ ESP32 ሶፍትዌር ቀድሞውኑ ነበረኝ እና በዚህ ፕሮጀክት ውስጥ ወደተሠራው ማሳያ ብቻ ተላል,ል ፣ ይህም የተለየ ነው። ሆኖም የምንጠቀመው የምንጭ ኮድ በቪዲዮአችን የሙቀት እና ትህትና ከድሮ ማሳያ ጋር ያገለገለበት ተመሳሳይ ነው።

ዛሬ ባለው ወረዳ ውስጥ እኔ እራሱን ከ DHT22 ዳሳሽ ጋር የሚመግብ አዎንታዊ እና አሉታዊ ግንኙነቶች ያሉት M5Stack እንዳለን ለማጉላት እፈልጋለሁ። ሁለቱም በጂፒኦ ተገናኝተዋል። ውሂቡ በገበታው ውስጥ ይታያል።

በዚህ ጽሑፍ ውስጥ M5Stack ን እናስተዋውቅ እና በመተግበሪያዎቹ ላይ እንወያይ። ይህ መሣሪያ ለማይክሮ ኤስዲ ካርድ ፣ ለ 1 ዋ ድምጽ ማጉያ ፣ እና ለባትሪ ሶኬት ግብዓት ያለው ፣ እንዲሁም መስተጋብራዊ አዝራሮች ፣ i2c አያያዥ ፣ የዩኤስቢ ዓይነት ሲ ፣ የተጋለጡ አይኦዎች ፣ ባለ ሁለት ኢንች TFT ማሳያ ፣ ከሌሎች ባህሪዎች መካከል። ከላይ በስዕሉ ላይ ይታያል። ቀድሞውኑ ከብሉቱዝ እና ከ ESP32 WiFi ጋር ስለሚመጣ ይህ መሣሪያ ለ IoT ዝግጁ ነው ማለት እንችላለን። እንዲሁም ከብረት ንጣፎች ጋር ለመገጣጠም ማግኔትን ያካትታል።

M5Stack ን ወደዱት? ጠቅ ያድርጉ

ደረጃ 1: M5Stack

M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack
M5Stack

የ M5Stack አንድ ፈጠራ ፣ ጀርባውን ካነሱ ፣ እንደ ጂፒኤስ ሞዱል ፣ ጂ.ኤስ.ኤም. ፣ ሎራ ፣ ወዘተ ባሉ የተለያዩ ተግባራት በተለያዩ ሞጁሎች ውስጥ ሊገጣጠሙ ይችላሉ። ይህ በምስል ላይ ይታያል።

ከ RS485 ፣ ዲሲ ሞተር ፣ ሰሪ ፣ ኮር ፣ እስከ ስቴፐር ሞተር ቁጥጥር ድረስ ከዚህ በታች የሞጁሎች ተጨማሪ ምሳሌዎች አሉኝ።

ይህ በእውነቱ አንድ ፕሮቶታይፕ ለማቀናጀት በጣም ፈጣን መንገድ ነው። በድሮ ጊዜ ብዙ ትራንዚስተር ቺፖችን መግዛት እና ብዙ ጊዜ እና መዋዕለ ንዋይ የሚጠይቁ ብዙ ስብሰባዎችን ማካሄድ አስፈላጊ ነበር። የምርት ፕሮቶታይፕ ከመጣ በኋላ ብቻ። ሳህኖች የሆኑት አርዱዲኖ እና Raspberry የታዩት ያኔ ነበር።

አሁን ፣ ይህ ለአገልግሎት ዝግጁ የሆነ ዝግ ሳጥን የሆነው M5Stack አለን። ይህ ሌሎች ስፍር ቁጥር የሌላቸው እርምጃዎችን ከማከናወን ነፃ ያወጣል።

ሌሎች የ M5Stack ሞዴሎች በምስሎች ውስጥ ይታያሉ። የቁጥር ፣ የቁጥር እና የጨዋታ ቁልፍ ሰሌዳዎች ያሉት መሣሪያ አለን። እነዚህ እንደ ኮምፒተር ዓይነት እንዲሰሩ ያስችሉዎታል። እንዲሁም ከመሠረታዊ በተጨማሪ በማይክሮ ፓይቶን ፣ አርዱinoኖ ፣ ኢስፒ-አይዲኤፍ ፣ ኖዴጄኤስ ውስጥ ሊሠራ የሚችል የሶፍትዌር አሂድ ምሳሌ አለን።

ደረጃ 2: M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች

M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች
M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች
M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች
M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች
M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች
M5Stack ሊሆኑ የሚችሉ መተግበሪያዎች

ከ M5Stack መተግበሪያዎች ምሳሌዎች መካከል እኛ በምስሉ ላይ እንደሚመለከቱት oscilloscope አለን። እኛ ደግሞ የካልኩሌተር / የመቁረጫ መሣሪያ ጠረጴዛ ዓይነት አለን።

ስለ ብስክሌት የፍጥነት መለኪያ እንዴት ነው?

እንዲሁም በ 3 ዲ የታተመ እና በርቀት ቁጥጥር የሚደረግበት የርቀት መሰርሰሪያ ሊሆን ይችላል።

የእነዚህ ወረዳዎች መርሃ ግብር ቀላል እየሆነ እንደሄደ ሁሉ ይህ ሁሉ የኤሌክትሮኒክስ ቁጥጥር በአሁኑ ጊዜ በጣም ተመጣጣኝ መሆኑን ያሳያል።

ደረጃ 3: M5Stack - ፒኖች

M5Stack - ፒኖች
M5Stack - ፒኖች

የ M5Stack ጀርባ በዚህ ምስል ውስጥ ነው ፣ ይህም ኃይሉ በ 5 ቮልት መሆኑን ያሳያል። ምስሉ በተጨማሪ በ ESP32 ውስጥ ያለው ሁሉ ከግንኙነት ጋር እንዳለን ያሳያል።

ደረጃ 4: DHT ቤተ -መጽሐፍት

DHT ቤተ -መጽሐፍት
DHT ቤተ -መጽሐፍት

በቪዲዮው ውስጥ የተጠቀምኩት አንድ አይነት የሆነውን SimpleDHT lib ይጠቀሙ ፣ የሙቀት መጠን እና ትህትና ከድሮ ማሳያ ጋር።

ደረጃ 5: Arduino IDE ቤተ -መጽሐፍትን ያቀናብሩ

የአርዱዲኖ አይዲኢ ቤተ -መጽሐፍትን ያቀናብሩ
የአርዱዲኖ አይዲኢ ቤተ -መጽሐፍትን ያቀናብሩ

በ “ምናሌው -ንድፍ -> ቤተ -መጽሐፍትን ያክሉ -> ቤተ -ፍርግሞችን ያቀናብሩ” ከዚህ በታች ባለው ምስል የሚታየውን ሁለቱን ቤተ -መጻሕፍት እንጫን። ከዚህ ሁሉ በፊት የ ESP32 አርዱinoኖ ኮር መጫን እንደሚያስፈልግዎት ያስታውሱ። ይህ ቪዲዮ እንዴት ማድረግ እንዳለብዎት ያሳየዎታል። እሱ - በ ESP32 ውስጥ ARDUINO IDE ን እንዴት እንደሚጫን።

ደረጃ 6: ምንጭ ኮድ

እንደተጠቀሰው የምንጭ ኮዱ በቪዲዮው ውስጥ የተጠቀምኩበት ተመሳሳይ ነው -የሙቀት መጠን ከግራድ ማሳያ ጋር። በዚህ ፕሮጀክት ላይ ያደረግሁት ብቸኛው ለውጥ ከማሳያው መጠን ጋር በተያያዘ ነበር።

ደረጃ 7: M5StackDHTGraph.ino

እኛ M5Stack.h እና SimpleDHT.h ቤተ -መጽሐፍትን እናካተታለን ፣ እና በማሳያው ውስጥ ጥቅም ላይ የዋሉ ቀለሞችን ፣ እንዲሁም የ DHT መረጃ ፒንንም እንገልፃለን። እንዲሁም ከአነፍናፊው ጋር ለግንኙነት አንድ ነገር እንሠራለን ፣ ለንባቦቹ ተጠያቂ የሆነውን ተለዋዋጭ እንገልፃለን እና የ X- ዘንግን እሴት እንጠቁማለን።

// Libs do M5Stack e DHT # # #ያካትቱ // definição das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #defiine WHITE 0xFFFFF // ተቆጣጣሪ objeto para comunicar com o አነፍናፊ SimpleDHT22 dht; // variável responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;

በኤክስ-ዘንግ እና በ Y- ዘንግ አቀማመጥ ትርጓሜዎች ፣ የሙቀት እና እርጥበት መረጃ ማሳያ መጋጠሚያዎች ፣ እንዲሁም የተነበቡ እሴቶችን የሚያከማቹ ተለዋዋጮችን እንቀጥላለን። በማሳያው ላይ ያለውን ገበታ ለማተም አሁንም ወደ ተለዋዋጭ እንጠቁማለን።

// መግለጫዎች posicionamento dos eixos X e Y #POS_X_GRAFICO 30 #ን ይግለጹ POS_Y_GRAFICO 3 #ዲፊን ALTURA_GRAFICO 180 #ተገለፀ COMPRIMENTO_GRAFICO 270 // definição da coordenada onDode_DaDEDDEDDE_DEDDE_DEDDE_DEDDE_DE_DDD_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_V_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_d_V_ vere 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

ደረጃ 8: M5StackDHTGraph.ino - ማዋቀር

በማዋቀር ውስጥ ፣ M5Stack ን እናስጀምራለን። እኛ ግራፉን ለመሳል ትዕዛዞችን እንገልፃለን ፣ ቅርጸ -ቁምፊውን እንዲሁም የጽሑፍ ቀለሞችን ያዋቅሩ እና ጠቋሚውን ለመፃፍ ያስቀምጡ።

ባዶ ማዘጋጀት (ባዶ) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (ጥቁር); // os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, ስፋት ፣ ቀለም) linha vertical M5. Lcd.drawFastVLine (POS_X_GRAFICO ፣ POS_Y_GRAFICO ፣ ALTURA_GRAFICO ፣ // eixo Y // drawFastHLine (x ፣ y ፣ ስፋት ፣ ቀለም) linha አግድም M5. Lcd.drawFastHLine (POS_X_GRAFICO ፣ ALTURA_GRAFICO+1 ፣ COMPRIMENTO_GRAFICO ፣ WHITE); // eixo X // configura o tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // ያዋቅሩ ኮር ብራና ፓራ ወይም ቴክቶ M5. Lcd.setTextColor (WHITE); // posiciona o cursor para escrita M5. Lcd.setCursor (POS_X_DADOS ፣ POS_Y_DADOS); M5. Lcd.print ("T:"); // አመላካች የሙቀት መጠን M5. Lcd.setCursor (POS_X_DADOS+105 ፣ POS_Y_DADOS); M5. Lcd.print ("U:"); // አመልክተው አንድ umidade}

ደረጃ 9: M5StackDHTGraph.ino - Loop

በሉፕ የመጀመሪያ ክፍል ውስጥ ፣ ሙቀቱን እና እርጥበቱን እናነባለን ፣ በተለዋዋጮቹ እሴት ላይ በግራፍ ላይ ለማስቀመጥ እና ከሴንሰር የተነበቡትን እነዚህን እሴቶች የሚያመለክት ነጥብ በማያ ገጹ ላይ ይሳሉ።

ባዶነት loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int ሁኔታ = dht.read2 (DHTPIN ፣ & temp ፣ & umid ፣ NULL); ከሆነ (ሁኔታ == SimpleDHTErrSuccess) {temperatura = temp; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // necessário pois o display tem 240px de altura e separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = ካርታ (የሙቀት መጠን ፣ 0 ፣ 100 ፣ 0 ፣ ALTURA_GRAFICO); int umidadeMapeada = ካርታ (ኡሚዴዴ ፣ 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, JELLOW);

ከዚያ ፣ ስዕሉን በማሳያው ላይ የማተም እድሎችን እንገልፃለን።

// aqui controlamos nossa linha de exemplo, quando chega no valor máximo decrementamos o valor // até um valor mínimo determinado (nosso caso 10) ፣ e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; ሌላ ከሆነ (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. ከሆነ (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)} // limpa a área onde colocamos o valor da temperatura e da umidade M5. Lcd.fillRect (POS_X_DADOS+50 ፣ POS_Y_DADOS ፣ 60 ፣ 30 ፣ ጥቁር); M5. Lcd.fillRect (POS_X_DADOS+165 ፣ POS_Y_DADOS ፣ 90 ፣ 30 ፣ ጥቁር);

// reposiciona o cursor para escrever a temperatura M5. Lcd.setCursor (POS_X_DADOS+50 ፣ POS_Y_DADOS); M5. Lcd.setTextColor (RED); M5. Lcd.print (temperatura); M5. Lcd.print ((ቻር) 247); // reposiciona o cursor para escrever a umidade M5. Lcd.setCursor (POS_X_DADOS+165 ፣ POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); መዘግየት (1000); }

ደረጃ 10 - ፋይሎች

M5Stack ን ወደዱት? አንዱን መግዛት ይፈልጋሉ? ይሂዱ ወደ:

ፋይሎቹን ያውርዱ ፦

ፒዲኤፍ

INO

የሚመከር: