ዝርዝር ሁኔታ:

ESP8266 ዲጂታል ቴርሞሜትር ከ LCD ማሳያ ጋር: 7 ደረጃዎች
ESP8266 ዲጂታል ቴርሞሜትር ከ LCD ማሳያ ጋር: 7 ደረጃዎች

ቪዲዮ: ESP8266 ዲጂታል ቴርሞሜትር ከ LCD ማሳያ ጋር: 7 ደረጃዎች

ቪዲዮ: ESP8266 ዲጂታል ቴርሞሜትር ከ LCD ማሳያ ጋር: 7 ደረጃዎች
ቪዲዮ: Установка приложения ArduBlock 2024, ሀምሌ
Anonim
Image
Image
ኤልሲዲ ግራፊክ ሞጁል 128x128 RGB TFT ILI 9163C
ኤልሲዲ ግራፊክ ሞጁል 128x128 RGB TFT ILI 9163C

ዛሬ ፣ ለተወሰነ የእውነተኛ ጊዜ አከባቢ የሙቀት እና የእርጥበት መረጃን ለማሳየት በ ESP8266 NodeMCU ላይ የ TFT LCD ማሳያ እንዴት እንደሚጠቀሙ አሳያችኋለሁ። ማሳያውን ከ DHT22 ጋር የመጠቀም ምሳሌ እሠራለሁ ፣ ይህም የሙቀት እና የእርጥበት መጠን ነው። በዚህ ቪዲዮ ውስጥ ፣ በተለይ ለዲጂታል ቴርሞሜትራችን የታመቀ ማሳያ እጠቀማለሁ ፣ እሱም ስዕላዊ እና በስርዓቱ በራሱ ላይ ቁጥጥርን የሚፈቅድ። ስለዚህ የዛሬው ዓላማ ESP8266 ን በመጠቀም ስለ ፈሳሽ ክሪስታል ማሳያ አያያዝ መማር ነው።

ደረጃ 1 ኤልሲዲ ግራፊክ ሞዱል 128x128 RGB TFT ILI 9163C

በዚህ ፕሮጀክት ውስጥ የምንጠቀምበት ማሳያ 128x128 ፒክሰሎች ነው። 0 ፣ 0 በላይኛው ግራ ጥግ ላይ ነው ፣ እና ይህ ሞዴል የጽሑፍ ማተሚያ እና የግራፊክ ማተሚያ ተግባራት አሉት ፣ እኛ በኋላ የምንመለከተው።

ደረጃ 2 - እርጥበት እና የሙቀት ዳሳሽ AM2302 DHT22

እርጥበት እና የሙቀት ዳሳሽ AM2302 DHT22
እርጥበት እና የሙቀት ዳሳሽ AM2302 DHT22

AM2302 DHT22 ን በስብሰባችን ውስጥ እንጠቀማለን ፣ እሱም በጣም የምወደው ዳሳሽ ፣ በጣም ትክክለኛ ስለሆነ።

ደረጃ 3 ወረዳ

ወረዳ
ወረዳ

በፕሮጀክቱ ውስጥ ፣ አስቀድሞ ፕሮግራም የተደረገ እና የዩኤስቢ ኃይልን የሚጠቀም ESP8266 አለን። DHT22 ከውሂቡ እና ከመጎተት ተከላካዩ ጋር የ LCD ማሳያውን ከሚቆጣጠረው ESP8266 ጋር ተገናኝቷል።

ደረጃ 4 - ስብሰባ

ስብሰባ
ስብሰባ

እዚህ ፣ የስብሰባችን የኤሌክትሪክ ዲያግራም አለን ፣ እሱም NodeMCU ን ፣ አነፍናፊውን እና ማሳያውን ያሳያል። ያስታውሱ ይህ ተጨማሪ ማሳያ ስላለው ለመጠቀም ቀላል የሆነው i2c ተከታታይ ማሳያ መሆኑን ያስታውሱ።

ደረጃ 5 ቤተ -መጽሐፍት

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

ማሳያውን በአርዱዲኖ ሲ ቋንቋ ልናቀናብር ስለሆነ ፣ የ DHT22 ቤተ -መጽሐፍት ፣ እና ኤልሲዲ ያስፈልገናል።

በመጀመሪያ ፣ ከእርጥበት እና የሙቀት ዳሳሽ ጋር ለመገናኘት የሚከተለውን “DHT ዳሳሽ ቤተ -መጽሐፍት” ቤተ -መጽሐፍት ያክሉ።

በቀላሉ “ስዕል” >> ቤተ -ፍርግሞችን ያካትቱ >> ቤተ -መጽሐፍትን ያቀናብሩ…

አሁን የሚከተለውን ቤተ-መጽሐፍት ያክሉ ፣ “Adafruit-GFX-Library-master”።

በቀላሉ “ስዕል” >> ቤተ -ፍርግሞችን ያካትቱ >> ቤተ -መጽሐፍትን ያቀናብሩ…

እንዲሁም ከ LCD ግራፊክ ሞዱል ጋር ለመግባባት “TFT_ILI9163C” ቤተ -መጽሐፍትን ያክሉ።

