Përmbajtje:

Sensor me rreze infra të kuqe me ESP8266: 6 hapa
Sensor me rreze infra të kuqe me ESP8266: 6 hapa

Video: Sensor me rreze infra të kuqe me ESP8266: 6 hapa

Video: Sensor me rreze infra të kuqe me ESP8266: 6 hapa
Video: PZEM-004T и ESP8266 ESP-01 Wi-Fi-монитор энергопотребления | ESP-01 Домашняя автоматизация 2024, Nëntor
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Objektivi ynë këtë herë është të krijojmë një program që do të lexojë temperaturën e ambientit të çdo objekti që tregon drejt sensorit tonë. Për ta bërë këtë, ne do të përdorim në këtë projekt një nyje ESP8266MCU, një sensor infra të kuqe MLX90614 dhe një ekran OLED 96 , i cili do të shfaqë të dhënat e temperaturës.

Hapi 1: WiFi ESP8266 NodeMcu ESP-12E

Hapi 2: Sensori me rreze infra të kuqe

Sensor me rreze infra të kuqe
Sensor me rreze infra të kuqe

Sensori infra të kuqe MLX90614 i përdorur në këtë konfigurim është në fakt një lloj kamere. Ai kap imazhe përmes CCD (Pajisja e ngarkuar e shoqëruar), një sistem shumë i ngjashëm me atë të përdorur në kamerat dixhitale. Kështu, ajo regjistron sasinë e infra të kuqe që del nga objekti, dhe me këtë sasi, ajo llogarit temperaturën. Veryshtë shumë e saktë.

Hapi 3: Shfaqni OLED

Shfaq OLED
Shfaq OLED

Hapi 4: Asambleja

Kuvendi
Kuvendi

Kjo është një skemë shumë e thjeshtë. Unë kam një tabelë këtu që lejon vizualizim të lehtë.

ESP8266 - OLEDD5 - SCL

D7 - SDA

D3 - BRE

D4 - DC

D8 - CS

3, 3v - KQV

GND - GND

MLX90614

D1 - SCL

D2 - SDA

3, 3v - KQV

GND - GND

Hapi 5: Bibliotekat

Bibliotekat
Bibliotekat
Bibliotekat
Bibliotekat

Për të përdorur ekranin OLED, shtoni bibliotekën e mëposhtme "Adafruit-GFX-Library-master".

Thjesht hyni në "Skiconi >> Përfshi Bibliotekat >> Menaxhoni Bibliotekat …"

Gjithashtu, shtoni bibliotekën e mëposhtme "Adafruit Unified Sensor".

Lidhjet e shkarkimit për bibliotekat janë në PDF, të disponueshme vetëm më poshtë.

Hapi 6: Kodi Burimor

Ne do të fillojmë duke përcaktuar bibliotekat dhe konstantet që do të përdorim gjatë kodit tonë.

#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 #define cs D8 #define rst D3 #define dc D4 // definoni das cores que serão përdorime 2 #përcaktoni POS_Y_OBJETO 55 #përcaktoni POS_X_TITULO 10 #përcaktoni POS_Y_TITULO 4 // konstruktor për të përcaktuar komunikimin ose shfaqjen OLED Adafruit_SSD1331 = Adafruit_SSD1331 (cs, dc, mosi, sclk, rs // objeto respondável pela comunicação com o sensor infravermelho IRTherm sensor; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; float tempObjeto;

Konfigurimi

Në funksionin setup (), ne do të inicializojmë objektin tonë të komunikimit me sensorin, si dhe objektin e komunikimit me ekranin. Këtu janë disa cilësime për secilën prej tyre.

void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Seleciona temperatura em Celsius sensor.setUnit (TEMP_C); // podemos ainda utilizar TEMP_F para Fahrenheit // ou TEMP_K para Kelvin // inicializa ose objekte para comunicarmos com ose ekran OLED display.begin (); // pinta a tela toda de preto display.fillScreen (BLACK); // konfigurimi i plotë i tekstit që shfaqet në ekranin tuaj.setTextSize (0); // konfiguroni a cor branca para o texto display.setTextColor (E BARDH); // os comandos abaixo posicionam ose kursorin nr (x, y) deshironi për të gjetur një përshkrim të ekranit.setCursor (POS_X_TITULO, POS_Y_TITULO); ekran.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}

Lak

Në funksionin loop (), le të lexojmë të dhënat e sensorit, dhe pastaj t'i shfaqim ato në ekranin OLED.

// chamamos o método "read" do sensor para realizar a leitura da temperatura // lexo retornará 1 rast për të kuptuar një leitura, ose 0 rastet nëse (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, ZI); display.fillRect (POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, ZI); // poziciona ose kursori dhe ruajtja e ekranit të temperaturës së ambientit. setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); ekran.print (tempAmbiente); ekran.print ((char) 247); // simbolo de graus // poziciona ose kursori dhe ruajtja e një temperature dhe objektivi që mund të përcaktojë sensorin që shfaqet. setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); ekran.print (tempObjeto); ekran.print ((char) 247); // simbolo de graus} vonesë (1000); // intervalo 1 segundo para a próxima leitura}

Recommended: