Satura rādītājs:
- 1. darbība: WiFi ESP8266 NodeMcu ESP-12E
- 2. solis: infrasarkanais sensors
- 3. darbība: parādiet OLED
- 4. solis: montāža
- 5. darbība: bibliotēkas
- 6. darbība: avota kods
Video: Infrasarkanais sensors ar ESP8266: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Mūsu mērķis šoreiz ir izveidot programmu, kas nolasītu jebkura objekta apkārtējās vides temperatūru, kas vērsta uz mūsu sensoru. Lai to izdarītu, šajā projektā mēs izmantosim ESP8266 nodeMCU, MLX90614 infrasarkano sensoru un OLED 96 collu displeju, kas parādīs temperatūras datus.
1. darbība: WiFi ESP8266 NodeMcu ESP-12E
2. solis: infrasarkanais sensors
Šajā iestatījumā izmantotais infrasarkanais sensors MLX90614 patiesībā ir videokameras veids. Tas uzņem attēlus, izmantojot CCD (Charged Coupled Device), kas ir ļoti līdzīga sistēmai, ko izmanto nekustīgās digitālajās kamerās. Tādējādi tas reģistrē no objekta izplūstošo infrasarkano staru daudzumu un ar šo daudzumu aprēķina temperatūru. Tas ir ļoti precīzi.
3. darbība: parādiet OLED
4. solis: montāža
Šī ir ļoti vienkārša shēma. Man šeit ir tabula, kas ļauj viegli vizualizēt.
ESP8266 - OLEDD5 - SCL
D7 - SDA
D3 - RES
D4 - līdzstrāva
D8 - CS
3, 3v - VCC
GND - GND
MLX90614
D1 - SCL
D2 - SDA
3, 3v - VCC
GND - GND
5. darbība: bibliotēkas
Lai izmantotu OLED displeju, pievienojiet šādu bibliotēku "Adafruit-GFX-Library-master".
Vienkārši piekļūstiet sadaļai “Skice >> Iekļaut bibliotēkas >> Pārvaldīt bibliotēkas…”
Pievienojiet arī šādu bibliotēku "Adafruit Unified Sensor".
Bibliotēku lejupielādes saites ir PDF failā, kas pieejams tieši zemāk.
6. darbība: avota kods
Sāksim ar to bibliotēku un konstantu definēšanu, kuras izmantosim koda laikā.
#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 mosi D7 #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_X_X #POS_X_X 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // construtor do objeto para comunicar com o display OLED Adafruit_SSD1331 display = Adafruit_SSD1331 (cs, dc, mosi, sclk, rst) // objeto responseável pela comunicação com o sensor infravermelho IRTherm sensors; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; pludiņa tempObjeto;
Uzstādīt
Funkcijā setup () mēs inicializēsim saziņas objektu ar sensoru, kā arī saziņas objektu ar displeju. Šeit ir daži iestatījumi katram no tiem.
void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Atlases temperatūra Celsija sensorā.setUnit (TEMP_C); // podemos ainda utilizar TEMP_F para Fahrenheit // ou TEMP_K para Kelvin // inicializa o objeto para comunicarmos com o 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); // konfigurējiet korporatīvo teksta displeju.setTextColor (WHITE); // os comandos abaixo posicionam 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); // grafiskais displejs.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}
Cilpa
Funkcijā loop () nolasīsim sensora datus un pēc tam parādīsim tos OLED displejā.
// chamamos o método "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 = sensors.apkārt (); // recupera a leitura da temperatura do objeto apontado pelo sensor tempObjeto = sensors.objekts (); // 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); // pozicionēšana vai kursora parādīšana un apkārtējās vides displeja parādīšana. setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print (tempAmbiente); displejs.druka ((char) 247); // simbolo de graus // pozicionēšana vai kursora iestatīšana un temperatūras paaugstināšana, lai sasniegtu sensoru un apestando display.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); display.print (tempObjeto); displejs.druka ((char) 247); // simbolo de graus} delay (1000); // intervalo de 1 segundo para a próxima leitura}
Ieteicams:
Gumijas lentes mašīna, infrasarkanais sensors, TV DEFENDER ROBOT: 5 soļi (ar attēliem)
Gumijas lentes mašīna, infrasarkano staru sensori, TV DEFENDER ROBOT: neizmantojot integrētās shēmas, šis robots gaida infrasarkano signālu no standarta televizora tālvadības pults un pēc tam ātri aktivizē gumijas joslu komplektu. Piezīme: Skatiet/pieprasiet " darbvirsmas vietni " ja neredzat videoklipu. Atruna: šis projekts ir
Raspberry Pi - TMP007 infrasarkanais termopilu sensors Python Pamācība: 4 soļi
Raspberry Pi - TMP007 Infrasarkanā termopilu sensora Python apmācība: TMP007 ir infrasarkanais termopilu sensors, kas mēra objekta temperatūru, nesaskaroties ar to. Objekta izstaroto infrasarkano staru enerģiju sensora laukā absorbē sensorā integrētais termopils. Termopils
Raspberry Pi - TMP007 infrasarkanais termopilu sensors Java apmācība: 4 soļi
Raspberry Pi - TMP007 infrasarkanais termopilu sensors Java apmācība: TMP007 ir infrasarkanais termopilu sensors, kas mēra objekta temperatūru, nesaskaroties ar to. Objekta izstaroto infrasarkano staru enerģiju sensora laukā absorbē sensorā integrētais termopils. Termopils
Adafruit SI1145 UV/redzamās gaismas/infrasarkanais sensors - Arduino un LCD: 4 soļi
Adafruit SI1145 UV/redzamās gaismas/infrasarkanais sensors - Arduino un LCD: Šajā projektā tiek izmantots Adafruit SI1145 UV/redzamās gaismas/infrasarkanais sensors, lai aprēķinātu pašreizējo UV līmeni. UV nav tieši uztverams. Drīzāk to aprēķina kā redzamās gaismas un infrasarkanā rādījuma funkciju. Kad es to pārbaudīju ārā, tas
Infrasarkanais tuvuma sensors, izmantojot LM358: 5 soļi
Infrasarkanais tuvuma sensors, izmantojot LM358: Tas ir pamācība par IR tuvuma sensora izgatavošanu