打印
[STM32F4]

【Nucleo设计分享】411资料+密码保险箱方案

[复制链接]
19797|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Veiko|  楼主 | 2015-2-2 09:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Veiko 于 2015-3-1 07:38 编辑

开贴说明:这个贴子会从项目需要的或者常用的F411外设模块的程序设计资料分享到最终的方案完成(其他外部模块的驱动和方案介绍等资料)
1. STM32F411RE片上外设的相关的驱动及例程请看二楼

2. 外部其他设备的驱动程序请看三楼

3. 方案工程更新请看四楼


本方案最终是完成一个带有一个管理密码和多个用户密码的密码保险箱,使用超低功耗的Nokia5110液晶做人机界面显示,使用矩阵键(可接硬件上电功能,使功耗降到最低),使用舵机完成开门操作(可使用直流电机/电磁铁代替最好),同时具有历使记录查询功能和语音提示功能,应该算是一个比较好的中档超低功耗密码保险箱。保险箱方案视频:

说明:本次方案还有许多可以完善的地方,比如语音可以再多搞一些,提示更人性化一些、指纹功能后期还会加上,当前的菜单已经做好了接口、同时低功耗电路(保险箱在待机的情况下应该完全掉掉,除了极个别用于唤醒的超低功耗硬件如指纹模块的触摸感应等,硬件方式唤配的电路一般待机状态下不消耗任何电流)等、远程报警也没有添加,不过报警功能这些都是次要的,方案介绍加上也足够了,可以用振动和防撬报警基本就够了,而报警方式可根据成本和需求因素考虑,以简洁高效为主。把方案设计放在过年这个月里面感觉像是冬天的一把火,但时间上不好控制,朋友们好久没聚了,你不可能带个板子回去调吧,呵呵,所以也是现在展示基本方案而不是原始预想的完整方案的一个原因。
方案的工程文件在四楼放着,二楼到四楼都是此次方案开发过程当中完成的或所需要的资料,麻烦各位亲移步四楼:handshake










沙发
Veiko|  楼主 | 2015-2-2 09:38 | 只看该作者
本帖最后由 Veiko 于 2015-2-4 19:45 编辑

1. 使用Cube mx生成一个GPIO基础程序    使用Cube mx生成一个GPIO基础程序,根据NUCLEO-F411RE板原理图PA5作为LED输出,PC13用于用户按键检测,因此在Cube mx中分别将其配置为输入和输出:


STM32F411RE_TMP.part01.rar (4 MB)
STM32F411RE_TMP.part02.rar (2.51 MB)

2. 使用定时器2产生一个1秒的Update中断
TIM.part01.rar (3.81 MB)
TIM.part02.rar (3.33 MB)

3. 使用UART2将其串口接收到的数据返回发送端(波特率9600,UART2,数据位8)
UART2.part01.rar (3.81 MB)
UART2.part02.rar (3.02 MB)


4. 使用TIM2的通道1和通道2产生两个占空比不同周期相同的PWM波
TIM2_PWM.part01.rar (3.81 MB)
TIM2_PWM.part02.rar (3.33 MB)



5. PC2作为AIN12通道的输入引脚ADC检测程序(软件控制触发转换,检测EOC标志取值)
ADC.part01.rar (4 MB)
ADC.part02.rar (3.03 MB)



6. 使用Systick定时器定时1秒翻转用户LED
Systick.part01.rar (4 MB)
Systick.part02.rar (2.51 MB)



7. 外部引脚中断检测程序(PC13作下降沿中断检测--对应板上用户按键)

EXTI13.part01.rar (4 MB)
EXTI13.part02.rar (2.5 MB)




8. STOP模式下由外部中断(PC13下降沿中断--对应用户按键按下)唤醒

STOP模式下通过外部中断EXTI13唤醒.part01.rar (4 MB)
STOP模式下通过外部中断EXTI13唤醒.part02.rar (2.51 MB)
注意在使用低功耗特别是使用STOP模式时注意其唤醒的条件,必须在进入低功耗前配置这些使得器件能够正常的被唤醒:








使用特权

评论回复
板凳
Veiko|  楼主 | 2015-2-2 09:38 | 只看该作者
本帖最后由 Veiko 于 2015-2-8 22:52 编辑

三楼用于分享STM32F411与外部其他模块的驱动程序:
1. Nokia5110 driver for STM32F411RE(NUCLEO-411RE)

Nokia_5110.part01.rar (4 MB)
Nokia_5110.part02.rar (2.64 MB)








2. 4x4矩阵键盘 driver for STM32F411RE(NUCLEO-411RE)

KeyBoard4x4.part01.rar (4 MB)
KeyBoard4x4.part02.rar (2.76 MB)




3. STM32F411 舵机驱动

SG90资料.rar (1007.36 KB)
SG90 Driver for STM32F411RE.part01.rar (4 MB)
SG90 Driver for STM32F411RE.part02.rar (3.43 MB)





4. 语音芯片驱动 for STM32F411RE

Voice driver for STM32F411RE.part01.rar (4 MB)

Voice driver for STM32F411RE.part02.rar (4 MB)

Voice driver for STM32F411RE.part03.rar (925.26 KB)

NY3P_v1.8.pdf (568.11 KB)






5. 2015-2-8 整机涉及的所有驱动程序已经调完并验证通过
21ic_CodeLock_Pro.part01.rar (4 MB)

21ic_CodeLock_Pro.part02.rar (4 MB)

21ic_CodeLock_Pro.part03.rar (4 MB)

21ic_CodeLock_Pro.part04.rar (2.89 MB)



到此为止,设备驱动已经全部更新,后期只会更新应用层了,即整个方案的更新,也许会直接更新一个最终成果固件和视频文件。

使用特权

评论回复
地板
Veiko|  楼主 | 2015-2-2 09:39 | 只看该作者
本帖最后由 Veiko 于 2015-2-28 23:31 编辑

----四楼用于分享正式方案的内容----
1. 方案初稿
本方案使用基于STM32F411RE芯片为核心的NUCLEO-411RE板为基础,配合外部的电源管理、按键模块、点阵液晶显示模块(Nokia5110)、语音或蜂鸣器模块、基于SPI总线的存储模块、指纹识别模块(扩展功能)以及门锁驱动模块等一起构成。
【在密码方面】设一个管理密码,10个用户密码,且密码在设定时具有查重功能。除此之外,每个密码都对应一个劫持密码;注册时必须最先注册管理密码,且进入菜单需要验证管理密码。
【在历史记录方面】对每个密码对应的ID号的操作进行记录(系统自带RTC功能),记录存放于SPI_Flash当中,可存放最近的200组记录,只能用PC连接箱内USB接口进行读取,读取时只显示注册的ID号不会显示密码。
【在提示方面】系统默认使用语音提示,而不是蜂鸣器提示,在没有语音模块的系统中可通过菜单设置为蜂鸣器提示。
【在开门及驱动方面】开门后,系统会提供一段时间的照明,超时后自动熄灭。而开门的驱动力来源于系统对驱动电机(直流电机)或电磁铁的控制,同样是超时自动关闭。
【在显示方面】选用低成本,低功耗的Nokia5110液晶作为显示,光线较暗的情况下可开启背光,可以满足系统对显示内容及性价比方面的需求。
【按键方面】使用机械按键,每个按键都可以给系统进行硬件上电,系统超时后可直接断开所有电源(RTC有大电容或钮扣电池供电)。【电源方面】系统在超时或错误操作后直接断掉系统电源,防撬或按键或指纹触摸(该模块唯一不断电)可进行硬件上电,最大程序上减小待机功耗,且每次上电后会显示当前电量,当不足时进行语语或蜂鸣器提示。
以下是此方案的初稿,后期系统搭建的差不多的时候会进行完善:




经过不懈努力,一点点的增加功能,终于完成了,先上代码,视频和图片展示稍后传上来!

基于STM32F411-NUCLEO-411的密码保险箱(指纹扩展菜单部分已添加)   21ic_CodeLock_Pro.part01.rar (4 MB)    21ic_CodeLock_Pro.part02.rar (4 MB)    21ic_CodeLock_Pro.part03.rar (4 MB)    21ic_CodeLock_Pro.part04.rar (3.05 MB)



使用特权

评论回复
5
mmuuss586| | 2015-2-2 12:23 | 只看该作者

期待楼主分享资料;

使用特权

评论回复
6
聿怀嘿嘿| | 2015-2-2 20:16 | 只看该作者
谢谢楼主分享哈哈、持续关注

使用特权

评论回复
7
小班儿| | 2015-2-3 09:32 | 只看该作者
顶贴

使用特权

评论回复
8
Veiko|  楼主 | 2015-2-3 21:01 | 只看该作者
定时器基本时期信号产生程序已更新

使用特权

评论回复
9
Veiko|  楼主 | 2015-2-3 22:04 | 只看该作者
串口通信功能(中断接收,查询发送)程序已更新

使用特权

评论回复
10
Veiko|  楼主 | 2015-2-3 22:31 | 只看该作者
使用PWM2输出两路占空比不同PWM波程序已更新

使用特权

评论回复
11
Veiko|  楼主 | 2015-2-4 15:44 | 只看该作者
ADC程序已更新

使用特权

评论回复
12
Veiko|  楼主 | 2015-2-4 17:23 | 只看该作者
外部中断EXTI程序已更新

使用特权

评论回复
13
Veiko|  楼主 | 2015-2-4 17:31 | 只看该作者
低功耗程序已更新

使用特权

评论回复
14
Veiko|  楼主 | 2015-2-5 13:09 | 只看该作者
Nokia5110驱动程序已更新

使用特权

评论回复
15
lvyunhua| | 2015-2-5 13:14 | 只看该作者
不错,关注中!

使用特权

评论回复
16
Veiko|  楼主 | 2015-2-5 22:16 | 只看该作者
方案初稿已更新

使用特权

评论回复
17
人民币的幻想| | 2015-2-5 22:24 | 只看该作者
sdio搞通了吗,我这搞了好久还是识别不出卡。

使用特权

评论回复
18
Veiko|  楼主 | 2015-2-7 23:58 | 只看该作者
基于STM32F411的矩阵键盘驱动程序已更新

使用特权

评论回复
19
Veiko|  楼主 | 2015-2-8 09:47 | 只看该作者
SG90舵机驱动已更新

使用特权

评论回复
20
Veiko|  楼主 | 2015-2-8 18:19 | 只看该作者
语音驱动已更新

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

139

帖子

1

粉丝