አገናኙን ይድረሱ ((((((https://github.com/sumotoy/TFT_ILI9163C)))) እና ቤተ -መጽሐፍቱን ያውርዱ።

ፋይሉን ይንቀሉ እና በአርዱዲኖ አይዲኢ ቤተመፃህፍት አቃፊ ውስጥ ይለጥፉት።

ሲ: / የፕሮግራም ፋይሎች (x86) / አርዱinoኖ / ቤተመፃህፍት

ደረጃ 6 ኮድ

በመጀመሪያ በእኛ ኮድ ውስጥ ጥቅም ላይ የሚውሉ ቤተ -መጽሐፍትን እንጨምር።

#ያካተተ // utilizada para se comunicar com o módulo LCD#ያካትታሉ // utilizada para se comunicar com o sensor de umidade e temperatura

ትርጓሜዎች

በፕሮግራሙ ወቅት የምንጠቀምባቸውን ተለዋዋጮች እና የነገሮችን ምሳሌ ከዚህ በታች እናያለን።

#ጥራት DHTPIN D6 // pino que conectaremos o sensor DHT22#DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (importante para o construtor) DHT dht (DHTPIN ፣ DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // የቀለም ትርጓሜዎች #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #defineFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF _CS D1 // pino que conectaremos o CS do módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C ማሳያ = TFT_ILI9163C (_ CS ፣ _DC) ፤ // construtor do objeto que utilizaremos para se comunicar com o módulo LCD

አዘገጃጀት

በማዋቀር () ተግባር ውስጥ ከእርጥበት ዳሳሽ እና የሙቀት መጠን ጋር ለመገናኘት ሃላፊነቱን የሚወስደውን ተለዋዋጭ “dht” ን እናስጀምራለን። እንዲሁም ከኤልሲዲ ሞዱል ጋር ለመገናኘት የሚያገለግል “ማሳያ” ተለዋዋጭውን እናስጀምራለን።

እንዲሁም በማያ ገጹ ላይ መሳል እንዲጀምር እቃውን እናዋቅራለን።

ባዶ ማዘጋጀት (ባዶ) {dht.begin (); // inicialização para se comunicar com o አነፍናፊ display.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // ሊምፓ እና ቴላ ፣ ሁሉንም ነገር አስወግድ os desenhos display.fillScreen (ጥቁር); // pinta a tela toda de preto display.setTextSize (2); // ያዋቅሩ ወይም ወደ ቴክቶኮ ኮም ወይም tamanho 2 display.setTextColor (አረንጓዴ); // ያዋቅሩ ቴክ ቴክ ኮሞ ቨርዴ ማሳያ.setCursor (5, 10); // posiciona o cursor para começar a escrita a partir do (x, y) display.print ("TEMPERATUR"); // emla tela display.setCursor (22, 70); // reposiciona o cursor display.print ("UMIDADE"); // escreve em tela display.setTextColor (ነጭ); // ያዋቅሩ ኮር ቴክስቶ ኮሞ ብራናኮ (አንድ partir de agora) መዘግየት (1000); // espera de 1 segundo}

ሉፕ

በ loop () ተግባር ውስጥ ፣ አነፍናፊው ያነበበውን እና በተወሰነ ቦታ ላይ በማያ ገጹ ላይ የተፃፈውን እርጥበት እና የሙቀት መጠን መልሰን እናመጣለን። በእያንዳንዱ የ 5 ሰከንዶች ልዩነት እሴቱ ከአነፍናፊው ይነበባል እና በማያ ገጹ ላይ ይፃፋል።

ባዶነት loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // እንደ ሌንሱራ ዳካራዱራ ዳሳሽ/እንደ 2 linhas seguintes utilizando o método “fillRect” ፣ são para fazer a limpeza do local onde escreveremos a umidade e a temperatura, apagaremos o vault atual para escrever novamente atualizado. display.fillRect (5 ፣ 32 ፣ 120 ፣ 20 ፣ ጥቁር); // fillRect (x ፣ y ፣ ስፋት ፣ ቁመት ፣ ቀለም); display.fillRect (5, 92, 120, 20, ጥቁር); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // የሙቀት መጠኑን em tela display.print ((ቻር) 247) ማሳወቅ ፤ // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // reposiciona o cursor para escrever display.print (ሸ); // አንድ umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }

ደረጃ 7 - አንዳንድ ሌሎች አስደሳች ተግባራት

// የማያ ገጹን ይዘቶች ያሽከረክራል (መለኪያዎች 0 ፣ 1 ፣ 2 ወይም 3)

display.setRotation (uint8_t);

// የማሳያ ቀለሞችን ይለውጣል (አሉታዊ ያደርገዋል)

display.invertDisplay (ቡሊያን);

// በቦታው (x ፣ y) ላይ በማያ ገጹ ላይ አንድ ነጠላ ፒክሰል ይስላል።

display.drawPixel (x, y, color);

// በአቀባዊ አቀማመጥ ቀጥ ያለ መስመር ይሳሉ

display.drawFastVLine (x ፣ y ፣ ስፋት ፣ ቀለም);

// በተጠቀሰው ቦታ ላይ ቀጥ ያለ መስመር ይሳሉ

display.drawFastHLine (x ፣ y ፣ ስፋት ፣ ቀለም);

// በተጠቀሰው ቦታ ላይ አግድም መስመር ይሳሉ

display.drawRect (x ፣ y ፣ ስፋት ፣ ቁመት ፣ ቀለም);

// በተጠቀሰው ቦታ ላይ ክበብ ይሳሉ

display.drawCircle (x ፣ y ፣ ራዲየስ ፣ ቀለም);

የሚመከር: