Isi kandungan:

Sensor Inframerah Dengan ESP8266: 6 Langkah
Sensor Inframerah Dengan ESP8266: 6 Langkah

Video: Sensor Inframerah Dengan ESP8266: 6 Langkah

Video: Sensor Inframerah Dengan ESP8266: 6 Langkah
Video: Tutorial Cara Program Sensor Jarak Menggunakan Sensor Infrared / Inframerah Modul dengan Arduino 2024, Julai
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Objektif kami kali ini adalah untuk membuat program yang akan membaca suhu persekitaran setiap objek yang menunjuk ke arah sensor kami. Untuk melakukan ini, kami akan menggunakan dalam projek ini ESP8266 nodeMCU, sensor inframerah MLX90614, dan paparan OLED 96 , yang akan memaparkan data suhu.

Langkah 1: WiFi ESP8266 NodeMcu ESP-12E

Langkah 2: Sensor Inframerah

Sensor inframerah
Sensor inframerah

Sensor inframerah MLX90614 yang digunakan dalam penyediaan ini sebenarnya adalah jenis camcorder. Ia menangkap gambar melalui CCD (Charged Coupled Device), sistem yang sangat serupa dengan yang digunakan dalam kamera digital. Oleh itu, ia mencatat jumlah inframerah yang keluar dari objek, dan dengan jumlah ini, ia mengira suhu. Ia sangat tepat.

Langkah 3: Paparkan OLED

Paparkan OLED
Paparkan OLED

Langkah 4: Perhimpunan

perhimpunan
perhimpunan

Ini adalah skema yang sangat mudah. Saya mempunyai jadual di sini yang membolehkan visualisasi mudah.

ESP8266 - OLEDD5 - SCL

D7 - SDA

D3 - RES

D4 - DC

D8 - CS

3, 3v - VCC

GND - GND

MLX90614

D1 - SCL

D2 - SDA

3, 3v - VCC

GND - GND

Langkah 5: Perpustakaan

Perpustakaan
Perpustakaan
Perpustakaan
Perpustakaan

Untuk menggunakan paparan OLED, tambahkan pustaka "Adafruit-GFX-Library-master" berikut.

Cukup akses "Sketsa >> Sertakan Perpustakaan >> Urus Perpustakaan …"

Juga, tambahkan pustaka "Adafruit Unified Sensor" berikut.

Pautan muat turun untuk perpustakaan terdapat dalam PDF, terdapat di bawah.

Langkah 6: Kod Sumber

Kita akan mulakan dengan menentukan perpustakaan dan pemalar yang akan kita gunakan semasa kod kita.

#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 #def #define cs D8 #define rst D3 #define dc D4 // definição das cores que serão utilizadas #define BLACK 0x0000 #define PUTIH 0xFFFF // definição da coordenada onde escreveremos cada um dos dados #define POS_FOS_DOS_POS_POS_POS 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 responsável pela comunicação com o sensor infravermelho IRTherm sensor; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; terapung tempObjeto;

Persediaan

Dalam fungsi setup (), kita akan menginisialisasi objek komunikasi kita dengan sensor, dan juga objek komunikasi dengan layar. Berikut adalah beberapa tetapan untuk masing-masing.

persediaan tidak sah () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Seleciona temperatura em Celsius sensor.setUnit (TEMP_C); // podemos ainda utilizar TEMP_F untuk Fahrenheit // ou TEMP_K para Kelvin // inicializa o objeto para comunicarmos com o display OLED display.begin (); // pinta a tela toda de preto display.fillScreen (HITAM); // configura o tamnaho do texto que escreveremos em tela display.setTextSize (0); // configura a cor branca para o texto display.setTextColor (PUTIH); // os comandos abaixo posicionam o kursor 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}

Gelung

Dalam fungsi gelung (), mari kita baca data sensor, dan kemudian memaparkannya pada paparan OLED.

// chamamos o método "read" do sensor para realizar a leitura da temperatura // baca retornará 1 caso consiga realizar a leitura, ou 0 caso contrário if (sensor.read ()) {// recupera a leitura da temperatura do ambiente tempAmbiente = sensor.ambient (); // 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, HITAM); display.fillRect (POS_X_OBJETO + 35, POS_Y_OBJETO, 35, 10, HITAM); // posiciona o kursor dan melepaskan temperatura ambiente display.setCursor (POS_X_AMBIENTE + 35, POS_Y_AMBIENTE); display.print (tempAmbiente); display.print ((char) 247); // simbolo de graus // posiciona o kursor dan mengawal temperatura melakukan objeto que o sensor está apontando display.setCursor (POS_X_OBJETO + 35, POS_Y_OBJETO); display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} kelewatan (1000); // interalo de 1 segundo para a próxima leitura}

Disyorkan: