Tartalomjegyzék:

Infravörös érzékelő ESP8266 -mal: 6 lépés
Infravörös érzékelő ESP8266 -mal: 6 lépés

Videó: Infravörös érzékelő ESP8266 -mal: 6 lépés

Videó: Infravörös érzékelő ESP8266 -mal: 6 lépés
Videó: FLProg10: DS18B20 hőmérséklet-érzékelő | ESP32 NodeMCU | Arduino vizuális beágyazott programozás 2024, November
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Célunk ezúttal egy olyan program létrehozása, amely leolvassa az érzékelőnk felé mutató bármely tárgy környezeti hőmérsékletét. Ehhez ebben a projektben egy ESP8266 nodeMCU -t, egy MLX90614 infravörös érzékelőt és egy 96 -os OLED kijelzőt fogunk használni, amely megjeleníti a hőmérséklet adatokat.

1. lépés: WiFi ESP8266 NodeMcu ESP-12E

2. lépés: Infravörös érzékelő

Infravörös érzékelő
Infravörös érzékelő

Az ebben a beállításban használt MLX90614 infravörös érzékelő valójában egyfajta videokamera. Képeket készít a CCD -n (Charged Coupled Device), amely rendszer nagyon hasonló a digitális fényképezőgépekhez. Így rögzíti az objektumból kilépő infravörös mennyiséget, és ezzel az összeggel kiszámítja a hőmérsékletet. Nagyon pontos.

3. lépés: OLED megjelenítése

OLED kijelző
OLED kijelző

4. lépés: Összeszerelés

Összeszerelés
Összeszerelés

Ez egy nagyon egyszerű séma. Van egy táblázatom, amely lehetővé teszi az egyszerű megjelenítést.

ESP8266 - OLEDD5 - SCL

D7 - SDA

D3 - RES

D4 - DC

D8 - CS

3, 3v - VCC

GND - GND

ASZ90614

D1 - SCL

D2 - SDA

3, 3v - VCC

GND - GND

5. lépés: Könyvtárak

Könyvtárak
Könyvtárak
Könyvtárak
Könyvtárak

Az OLED kijelző használatához adja hozzá a következő "Adafruit-GFX-Library-master" könyvtárat.

Egyszerűen nyissa meg a "Vázlat >> Könyvtárak felvétele >> Könyvtárak kezelése …" lehetőséget.

Ezenkívül adja hozzá a következő "Adafruit Unified Sensor" könyvtárat.

A könyvtárak letöltési linkjei a PDF -ben találhatók, közvetlenül az alábbiakban.

6. lépés: Forráskód

Kezdjük a kódunk során használt könyvtárak és állandók meghatározásával.

#include // Biblioteca para I2C #include // Biblioteca para comunicação com o sensor #include // Biblioteca para propriedades gráficas #include // Biblioteca para comunicação com dipsplay OLED // pinagem para o NodeMCU ESP8266 #define sclk D5 #define mosi D7 #define cs D8 #define rst D3 #define dc D4 // definição das cores que serão utilizadas #define BLACK 0x0000 #define WHITE 0xFFFF // definição da coordenada onde escreveremos cada um dos dados #define POS_X_X 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // construtor do objeto para comunicar com o display OLED Adafruit_SSD1331 display = Adafruit_SSD1331 (cs, dc, mosi, sclk, rst) // objeto responseável pela comunicação com o sensor infravermelho IRTherm sensor; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; úszó tempObjeto;

Beállít

A setup () függvényben inicializáljuk az érzékelővel való kommunikáció tárgyát, valamint a kijelzővel való kommunikáció tárgyát. Íme néhány beállítás mindegyikhez.

void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // A hőmérséklet kiválasztása Celsius sensor.setUnit (TEMP_C); // podemos ainda utilizar TEMP_F para Fahrenheit // ou TEMP_K para Kelvin // inicializa o objeto para comunicarmos com OLD display.begin (); // pinta a tela toda de preto display.fillScreen (FEKETE); // configura o tamnaho do texto que escreveremos em tela display.setTextSize (0); // configure a cor branca para vagy texto display.setTextColor (WHITE); // os comandos abaixo posicionam o kurzor no (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.print ("("); display.print ((char) 247); // símbolo de graus display.print ("C)"); display.setCursor (POS_X_AMBIENTE, POS_Y_AMBIENTE); display.print ("AMB:"); // AMBIENTE display.setCursor (POS_X_OBJETO, POS_Y_OBJETO); display.print ("OBJ:"); // OBJETO}

Hurok

A loop () függvényben olvassuk le az érzékelő adatait, majd jelenítsük meg őket az OLED kijelzőn.

// 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 da temperatura do ambiente tempAmbiente = érzékelő.környezet (); // recupera a leitura da temperatura do objeto apontado pelo sensor tempObjeto = sensor.object (); // limpa a área onde colocamos o valor da temperatura do ambiente e do objeto display.fillRect (POS_X_AMBIENTE+35, POS_Y_AMBIENTE, 35, 10, BLACK); display.fillRect (POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, FEKETE); // pozicionálás vagy kurzor és a környezeti kijelző megjelenítése.setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print (tempAmbiente); display.print ((char) 247); // simbolo de graus // pozicionálás vagy kurzor és a hőmérséklet beállítása, valamint az érzékelő estén apontando display.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} delay (1000); // intervalo de 1 segundo para a próxima leitura}

Ajánlott: