Git Product home page Git Product logo

esp32-s2-mlx90640-touch-screen-thermal-camera's Introduction

ESP32-S3 MLX90640 Touch Screen Thermal Camera

/*
Version:		V3.2
Author:			Vincent
Create Date:	2021/12/3
Note:
	2024/1/8	V3.2: The S2 has been discontinued, and all tests under the S3 have passed.
				V3.1: Added the function of shielding bad spots
	2021/12/31	V3.0: Add Wifi mode,can display on a python program.
	2021/12/22	V2.0: Added a modular kit and has an acrylic case.
	
*/

[toc]

Makerfabs

Makerfabs home page

Makerfabs Wiki

ESP32-S2 MLX90640 Touch Screen Thermal Camera

Intruduce

Product Link :

Wiki Link :

Based on Makefabs ESP32-S3 Parallel TFT, Mabee MLX90640(Thermal imaging camera). This is a thermal imaging camera kit, contains a laser-cut acrylic case.

It can realize non-contact remote temperature measurement and fault detection. The advantage is that it is simple and intuitive, showing temperature differences across the entire region. It can also detect the movement of living things with no light at all.

Or just checking the temperature of your coffee.

Item List

Front:

front

Back:

back

Code

Compiler Options

If you have any questions,such as how to install the development board, how to download the code, how to install the library. Please refer to :Makerfabs_FAQ

  • Install board : ESP32

Using 1.1.9  Version LovyanGFX    LovyanGFX 
Using 2.0.0  Version Wire    esp32\2.0.11\libraries\Wire 
Using 1.0.4  Version Adafruit_MLX90640    Adafruit_MLX90640 
Using 1.14.4  Version Adafruit_BusIO    Adafruit_BusIO 
Using 2.0.0  Version FS    esp32\2.0.11\libraries\FS 
Using 2.0.0  Version SD    esp32\2.0.11\libraries\SD 
Using 2.0.0  Version SPI    esp32\2.0.11\libraries\SPI 


For detailed burning method, please refer to Makerfabs-ESP32-S3-Parallel-TFT-with-Touch

Firmware

Thermal_Camera S3

The S2 has been discontinued, and all tests under the S3 have passed.

Thermal_Camera V3

Add a python display, without interporation.

Run rec.py

And need uncommitted WIFI_MODE.

//Choice local mode or wifi mode
#define WIFI_MODE

Thermal_Camera V2

Based on ESP32-S2, ILI9488 screen, ft6236 touch drive, MLX90640 sensor is a thermal imaging camera demo.

Temperature images can be displayed on the screen. The highest temperature in the range will be displayed.

Data can be stored to an SD card by pressing buttons on the touch screen.

Added macro definition of camera orientation, which can be combined with the hole in the acrylic case to choose whether the camera faces the screen or the other side

firmware

If you want change MLX90640 direction. Default is 1.

#define MLX_MIRROR 0 // Set 1 when the camera is facing the screen

Thermal_Camera

Based on ESP32-S2, ILI9488 screen, ft6236 touch drive, MLX90640 sensor is a thermal imaging camera demo.

Temperature images can be displayed on the screen.

Example

MLX1

Simply obtain the temperature matrix of MLX90640 transmission. And display via serial port.

esp32-s2-mlx90640-touch-screen-thermal-camera's People

Contributors

195cn avatar makerfabs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

esp32-s2-mlx90640-touch-screen-thermal-camera's Issues

I2S port error? Please help.

In file included from C:\Users\QuangPC\Documents\Arduino\libraries\ESP32-S2-MLX90640-Touch-Screen-Thermal-Camera-main\firmware\Thermal_Camera_V3\Thermal_Camera_V3.ino:17:
C:\Users\QuangPC\Documents\Arduino\libraries\ESP32-S2-MLX90640-Touch-Screen-Thermal-Camera-main\firmware\Thermal_Camera_V3\lcd_set.h: In constructor 'LGFX::LGFX()':
C:\Users\QuangPC\Documents\Arduino\libraries\ESP32-S2-MLX90640-Touch-Screen-Thermal-Camera-main\firmware\Thermal_Camera_V3\lcd_set.h:19:17: error: 'struct lgfx::v1::Bus_Parallel16::config_t' has no member named 'i2s_port'; did you mean 'port'?
cfg.i2s_port = I2S_NUM_0; // 使用するI2Sポートを選択 (0 or 1) (ESP32のI2S LCDモードを使用します)
^~~~~~~~
port
C:\Users\QuangPC\Documents\Arduino\libraries\ESP32-S2-MLX90640-Touch-Screen-Thermal-Camera-main\firmware\Thermal_Camera_V3\lcd_set.h:19:28: error: 'I2S_NUM_0' was not declared in this scope
cfg.i2s_port = I2S_NUM_0; // 使用するI2Sポートを選択 (0 or 1) (ESP32のI2S LCDモードを使用します)
^~~~~~~~~
C:\Users\QuangPC\Documents\Arduino\libraries\ESP32-S2-MLX90640-Touch-Screen-Thermal-Camera-main\firmware\Thermal_Camera_V3\lcd_set.h:19:28: note: suggested alternative: 'GPIO_NUM_0'
cfg.i2s_port = I2S_NUM_0; // 使用するI2Sポートを選択 (0 or 1) (ESP32のI2S LCDモードを使用します)
^~~~~~~~~
GPIO_NUM_0
Multiple libraries were found for "SD.h"
Used: C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SD
Not used: C:\Users\QuangPC\Documents\Arduino\libraries\SD
exit status 1

Compilation error: 'struct lgfx::v1::Bus_Parallel16::config_t' has no member named 'i2s_port'; did you mean 'port'?

Issue with ESP32S3 Version

This is the error:
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\Light_PWM.cpp: In member function 'virtual bool lgfx::v1::Light_PWM::init(uint8_t)':
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\Light_PWM.cpp:43:5: error: 'ledcSetup' was not declared in this scope
43 | ledcSetup(_cfg.pwm_channel, _cfg.freq, PWM_BITS);
| ^~~~~~~~~
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\Light_PWM.cpp:44:5: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?
44 | ledcAttachPin(_cfg.pin_bl, _cfg.pwm_channel);
| ^~~~~~~~~~~~~
| ledcAttach
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\common.cpp: In function 'void lgfx::v1::i2c::i2c_set_cmd(i2c_dev_t*, uint8_t, uint8_t, uint8_t, bool)':
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\common.cpp:812:14: error: 'struct i2c_dev_t' has no member named 'comd0'; did you mean 'comd'?
812 | (&dev->comd0)[index].val = cmd_val;
| ^~~~~
| comd
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\Bus_SPI.cpp: In function 'void lgfx::v1::gpio_reset(size_t)':
c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32\Bus_SPI.cpp:182:5: error: 'gpio_matrix_out' was not declared in this scope; did you mean 'gpio_iomux_out'?
182 | gpio_matrix_out((gpio_num_t)pin, SIG_GPIO_OUT_IDX, 0, 0);
| ^~~~~~~~~~~~~~~
| gpio_iomux_out
In file included from c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32s3\Bus_RGB.cpp:29:
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/gdma_ll.h: In function 'void gdma_ll_rx_enable_interrupt(gdma_dev_t*, uint32_t, uint32_t, bool)':
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/gdma_ll.h:82:46: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
82 | dev->channel[channel].in.int_ena.val |= mask;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/gdma_ll.h:84:46: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
84 | dev->channel[channel].in.int_ena.val &= ~mask;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/gdma_ll.h: In function 'void gdma_ll_tx_enable_interrupt(gdma_dev_t*, uint32_t, uint32_t, bool)':
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/gdma_ll.h:330:47: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
330 | dev->channel[channel].out.int_ena.val |= mask;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/gdma_ll.h:332:47: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
332 | dev->channel[channel].out.int_ena.val &= ~mask;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from c:\Users\QuangPC\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32s3\Bus_RGB.cpp:32:
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/lcd_ll.h: In function 'void lcd_ll_enable_interrupt(lcd_cam_dev_t*, uint32_t, bool)':
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/lcd_ll.h:557:33: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
557 | dev->lc_dma_int_ena.val |= mask & 0x03;
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-3662303f31/esp32s3/include/hal/esp32s3/include/hal/lcd_ll.h:559:33: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
559 | dev->lc_dma_int_ena.val &= ~(mask & 0x03);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
Multiple libraries were found for "SD.h"
Used: C:\Users\QuangPC\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-alpha3\libraries\SD
Not used: C:\Users\QuangPC\Documents\Arduino\libraries\SD
exit status 1

Compilation error: exit status 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.