Orodha ya maudhui:

Sensor ya infrared na ESP8266: 6 Hatua
Sensor ya infrared na ESP8266: 6 Hatua

Video: Sensor ya infrared na ESP8266: 6 Hatua

Video: Sensor ya infrared na ESP8266: 6 Hatua
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Julai
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Kusudi letu wakati huu ni kuunda programu ambayo itasoma hali ya joto ya mazingira ya kitu chochote kinachoelekeza kwa sensor yetu. Ili kufanya hivyo, tutatumia katika mradi huu nodi ya ESP8266 nodiMCU, sensa ya infrared ya MLX90614, na onyesho la OLED 96, ambalo litaonyesha data ya joto.

Hatua ya 1: WiFi ESP8266 NodeMcu ESP-12E

Hatua ya 2: Sensorer ya infrared

Sensorer ya infrared
Sensorer ya infrared

Sensor ya infrared ya MLX90614 inayotumiwa katika usanidi huu ni aina ya kamkoda. Inachukua picha kupitia CCD (Kifaa kilichounganishwa pamoja), mfumo unaofanana sana na ule unaotumika katika kamera za dijiti bado. Kwa hivyo, inarekodi kiwango cha infrared inayotoka kwenye kitu, na kwa kiasi hiki, inahesabu joto. Ni sahihi sana.

Hatua ya 3: Onyesha OLED

Onyesha OLED
Onyesha OLED

Hatua ya 4: Mkutano

Mkutano
Mkutano

Huu ni mpango rahisi sana. Nina meza hapa ambayo inaruhusu taswira rahisi.

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

Hatua ya 5: Maktaba

Maktaba
Maktaba
Maktaba
Maktaba

Ili kutumia onyesho la OLED, ongeza maktaba ifuatayo ya "Adafruit-GFX-Library-master".

Fikia tu "Mchoro >> Jumuisha Maktaba >> Dhibiti Maktaba…"

Pia, ongeza maktaba ifuatayo ya "Adafruit Unified Sensor".

Viungo vya kupakua kwa maktaba viko kwenye PDF, inapatikana hapa chini.

Hatua ya 6: Nambari ya Chanzo

Tutaanza kwa kufafanua maktaba na vichapo tutakavyotumia wakati wa nambari yetu.

# pamoja # Biblioteca para I2C # ni pamoja na // Biblioteca para comunicação com o sensor # pamoja # Biblioteca para propriedades gráficas #include // Biblioteca para comunicação com dipsplay OLED // pinagem para o NodeMCU ESP8266 #define sclk D5 #fasili CS CS8 2 #fafanua POS_Y_OBJETO 55 #fafanua POS_X_TITULO 10 #fafanua POS_Y_TITULO 4 // construtor do objeto para comunicar com o display OLED Adafruit_SSD1331 display = Adafruit_SSD1331 (cs, dc, mosi, sclk, rst); // objeto Respável pela comunicação com o sensor infravermelho IRTherm sensor; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; kuelea tempObjeto;

Sanidi

Katika kazi ya kuanzisha (), tutaanzisha kitu chetu cha mawasiliano na sensa, na pia kitu cha mawasiliano na onyesho. Hapa kuna mipangilio ya kila mmoja wao.

kuanzisha batili () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Seleciona temperatura em Celsius sensor.setUnit (TEMP_C); // bonyeza picha kabla ya kuonyesha.fillScreen (NYEUSI); // usanidi wa tamnaho kufanya maandishi ambayo yanaonyesha kuonyesha.setTextSize (0); // usanidi wa branca kwa kuonyesha maandishi.setTextColor (NYEUPE); // os comandos abaixo posicionam o cursor no (x, y) desejado para a seguir escrevermos em tela display.setCursor (POS_X_TITULO, POS_Y_TITULO); onyesho.print ("TEMPERATURA"); onyesha.setCursor (POS_X_TITULO + 20, POS_Y_TITULO + 15); onyesha.print ("("); onyesha.print ((char) 247); // símbolo de graus display.print ("C)"); Onyesha Mshale (POS_X_AMBIENTE, POS_Y_AMBIENTE); onyesho.print ("AMB:"); // onyesho la AMBIENTE.setCursor (POS_X_OBJETO, POS_Y_OBJETO); onyesho.print ("OBJ:"); // OBJETO}

Kitanzi

Katika kazi ya kitanzi, wacha tusome data ya sensorer, kisha tuionyeshe kwenye onyesho la OLED.

= sensor.ambient (); // recupera a leitura da temperatura do objeto apontado pelo sensor tempObjeto = sensor. kitu (); // 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, NYEUSI); onyesha.fillRect (POS_X_OBJETO + 35, POS_Y_OBJETO, 35, 10, NYEUSI); // posiciona o cursor na escreve a temperatura ambiente display.setCursor (POS_X_AMBIENTE + 35, POS_Y_AMBIENTE); onyesho.print (tempAmbiente); onyesho.print ((char) 247); // simbolo de graus // posiciona o cursor and escreve a temperatura do objeto que o sensor está apontando display.setCursor (POS_X_OBJETO + 35, POS_Y_OBJETO); onyesho.print (tempObjeto); onyesho.print ((char) 247); // simbolo de graus} kuchelewa (1000); // intervalo de 1 segundo kwa próxima leitura}

Ilipendekeza: