# micropython_ir_camera **Repository Path**: danmu_admin/micropython_ir_camera ## Basic Information - **Project Name**: micropython_ir_camera - **Description**: 基于micropython的红外相机 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2023-03-26 - **Last Updated**: 2024-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # micropython_ir_camera GY-mcu90640 st7735 128x160 esp32c3 micropython ![红外温度相机](0323_1.jpg) * 合宙ESP32C3 (含串口模块的) * 合宙ST7735 128x160 LCD * GY-MCU90640 ### 准备 #### 合宙ESP32C3 合宙ESP32C3 (含串口模块的)烧录固件 :c3_uart.bin #### gy-mcu90640 修改gy-mcu90640的波特率,默认为115200,4HZ,需要修改为460800,8HZ,且修改完断电就可以使用了。 |GY-MCU90640|合宙ESP32C3 | |-|-| |TX|8| |RX|9| |5v|5v| |GND|GND| 执行下面代码 ``` from machine import UART u=UART(1,rx=8,tx=9,baudrate=115200,rxbuf=1544) ##修改为460800 u.write(b'\xa5\x15\x03\xbd') # time.sleep(0.22) ##修改为8FPS u.write(b'\xa5\x25\x04\xce') #保存,断电重启即可,以后访问GY-MCU90640请把波特率设置为460800,预计120ms可以获得1FPS的数据,本代码中默认设置为150ms拉取一次数据。 u.write(b'\xa5\x65\x01\x0b') ``` ### 使用 |GY-MCU90640|合宙ESP32C3 |合宙ST7735| |-|-|-| |TX|8|| |RX|9|| |5v|5v|5V| |GND|GND|GND| ||2|sck| ||3|sda| ||10|res| ||7|cs| ||6|dc| ||11|bl(随意)| 若使用合宙的C3,请焊接排母,可以直接插上合宙的1.8寸的ST7735,gy-muc90640可以使用杜邦线连接,整个项目不用复杂的焊接,完成后可以直接用热溶胶粘起来,或者自己手工做个盒子,也可以3D打印一个外壳,总体较为简单。 ### 需要上传的文件 * main.py 主文件,使用多线程 * queue.py Queue模块 * logo.jpg 最下层LOGO文件,若自行生成,分辨率 87x16,若超过显示屏分辨率 会不显示,请谨慎选择分辨率。 ### 工作流程 > 次线程:串口获取GY-MCU90640的数据1544字节(768点温度数据,最高温度,最低温度,传感器温度) > 主线程 获取保存在列队的信息。 >> 对收到的每一帧数据进行处理(双线性插值,伪色转换) >>最后在ST7735屏幕上显示数据 ### 相关来源 [ESP32C3的ST7789固件](https://github.com/russhughes/st7789_mpy) 如果需要其他芯片的固件可以直接到该链接下载即可 [micropython queue](https://github.com/jaycosaur/micropython-queue)