فهرست مطالب:

سنسور مادون قرمز با ESP8266: 6 مرحله
سنسور مادون قرمز با ESP8266: 6 مرحله

تصویری: سنسور مادون قرمز با ESP8266: 6 مرحله

تصویری: سنسور مادون قرمز با ESP8266: 6 مرحله
تصویری: ساخت پروژه کنترل با سنسور مادون قرمز | Construction of control project with infrared sensor 2024, جولای
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

هدف ما این بار ایجاد برنامه ای است که دمای محیط هر جسمی را که به سمت سنسور ما اشاره می کند ، بخواند. برای انجام این کار ، ما در این پروژه از یک nodeMCU ESP8266 ، یک سنسور مادون قرمز MLX90614 و یک صفحه نمایش OLED 96 اینچی استفاده می کنیم که داده های دما را نمایش می دهد.

مرحله 1: WiFi ESP8266 NodeMcu ESP-12E

مرحله 2: سنسور مادون قرمز

سنسور مادون قرمز
سنسور مادون قرمز

سنسور مادون قرمز MLX90614 مورد استفاده در این تنظیمات در واقع نوعی دوربین فیلمبرداری است. این دستگاه از طریق CCD (دستگاه همراه شارژ) ، سیستمی بسیار شبیه به آنچه در دوربین های دیجیتال استفاده می شود ، می گیرد. بنابراین مقدار مادون قرمز خروجی از جسم را ثبت می کند و با این مقدار ، دما را محاسبه می کند. بسیار دقیق است

مرحله 3: نمایش OLED

نمایش OLED
نمایش OLED

مرحله 4: مونتاژ

مونتاژ
مونتاژ

این یک طرح بسیار ساده است. من یک جدول در اینجا دارم که امکان تجسم آسان را فراهم می کند.

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

مرحله 5: کتابخانه ها

کتابخانه ها
کتابخانه ها
کتابخانه ها
کتابخانه ها

برای استفاده از صفحه نمایش OLED ، کتابخانه "Adafruit-GFX-Library-master" زیر را اضافه کنید.

به سادگی به "طرح> شامل کتابخانه ها> مدیریت کتابخانه ها …" دسترسی پیدا کنید.

همچنین ، کتابخانه "Adafruit Unified Sensor" زیر را اضافه کنید.

پیوندهای بارگیری کتابخانه ها به صورت PDF ، در زیر موجود است.

مرحله 6: کد منبع

ما با تعریف کتابخانه ها و ثابت هایی که در طول کد خود استفاده می کنیم ، شروع می کنیم.

#شامل // Biblioteca para I2C #شامل // 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 #define cs D8 #define rst D3 #define dc D4 // definição das cores que serão utilizadas #definine BLACK 0x0000 #definine WHITE 0xFFFF // definição da coordenada onde escreveremos cada um_fos_BOB_BOBE_BO 2 #تعریف POS_Y_OBJETO 55 #تعریف POS_X_TITULO 10 #تعریف POS_Y_TITULO 4 // سازنده صفحه نمایش 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؛

برپایی

در تابع setup () ، ما هدف ارتباط خود را با سنسور و همچنین هدف ارتباط با صفحه نمایش را تنظیم می کنیم. در اینجا برخی از تنظیمات برای هر یک از آنها آمده است.

void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin ()؛ // Seleciona temperatura em Celsius sensor.setUnit (TEMP_C)؛ // podemos ainda utilisar TEMP_F para Fahrenheit // ou TEMP_K para Kelvin // inicializa o objeto para comunicarmos com or display OLED display.begin ()؛ // pinta a tela toda de preto display.fillScreen (BLACK) ؛ // configura o tamnaho do texto que escreveremos em tela display.setTextSize (0)؛ // configura a cor branca para o texto display.setTextColor (WHITE) ؛ // os comandos abaixo posicionam o cursor no (x، y) desijado to 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}

حلقه

در تابع حلقه () ، اجازه دهید داده های سنسور را بخوانیم ، و سپس آنها را روی صفحه نمایش OLED نمایش دهیم.

// chamamos o metodo "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 = sensor.ambient ()؛ // recupera a leitura da temperatura do objeto apontado pelo sensor 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 ، BLACK) ؛ // مکان نما و نشان دادن درجه حرارت صفحه نمایش. setCursor (POS_X_AMBIENTE+35، POS_Y_AMBIENTE)؛ display.print (tempAmbiente) ؛ display.print ((char) 247) ؛ // simbolo de graus // posiciona o cursor e escreve a temperatura or objeto que o sensor or está apontando display.setCursor (POS_X_OBJETO+35 ، POS_Y_OBJETO) ؛ display.print (tempObjeto) ؛ display.print ((char) 247) ؛ // simbolo de graus} تأخیر (1000) ؛ // intervalo de 1 segundo para a próxima leitura}

توصیه شده: