K210触摸屏人脸识别开灯,温湿度,蜂鸣器,按键

本文介绍了如何使用K210芯片结合触摸屏进行人脸识别控制灯光、监测DHT22温湿度以及操作蜂鸣器。通过光耦隔离寄存器控制12V灯泡,利用高电平点亮。同时展示了温湿度显示界面和人脸识别开锁界面的实现。代码中还包括了蜂鸣器和DHT22传感器的控制部分,以及如何在K210电阻屏上实现各个功能的触摸操作,并提供按键退出和清屏功能。

K210触摸屏人脸识别开灯,温湿度dht22,蜂鸣器,按键

触摸屏界面
温湿度传感器用的是dht22。
在这里插入图片描述温湿度界面
在这里插入图片描述
人脸识别开灯(锁)界面
灯泡是12V的我们需要用3.3V的光耦隔离寄存器,给灯泡单独供电,D+接3.3V,D-接GND,S-接GND,S+接信号引脚,高电平点亮。COM端接正极,ON常开端接灯泡的正极。
在这里插入图片描述

这是beep蜂鸣器的代码事件。

// An highlighted block
def event_handlerr(obj,event):
    global KEY_NODE
    if event == lv.EVENT.CLICKED:
        print("I am Clicked")
        KEY_NODE = not KEY_NODE
        beep.value(KEY_NODE)
#按钮初始化
btn2 = lv.btn(lv.scr_act())
btn2.set_event_cb(event_handlerr)
btn2.align(None, lv.ALIGN.CENTER, 80, 80)
label = lv.label(btn2)
label.set_text("beep")

这是人脸识别开锁的代码

#按钮回调函数
def event_handler(obj, event):
    global KEY_NODE
    if event == lv.EVENT.CLICKED:
        print("light Clicked")
        KEY_NODE=not KEY_NODE
        a = True
        while(a):
            clock.tick()
            img = sensor.snapshot()
            code = kpu.run_yolo2(task, img) #运行yolo2网络
            #识别到人脸就画矩形表示
            if code:
                for i in code:
                    print(i)
                    b = img.draw_rectangle(i.rect())
                    LED_B.value(1)
                    utime.sleep(3)
                    LED_B.value(0)
            lcd.display(img)
            if KEY.value() == 0:
                a = False
                lcd.clear(lcd.WHITE)
                btn1 = lv.btn
项目需求: 首先一运行就要等待输入密码或进行人脸验证 验证成功后进入主界面(用oled屏或者lcd屏显示) 主界面有这4个功能选择: 1.灯光 2.时间 3.环境 4.管理员 进入功能1,可以做这些选择: 选择开灯或关灯,具体开哪些灯,关哪些灯 还要可以返回主界面 进入功能2:可以做这些选择: 选择是否在主界面显示当前时间 选择调节时间和日期 选择设置闹钟时间 选择返回主界面 进入功能3:可以做这些选择 选择获取当前环境温湿度数据 选择设置环境舒适值(如果当前环境温湿度数据低于这个值就要报警) 选择返回主界面 进入功能4:可以做这些选择 首先要进入管理员模式需要先输入正确的密码(这个密码和一开始的密码不一样) 进入管理员模式后可以选择这些功能: 修改第一个密码 录入人脸 最后可以返回主界面 难点: STM32上的按键数量有限,但可以选择的功能太多,所以要不停的重置按键功能 因此需要将功能结构自行区分,例如哪些功能要从属于哪些功能 项目完成方法: 先把每个功能实现,可以去翻阅前面的笔记和代码,基本上都有实现,功能模块化 再尝试实现不同功能的界面以及选择,搭建框架 然后在给每个界面的选项下面添加对应的功能代码,补充内容 最后补充一些逻辑上的细节和修改一些bug,完善项目
最新发布
07-11
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

研究代码的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值