Daftar Isi:

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, Juli
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Tujuan kami kali ini adalah membuat program yang akan membaca suhu lingkungan dari objek apa pun yang mengarah ke sensor kami. Untuk melakukan ini, kami akan menggunakan dalam proyek ini nodeMCU ESP8266, sensor inframerah MLX90614, dan layar OLED 96 , yang akan menampilkan data suhu.

Langkah 1: WiFi ESP8266 NodeMcu ESP-12E

Langkah 2: Sensor Inframerah

Sensor inframerah
Sensor inframerah

Sensor inframerah MLX90614 yang digunakan dalam pengaturan ini sebenarnya adalah jenis camcorder. Ini menangkap gambar melalui CCD (Charged Coupled Device), sebuah sistem yang sangat mirip dengan yang digunakan pada kamera digital. Dengan demikian, ia mencatat jumlah inframerah yang keluar dari objek, dan dengan jumlah ini, ia menghitung suhu. Ini sangat tepat.

Langkah 3: Tampilkan OLED

Tampilan OLED
Tampilan OLED

Langkah 4: Perakitan

perakitan
perakitan

Ini adalah skema yang sangat sederhana. Saya memiliki tabel di sini yang memungkinkan visualisasi yang 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 tampilan OLED, tambahkan library "Adafruit-GFX-Library-master" berikut.

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

Juga, tambahkan perpustakaan "Adafruit Unified Sensor" berikut.

Tautan unduhan untuk perpustakaan ada dalam PDF, tersedia tepat di bawah.

Langkah 6: Kode Sumber

Kita akan mulai dengan mendefinisikan library dan konstanta yang akan kita gunakan selama kode kita.

#include //Biblioteca para I2C#include //Biblioteca para comunicao com o sensor #include //Biblioteca para propriedades gráficas #include //Biblioteca para comunicao com dipsplay OLED // pinagem untuk NodeMCU ESP8266 #define sclk mosi D5 #define sclk D5 #define sclk D5 #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 #AMBI_POS_E_define 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // konstruktor melakukan objeto para comunicar com menampilkan 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 temperatureas lidas float tempAmbiente; float tempObjeto;

Mempersiapkan

Dalam fungsi setup (), kita akan menginisialisasi objek komunikasi kita dengan sensor, serta objek komunikasi dengan tampilan. Berikut adalah beberapa pengaturan untuk masing-masing.

void setup(){ //Inisialisasi sensor suhu infravermelho sensor.begin(); //Seleciona temperaturea em Celsius sensor.setUnit(TEMP_C);//podemos ainda utilizar TEMP_F untuk Fahrenheit //ou TEMP_K untuk Kelvin //inicializa o objeto para comunicarmos com o display OLED display.begin(); //pinta a tela toda de preto display.fillScreen(BLACK); //konfigurasi dan lakukan texto que escreveremos em tele display.setTextSize(0); //mengonfigurasi cor branca untuk teks tampilan.setTextColor(WHITE); //os perintah abaixo posicionam o kursor no (x, y) desejado untuk 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 }

Lingkaran

Dalam fungsi loop (), mari membaca data sensor, lalu menampilkannya di layar OLED.

//chamamos o método "read" do sensor para realizar a leitura da temperature//read retornará 1 caso consiga realizar a leitura, ou 0 caso contrário if (sensor.read()) { //recupera a leitura da temperaturea do ambiente tempAmbiente = sensor.ambien(); //memulihkan waktu dan suhu melakukan objeto apontado pelo sensor tempObjeto = sensor.object(); //mencapai area di colocamos o valor da temperaturea do ambiente 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, HITAM); //posisi kursor dan menampilkan suhu ambiente display.setCursor(POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print(tempAmbiente); display.print((char)247); //simbolo de graus //posisi kursor dan escreve suhu lakukan objek que o sensor está 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 }

Direkomendasikan: