Sadržaj:
- Korak 1: WiFi ESP8266 NodeMcu ESP-12E
- Korak 2: Infracrveni senzor
- Korak 3: Prikažite OLED
- Korak 4: Montaža
- Korak 5: Knjižnice
- Korak 6: Izvorni kod
Video: Infracrveni senzor s ESP8266: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Naš je cilj ovaj put stvoriti program koji će očitavati temperaturu okoline bilo kojeg objekta usmjerenog prema našem senzoru. Da bismo to učinili, u ovom ćemo projektu koristiti čvor ESP8266 čvorMCU, infracrveni senzor MLX90614 i OLED zaslon od 96 koji će prikazati podatke o temperaturi.
Korak 1: WiFi ESP8266 NodeMcu ESP-12E
Korak 2: Infracrveni senzor
Infracrveni senzor MLX90614 koji se koristi u ovom postavljanju zapravo je vrsta kamkordera. Snima slike putem CCD -a (Charged Coupled Device), sustava vrlo sličnog onom koji se koristi u digitalnim fotoaparatima. Tako bilježi količinu infracrvene veze koja izlazi iz objekta i s tom količinom izračunava temperaturu. Vrlo je precizno.
Korak 3: Prikažite OLED
Korak 4: Montaža
Ovo je vrlo jednostavna shema. Ovdje imam stol koji omogućuje laku vizualizaciju.
ESP8266 - OLEDD5 - SCL
D7 - SDA
D3 - RES
D4 - istosmjerni
D8 - CS
3, 3v - VCC
GND - GND
MLX90614
D1 - SCL
D2 - SDA
3, 3v - VCC
GND - GND
Korak 5: Knjižnice
Za korištenje OLED zaslona dodajte sljedeću biblioteku "Adafruit-GFX-Library-master".
Jednostavno pristupite "Sketch >> Include Libraries >> Manage Libraries …"
Također dodajte sljedeću biblioteku "Adafruit Unified Sensor".
Veze za preuzimanje knjižnica nalaze se u PDF -u, dostupne ispod.
Korak 6: Izvorni kod
Počet ćemo definiranjem knjižnica i konstanti koje ćemo koristiti tijekom našeg koda.
#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 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 POS_EZ_BAM_POSEBENOST_POSTAVI 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // konstruktor 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 senzor; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; float tempObjeto;
Postaviti
U funkciji setup () inicijalizirat ćemo naš objekt komunikacije sa senzorom, kao i objekt komunikacije s zaslonom. Evo nekoliko postavki za svaku od njih.
void setup () {// Inicializacijski senzor za temperaturu infravermelho sensor.begin (); // Odabir temperature em Celsius sensor.setUnit (TEMP_C); // podešava se ainda iskorištavanje TEMP_F za Fahrenheit // ou TEMP_K za Kelvin // inicijalizacija o objektu za komunikaciju s prikazom OLED display.begin (); // pinta a tela toda de preto display.fillScreen (BLACK); // konfiguracija o tamnaho do texto que escreveremos em tela display.setTextSize (0); // konfiguriranje a cor branca para ili texto display.setTextColor (BIJELO); // os comandos abaixo pozicionam o cursor 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}
Petlja
U funkciji loop () pročitajmo podatke senzora, a zatim ih prikažimo na OLED zaslonu.
// 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 temperature do ambiente tempAmbiente = senzor.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, BLACK); display.fillRect (POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, CRNO); // pozicioniranje kursora ili podizanje temperature ambiente display.setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print (tempAmbiente); display.print ((char) 247); // simbolo de graus // pozicija kursora ili escreve temperature do objeto que o senzoru está apontando display.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} kašnjenje (1000); // intervalo de 1 segundo para a próxima leitura}
Preporučeni:
Infracrveni senzor kockica: 5 koraka
Senzor infracrvenih kockica: Moje ime je Calvin i pokazat ću vam kako napraviti infracrveni senzor kockica te ću vam objasniti kako to funkcionira. Trenutno sam student sveučilišta Taylor koji studira računalno inženjerstvo i moj tim i od mene je zatraženo da dizajniramo i izgradimo mehanizam koji mogu sortirati bilo koje
Raspberry Pi - TMP007 Infracrveni senzor termopile senzora Python Vodič: 4 koraka
Raspberry Pi - TMP007 Infracrveni senzor termopile senzora Python: TMP007 je infracrveni senzor termopile koji mjeri temperaturu objekta bez kontakta s njim. Infracrvenu energiju koju emitira objekt u senzorskom polju apsorbira termopipa integrirana u senzor. Termopil
Raspberry Pi - TMP007 Infracrveni senzor termopile senzora za Java: 4 koraka
Raspberry Pi - TMP007 Infrared senzor termopile senzora za Java: TMP007 je infracrveni senzor termopile koji mjeri temperaturu objekta bez kontakta s njim. Infracrvenu energiju koju emitira objekt u senzorskom polju apsorbira termopipa integrirana u senzor. Termopil
Adafruit SI1145 UV/vidljivo svjetlo/infracrveni senzor - Arduino i LCD: 4 koraka
Adafruit SI1145 UV/vidljivo svjetlo/infracrveni senzor - Arduino i LCD: Ovaj projekt koristi Adafruit SI1145 UV/vidljivo svjetlo/infracrveni senzor za izračun trenutne UV ocjene. UV zračenje se ne osjeća izravno. Radije se izračunava kao funkcija vidljivog svjetla i infracrvenih očitanja. Kad sam ga testirao vani
Infracrveni senzor blizine pomoću LM358: 5 koraka
Infracrveni senzor blizine pomoću LM358: Ovo je uputstvo o izradi IC senzora blizine