ዝርዝር ሁኔታ:

የኢንፍራሬድ ዳሳሽ በ ESP8266: 6 ደረጃዎች
የኢንፍራሬድ ዳሳሽ በ ESP8266: 6 ደረጃዎች

ቪዲዮ: የኢንፍራሬድ ዳሳሽ በ ESP8266: 6 ደረጃዎች

ቪዲዮ: የኢንፍራሬድ ዳሳሽ በ ESP8266: 6 ደረጃዎች
ቪዲዮ: SKR Pro V1.1 - TMC2209 UART with Sensor less Homing 2024, ህዳር
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

የእኛ ዓላማ በዚህ ጊዜ ወደ አነፍናፊችን የሚያመላክት ማንኛውንም ነገር የአካባቢ ሙቀት የሚያነብ ፕሮግራም መፍጠር ነው። ይህንን ለማድረግ በዚህ ፕሮጀክት ውስጥ የ ESP8266 nodeMCU ፣ የ MLX90614 ኢንፍራሬድ ዳሳሽ እና የ OLED 96 ኢንች ማሳያ እንጠቀማለን ፣ ይህም የሙቀት ውሂቡን ያሳያል።

ደረጃ 1-WiFi ESP8266 NodeMcu ESP-12E

ደረጃ 2 የኢንፍራሬድ ዳሳሽ

የኢንፍራሬድ ዳሳሽ
የኢንፍራሬድ ዳሳሽ

በዚህ ቅንብር ውስጥ ጥቅም ላይ የዋለው የ MLX90614 ኢንፍራሬድ ዳሳሽ በእውነቱ የካሜራ መቅረጫ ዓይነት ነው። እሱ አሁንም በዲጂታል ካሜራዎች ውስጥ ጥቅም ላይ ከሚውለው ስርዓት ጋር በጣም ተመሳሳይ በሆነ በሲ.ሲ.ዲ (ቻርጅ ባለትዳር መሣሪያ) በኩል ምስሎችን ይይዛል። ስለዚህ ፣ ከእቃው የሚወጣውን የኢንፍራሬድ መጠን ይመዘግባል ፣ እናም በዚህ መጠን የሙቀት መጠኑን ያሰላል። በጣም ትክክለኛ ነው።

ደረጃ 3: OLED ን ያሳዩ

OLED አሳይ
OLED አሳይ

ደረጃ 4 - ስብሰባ

ስብሰባ
ስብሰባ

ይህ በጣም ቀላል መርሃግብር ነው። በቀላሉ ለመታየት የሚያስችል ጠረጴዛ እዚህ አለ።

ESP8266 - OLEDD5 - SCL

D7 - ኤስዲኤ

D3 - RES

D4 - ዲ.ሲ

D8 - ሲ.ኤስ

3, 3v - ቪ.ሲ.ሲ

GND - GND

MLX90614

D1 - SCL

D2 - ኤስዲኤ

3, 3v - ቪ.ሲ.ሲ

GND - GND

ደረጃ 5 ቤተ -መጻሕፍት

ቤተ መጻሕፍት
ቤተ መጻሕፍት
ቤተ መጻሕፍት
ቤተ መጻሕፍት

የ OLED ማሳያ ለመጠቀም የሚከተለውን “አዳፍ ፍሬ-ጂኤፍኤክስ-ቤተ-መጽሐፍ-መምህር” ቤተ-መጽሐፍትን ያክሉ።

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

እንዲሁም የሚከተለውን “አዳፍ ፍሬዝ የተዋሃደ ዳሳሽ” ቤተ -መጽሐፍት ያክሉ።

የቤተ መፃህፍት ማውረጃ አገናኞች በፒዲኤፍ ውስጥ ይገኛሉ ፣ ከዚህ በታች ይገኛል።

ደረጃ 6: የምንጭ ኮድ

በእኛ ኮድ ጊዜ የምንጠቀምባቸውን ቤተ -መጻህፍት እና ቋሚዎችን በመወሰን እንጀምራለን።

#ያካትቱ // Biblioteca para I2C #ያካትታሉ // Biblioteca para comunicação com o አነፍናፊ #ያካትቱ // Biblioteca para propriedades gráficas #ጨምሮ /Biblioteca para comunicação com dipsplay OLED // pinagem para o NodeMCU ESP8266 #define sclk D5 #de #define cs D8 #define የመጀመሪያው D3 #define dc D4 // definição das cores que serão utilizadas #define BLACK 0x0000 #definine WHITE 0xFFFF // definição da coordenada onde escreveremos cada um dos dados #D_EFE_DE_DE_FE_E_E_FE_E_FE_E_FE_E_E_FE_E_FE_E_DE_DE_DE_FE_FE 2 #POS_Y_OBJETO 55 #መግለፅ POS_X_TITULO 10 #POS_Y_TITULO 4 // construtor do objeto para comunicar com o OLED Adafruit_SSD1331 ማሳያ = Adafruit_SSD1331 (cs ፣ dc ፣ mosi ፣ sclk ፣ rst) // objeto responsável pela comunicação com o sensor infravermelho IRTherm sensor; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; ተንሳፋፊ tempObjeto;

አዘገጃጀት

በማዋቀር () ተግባር ውስጥ የእኛን የግንኙነት ነገር ከአነፍናፊው ፣ እንዲሁም ከማሳያው ጋር የመገናኛ ዕቃውን እናስጀምራለን። ለእያንዳንዳቸው አንዳንድ ቅንጅቶች እዚህ አሉ።

ባዶነት ማዋቀር () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Seleciona temperatura em ሴልሲየስ ዳሳሽ። // pinta a tela toda de preto display.fillScreen (ጥቁር); // ያዋቅሩ ወይም እንደ ቴክቶቶ እስክሬቬሬሞስ ኤም ቴላ ማሳያ.setTextSize (0); // የኮር ብራንካ ፓራ ወይም ቴክቶ ማሳያ። ያዋቅሩ። // os comandos abaixo posicionam o ጠቋሚ ቁጥር (x, y) desejado para a seguir escrevermos em tela display.setCursor (POS_X_TITULO, POS_Y_TITULO); display.print ("TEMPERATURA"); display.setCursor (POS_X_TITULO+20 ፣ POS_Y_TITULO+15) ፤ ማሳያ። display.setCursor (POS_X_AMBIENTE ፣ POS_Y_AMBIENTE) ፤ display.print ("AMB:"); // AMBIENTE display.setCursor (POS_X_OBJETO ፣ POS_Y_OBJETO) ፤ display.print ("OBJ:"); // OBJETO}

ሉፕ

በ loop () ተግባር ውስጥ ፣ የአነፍናፊውን ውሂብ እናንብብ እና ከዚያ በ OLED ማሳያ ላይ እናሳያቸው።

// chamamos o método "read" do sensor para realizar a leitura da temperatura/read retornará 1 caso consiga realizar a leitura, ou 0 caso contrário if (sensor.read ()) {// recupera a leitura and temperatura do ambiente tempAmbiente = sensor.ambient (); // recupera a leitura da temperatura objeto apontado pelo sensor tempObjeto = sensor.object (); // ሊምፓአ አሬአ ኦንኮ ኮላኮሞስ ወይም ሞቃታማ የሙቀት መጠን በከባቢ አየር ውስጥ እና በ objeto display.fillRect (POS_X_AMBIENTE+35 ፣ POS_Y_AMBIENTE ፣ 35 ፣ 10 ፣ BLACK); display.fillRect (POS_X_OBJETO+35 ፣ POS_Y_OBJETO ፣ 35 ፣ 10 ፣ ጥቁር); // posiciona o cursor e escreve a temperatura ambiente display.setCursor (POS_X_AMBIENTE+35 ፣ POS_Y_AMBIENTE) ፤ display.print (tempAmbiente); display.print ((ቻር) 247); // simbolo de graus // posiciona o cursor e esrereve a temperatura do objeto que o sensor está apontando display.setCursor (POS_X_OBJETO+35 ፣ POS_Y_OBJETO) ፤ display.print (tempObjeto); display.print ((ቻር) 247); // simbolo de graus} መዘግየት (1000); // intervalo de 1 segundo para a próxima leitura}

የሚመከር: