物联网开发116 - Micropython ESP32 C3连接LU90614人体红外测温模块

from machine import Pin,SPI,PWM,UART
from st7567 import ST7567
from ufount1 import BMFont
import time

'''
1,体温模式发送指令:0XFA 0XC5 0XBF;2, 物温模式发送指令:0XFA 0XC6 0XC0;3,开始测温并上传温度指令 0XFA 0XCA 0XC4;
串口国际96081模式
'''

# 创建UART串口对象
uart = UART(1,baudrate = 9600,tx = 0, rx =1)

# 导入字库文件
font = BMFont("fonts/unifont-14-12888-16.v3.bmf")

# 创建SPI对象
spi = SPI(1,baudrate = 40_000_000,sck = Pin(2),mosi = Pin(3),miso = None)
# 定义屏幕背光参数
blk = PWM(Pin(8),duty = (0),freq = (1000))
# 创建LCD屏幕对象。# invX内容反转,0x00或0x01 # invY显示反转,True或False
lcd = ST7567(spi,dc = Pin(10,Pin.OUT),cs = Pin(7,Pin.OUT),rst = Pin(6,Pin.OUT),invX=0x00,invY=True,invdisp=0x00)
# 定义LED灯
led    = Pin(12,Pin.OUT)

# 指令
Tiwen  = bytearray(b'\xfa\xc5\xbf\r')  #体温指令
Wuwen  = bytearray(b'\xfa\xc6\xc0\r')  #物温指令
Celian = bytearray(b'\xfa\xca\xc4\r')  #开始测量
Data   = bytearray(9)  #数据缓存区

# 温度模块函数
def LU90614(mode):
    if mode:
        uart.write(Tiwen)  # 串口写入指定命令
    else:
        uart.write(Wuwen)
    # 写入串口数据
    uart.write(Celian)
    # 读取串口数据
    Data = uart.read()
    
    # 屏蔽空值
    if Data != None:
        if Data[1] == 0XAC:
            # 在屏幕上显示体温
            font.text(lcd,"体温:",0,32,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)
            #print("体温:")
        elif Data[1] == 0XAA:
            # 在屏幕上显示物温
            font.text(lcd,"物温:",0,32,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)
            # print("物温:")
            
        # 屏蔽不该显示的大额数值
        if Data[2] and Data[3] != 255:
            # 在屏幕上显示数值和温度符号
            font.text(lcd,"%d.%d℃"%(Data[2],Data[3]),48,32,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)
            #print("%d.%d℃"%(Data[2],Data[3]))
        else:
            font.text(lcd,"wait" + str(' '),48,32,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)
        
        # 获取体温数值
        data = Data[2]
        # 温度控制。
        if data > 35 and data < 39:
            led.value(1)
        else:
            led.value(0)
    
def main():
    # 设置屏幕背光
    num = 100
    blk.duty(int(num/1000*1023))
    
    # 显示中文
    font.text(lcd,"红外温度测量",16,0,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)
    lcd.hline(0,20,128,1)
    lcd.show()
    
    #True 人体温度采集,Fales 物体温度采集
    while True:
        LU90614(True)


if __name__ == "__main__":
    main()

示例效果:

四、字库和屏幕驱动资料

请从上篇文章获取:

物联网开发115 - Micropython ESP32 C3连接GM12864屏幕ST7576驱动IC芯片_魔都飘雪的博客-CSDN博客ESP32 C3开发板(MicroPython v1.19.1 on 2022-06-18)+12864点阵屏模块 + 几根杜邦线 + Win10商业版。这一节我们来学习如何使用合宙ESP32 C3,连接128x64点阵屏模块SPI接口液晶屏带字库,进行显示实验。某宝搜一下: 12864点阵屏12864模块SPI接口LCD点阵屏12864液晶屏。大家按需购买:我买的灰底黑字加不带字库。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传https://blog.csdn.net/zhusongziye/article/details/125455501?spm=1001.2014.3001.5501五、LU90614红外测温模块购买

https://detail.tmall.com/item.htm?_u=1p01rch7a5c&id=683636374568&spm=a1z09.2.0.0.6d2d2e8dfmSA1zhttps://detail.tmall.com/item.htm?_u=1p01rch7a5c&id=683636374568&spm=a1z09.2.0.0.6d2d2e8dfmSA1z

宝贝详情图片

模块资料下载:

链接:https://pan.baidu.com/s/16x-VwBJSzuN5834DsYEYWw?pwd=1234 提取码:1234

或者

链接: https://pan.baidu.com/s/1KocWep8YX3hpXb-Omdqs9Q 提取码: m56g

LU90614串口协议及接线定义:

一、 LU90614 模块接口定义

VCC : 3.3-5.5V 直流电源正极;

T ( TXD ) : 接 TTL 板或目标 MCU 的 TXD 端;

R ( RXD ): 接 TTL 板或目标 MCU 的 RXD 端;

GND : 电源负极 ( T 、 R 为通信口, 电平 3.3V 、 5V 兼容。)

二、 LU90614 通信协议

  1. 波特率 9600 , 数据位 8 , 停止位 1 , 无奇偶校验;

  2. 设置的参数可掉电保存;

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

&物联网开发知识点,真正体系化!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: 第二章:修复rshell在python3.10出错 免费内容: https://edu.csdn.net/course/detail/29666 micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机玩物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。 同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。 能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。 为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。为记录单片机传输过来的数据, 本教程会教大家入门数据库。  本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。 本教程micropython版本是 2019年6月发布的1.11; 更多内容请看视频列表。  学习这门课程之前你需要至少掌握: 1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。 本视频使用到的零件与淘宝上大致价格:     1: 超声波传感器(3)     2: MAX9814麦克风放大模块(8)     3: DHT22(15)     4: LED(0.1)     5: 8路5V低电平触发继电器(12)     6: HX1838红外接收模块(2)     7:红外发射管(0.1),HX1838红外接收板(1)     other: 电表, 排线, 面包板(2)*2,ESP32(28)  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值