5115|16

932

帖子

3

TA的资源

纯净的硅(中级)

楼主
 

GD32E231 DIY大赛(9)——《家庭智能监控》项目总结 [复制链接]

 
本帖最后由 hujj 于 2019-5-21 13:04 编辑

一、项目名称:
    家庭红外智能报警装置

二、项目简介:
    常见的人体红外线监控装置功能比较单一,需要手工设定播放欢迎语或播放警笛声,而我们在家庭实际使用中,白天需要听到的是欢迎语,夜晚就寝之后才需要警笛报警声,也就是说需要有一个智能化的人体红外线监控装置,不光是能够自动根据时间段(白天或深夜)来确定监控播放内容,而且还能够自动记录监控触发的时间。
    项目总体设想是通过GD32E231开发板作为主控单元,用LCD5110显示屏及两个用户按钮作为人机交互模块,通过红外线探头来作监测,用AT24C02flash芯片来保存记录监控报警的触发时间,这样就能初步实现基本的智能功能。
   
三、项目的主要任务:
    1、完成LCD5110的驱动;
    2、完成AT24C02的读写操作;
    3、完成红外监测探头的驱动;
    4、完成两个用户按键的功能;
    5、用户设置日期及时间功能;
    6、用户浏览报警记录功能。

四、系统功能简介:
    1、通过红外传感器检测监控范围内的人员活动,有移动人员立即发出报警声。并留有其它传感器接口,可以继续添加可燃气体传感器和烟雾传感器等,增加使用功能;
    2、通过AT24C02flash芯片保存警报记录,每条记录占用8个字节,可存储最后的32条报警记录;
    3、使用DS1302日历模块提供日期及时间,同时在屏幕最下面显示当前的日期及时间。启用系统滴答提供毫秒信号,在main程序的主循环中计算秒信号并提供显示用,同时每分钟读取一次DS1302的时钟数据并更新显示;
    4、采用一块四声报警音乐芯片提供救护车、消防车、警车警报声,采用一块音乐芯片提供乐曲声音;
    5、在正常报警声情况下,用户可以自行设置两个时间点(每15分钟为一个单位),第一个时间点在0~12时范围内任意设置, 第二个时间点为第一个时间点到23点45分之间任意设置,在这两个时间之间报警为音乐提示,在此之外为警报声提示;
    6、用户还可以指定救护车声、消防车声、警车声和音乐声之一为固定的报警声音,此时不受上述时间点的控制;
    7、用户可以自行设定警报声时长,时长可在1~255秒之间任意设定,音乐声音的时长不受这个设置影响;
    8、系统会自动记录报警的日期时间,这些记录存储在AT24C02中,保留最后32条报警记录。同时还会记录警情次数并在屏幕上显示,这个数据在查询报警记录后或断电后归零;
    9、若有未查看的报警记录,系统会每隔15分钟发出短促的响声提示,直到用户进入查询状态或系统断电;
    10、查询时屏幕每次显示三条记录,可通过按键上下翻看最后32条报警记录的日期和时间。

五、硬件框图:


六、硬件连接及相关的照片:
1、硬件连接



2、开发板及AT24C02FIASH芯片、DS1302模块



3、红外检测传感器及四声报警音乐IC



4、音乐IC及喇叭


七、源代码:
Alarm.rar (507.36 KB, 下载次数: 37)


八、视频:







补充内容 (2019-6-17 19:00):
补充项目总结的WORD文档见11楼。
此帖出自GD32 MCU论坛

最新回复

谢谢分享   详情 回复 发表于 2021-4-10 17:06
点赞 关注(3)
 

回复
举报

932

帖子

3

TA的资源

纯净的硅(中级)

沙发
 
    经过二十多天的不断调试和改进,《家庭智能监控》项目总算如期完成,全部达到了项目计划的功能。下面是在这次DIY过程中我发出帖子的链接:

[经验分享] GD32E231 DIY大赛(1)——KEIL平台搭建完毕 https://bbs.eeworld.com.cn/forum ... &tid=1074181&extra=
[经验分享] GD32E231 DIY大赛(2)——开箱测试 https://bbs.eeworld.com.cn/forum ... &tid=1075699&extra=
[经验分享] GD32E231 DIY大赛(3)——驱动LCD5110 https://bbs.eeworld.com.cn/forum ... &tid=1075772&extra=
[问题讨论] GD32E231 DIY大赛(4)——如何获得长短按键? https://bbs.eeworld.com.cn/forum ... &tid=1076208&extra=
[经验分享] GD32E231 DIY大赛(5)——完成DS1302的驱动和设置及长短按键识别 https://bbs.eeworld.com.cn/forum ... &tid=1076361&extra=
[经验分享] GD32E231 DIY大赛(6)——I2C驱动AT24C02完成 https://bbs.eeworld.com.cn/forum ... &tid=1076422&extra=

[经验分享] GD32E231 DIY大赛(7)——人体红外传感模块及音乐IC驱动完成 https://bbs.eeworld.com.cn/forum ... &tid=1076888&extra=
[经验分享] GD32E231 DIY大赛(8)——完成定时器2的驱动 https://bbs.eeworld.com.cn/forum ... &tid=1077314&extra=
[经验分享] GD32E231 DIY大赛(9)——重写按键处理程序 https://bbs.eeworld.com.cn/forum ... &tid=1077478&extra=
此帖出自GD32 MCU论坛
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

板凳
 
    在本次DIY过程中也遇到过几个坑,其中之一就是长短按键获取的问题,由于231C开发板上仅有一个用户按键,而在我的项目中至少需要识别4种按键状态。开始我使用的是范例中的按键中断方式,由于没有配合定时器,在长短按键的识别上一直达不到要求,为此反复测试了3~4天都无法达到稳定识别,为此专门发帖《[问题讨论] GD32E231 DIY大赛(4)——如何获得长短按键?》。在众多热心坛友的指点下,又搜索、下载和测试了几个模块化的长短按键处理程序,但都没能成功应用。最后只好将按键改为轮询模式,仅仅用了几行代码就成功达到比较稳定的检测方式,满足了项目需要。尽管轮询方式浪费资源,但在我的项目中,用户使用按键时,MCU不需要做其他工作,因此也无所谓。项目后期我准备改用中断方式获得按键开始按下信息、定时器按100毫秒计数直到按键抬起的、在主循环中获得keys值,尝试了一下没有成功,鉴于项目进度时间有限,只好改回原来的轮询方式。等下一步有空时再按这个设想进行测试,按说应该可行的。
此帖出自GD32 MCU论坛
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

4
 
    第二个大坑是报警音乐芯片的电子开关,这个看似简单的不能再简单的问题却也花费了我3~4天的时间。开始我没画线路图,直接用了一个3GD201加一个200欧姆的基极限流电阻构建了一个电子开关,测试却毫无作用,然后是不停地换其他型号的三极管,几番折腾都以失败而告终。最后只好认真地画出线路图,经过分析后得出:若在电源正极设置电子开关则必须用PNP管、若在负极设置电子开关则必须用NPN管。最后用了一个9015,通过测试后基极限流电阻选1K,顺利地达到目的。
此帖出自GD32 MCU论坛
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

5
 
    第三个坑就是音乐IC的选择,我的项目需要在不同的时段发出警笛声或者是语音(音乐)声,例如在夜晚或无人在家时发出警笛声音、白天有人在家时则发出“欢迎光临”语音或者“叮咚”铃声,但在淘宝上反复搜索都没有找到我需要的语音IC,去定制成本太高不合算。我拆卸了一个类似的迎宾门铃,这个门铃可以通过拨动开关设置发出的声音,有警笛声、“欢迎光临”语音和12首音乐,本来正好可以满足需要,但我反复测量和查找线路,没有找到此芯片引脚如何设置,最后只好使用四声报警音乐芯片和12首名曲音乐芯片来替代。期间我还准备启用I2S,用自己录制的声音文件来发声,开始准备在E230开发板上测试(因为此板上配有耳机插座,测试方便),但不知为何,下载烧录时却报错,迫于时间有限,就没有继续测试。
此帖出自GD32 MCU论坛
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

6
 
    最后一个大坑是电源问题,由于音乐IC耗电较大,板载USB下载接口的供电能力有限,在发声时电压下降严重,造成LCD屏幕显示暗淡,为此我采用另接5V电源到扩展板,扩展板上再用S1117转为3.3V。这个方案看似也无问题,可是在测试时,红外传感器却不停输出信号,以致于我以为红外传感器有问题,好的我买了两个,用另一个新的测试现象照旧,而在此之前又完全正常的,最后发现我的红外传感器电源取自开发板,将其改接到扩展板上故障才消失。
此帖出自GD32 MCU论坛
 
 
 

回复

360

帖子

0

TA的资源

纯净的硅(初级)

7
 
讚。
此帖出自GD32 MCU论坛
 
 
 

回复

172

帖子

0

TA的资源

宇宙尘埃

8
 
此帖出自GD32 MCU论坛
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

9
 
谢谢楼上两位的鼓励!
此帖出自GD32 MCU论坛
 
 
 

回复

240

帖子

0

TA的资源

纯净的硅(初级)

10
 
此帖出自GD32 MCU论坛
 
个人签名We are a team and we work as a team !
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

11
 

补充WORD文档:

家庭智能监控项目.docx (2.1 MB, 下载次数: 19)

此帖出自GD32 MCU论坛

点评

楼主做的很细致!  详情 回复 发表于 2019-6-20 21:08
 
 
 

回复

828

帖子

217

TA的资源

管理员

12
 
hujj 发表于 2019-6-17 19:00 补充WORD文档:

楼主做的很细致!

此帖出自GD32 MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

谢谢夸奖!  详情 回复 发表于 2019-6-21 19:38
 
个人签名在路上……

EEworld 有你有我
 
 

回复

5279

帖子

236

TA的资源

管理员

13
 

家里用上没?

此帖出自GD32 MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

    家里尚未使用。准备改进用单片机直接带动喇叭发声,去掉音乐芯片,这样选择播放内容就会更方便丰富些,现在正查找资料,测试成功后再画PCB板,做出成品试用。  详情 回复 发表于 2019-6-21 19:37
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

14
 

    家里尚未使用。准备改进用单片机直接带动喇叭发声,去掉音乐芯片,这样选择播放内容就会更方便丰富些,现在正查找资料,测试成功后再画PCB板,做出成品试用。

此帖出自GD32 MCU论坛
 
 
 

回复

932

帖子

3

TA的资源

纯净的硅(中级)

15
 
lightxixi 发表于 2019-6-20 21:08 楼主做的很细致!

谢谢夸奖!

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 

此帖出自GD32 MCU论坛
 
 
 

回复

659

帖子

0

TA的资源

纯净的硅(初级)

17
 

谢谢分享

此帖出自GD32 MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
ADI 有奖直播报名中~
直播时间:3月27日(周四) 上午10:00-11:30
直播主题:易于驱动SAR型ADC的原理、优点及应用介绍
好礼等你拿~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 4

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表