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

[复制链接]
20661|27
 楼主| Veiko 发表于 2015-2-2 09:37 | 显示全部楼层 |阅读模式
本帖最后由 Veiko 于 2015-3-1 07:38 编辑

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

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

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

方案展示图片.jpg
本方案最终是完成一个带有一个管理密码和多个用户密码的密码保险箱,使用超低功耗的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中分别将其配置为输入和输出:
Cube Mx的使用.png

STM32F411RE_TMP.part01.rar (4 MB, 下载次数: 38)
STM32F411RE_TMP.part02.rar (2.51 MB, 下载次数: 30)

2. 使用定时器2产生一个1秒的Update中断
TIM.part01.rar (3.81 MB, 下载次数: 20)
TIM.part02.rar (3.33 MB, 下载次数: 19)

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


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

TIM2_PWM.jpg

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



6. 使用Systick定时器定时1秒翻转用户LED
Systick.part01.rar (4 MB, 下载次数: 21)
Systick.part02.rar (2.51 MB, 下载次数: 23)



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

EXTI13.part01.rar (4 MB, 下载次数: 13)
EXTI13.part02.rar (2.5 MB, 下载次数: 14)




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

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







 楼主| 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, 下载次数: 23)
Nokia_5110.part02.rar (2.64 MB, 下载次数: 22)

5110液晶显示效果.jpg
5110液晶显示.jpg





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

KeyBoard4x4.part01.rar (4 MB, 下载次数: 17)
KeyBoard4x4.part02.rar (2.76 MB, 下载次数: 16)
4x4矩阵键盘连接图.jpg



3. STM32F411 舵机驱动

SG90资料.rar (1007.36 KB, 下载次数: 9)
SG90 Driver for STM32F411RE.part01.rar (4 MB, 下载次数: 12)
SG90 Driver for STM32F411RE.part02.rar (3.43 MB, 下载次数: 11)

舵机SG90.jpg



4. 语音芯片驱动 for STM32F411RE

Voice driver for STM32F411RE.part01.rar (4 MB, 下载次数: 13)

Voice driver for STM32F411RE.part02.rar (4 MB, 下载次数: 9)

Voice driver for STM32F411RE.part03.rar (925.26 KB, 下载次数: 9)

NY3P_v1.8.pdf (568.11 KB, 下载次数: 8)

语音芯片.jpg




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

21ic_CodeLock_Pro.part02.rar (4 MB, 下载次数: 11)

21ic_CodeLock_Pro.part03.rar (4 MB, 下载次数: 11)

21ic_CodeLock_Pro.part04.rar (2.89 MB, 下载次数: 10)

密码箱整机图.jpg

到此为止,设备驱动已经全部更新,后期只会更新应用层了,即整个方案的更新,也许会直接更新一个最终成果固件和视频文件。
 楼主| 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有大电容或钮扣电池供电)。【电源方面】系统在超时或错误操作后直接断掉系统电源,防撬或按键或指纹触摸(该模块唯一不断电)可进行硬件上电,最大程序上减小待机功耗,且每次上电后会显示当前电量,当不足时进行语语或蜂鸣器提示。
以下是此方案的初稿,后期系统搭建的差不多的时候会进行完善:
方案初稿.jpg



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

基于STM32F411-NUCLEO-411的密码保险箱(指纹扩展菜单部分已添加)   21ic_CodeLock_Pro.part01.rar (4 MB, 下载次数: 24)    21ic_CodeLock_Pro.part02.rar (4 MB, 下载次数: 25)    21ic_CodeLock_Pro.part03.rar (4 MB, 下载次数: 29)    21ic_CodeLock_Pro.part04.rar (3.05 MB, 下载次数: 27)



mmuuss586 发表于 2015-2-2 12:23 | 显示全部楼层

期待楼主分享资料;
聿怀嘿嘿 发表于 2015-2-2 20:16 | 显示全部楼层
谢谢楼主分享哈哈、持续关注
小班儿 发表于 2015-2-3 09:32 | 显示全部楼层
 楼主| Veiko 发表于 2015-2-3 21:01 | 显示全部楼层
定时器基本时期信号产生程序已更新
 楼主| Veiko 发表于 2015-2-3 22:04 | 显示全部楼层
串口通信功能(中断接收,查询发送)程序已更新
 楼主| Veiko 发表于 2015-2-3 22:31 | 显示全部楼层
使用PWM2输出两路占空比不同PWM波程序已更新
 楼主| Veiko 发表于 2015-2-4 15:44 | 显示全部楼层
ADC程序已更新
 楼主| Veiko 发表于 2015-2-4 17:23 | 显示全部楼层
外部中断EXTI程序已更新
 楼主| Veiko 发表于 2015-2-4 17:31 | 显示全部楼层
低功耗程序已更新
 楼主| Veiko 发表于 2015-2-5 13:09 | 显示全部楼层
Nokia5110驱动程序已更新
lvyunhua 发表于 2015-2-5 13:14 | 显示全部楼层
不错,关注中!
 楼主| Veiko 发表于 2015-2-5 22:16 | 显示全部楼层
方案初稿已更新
人民币的幻想 发表于 2015-2-5 22:24 来自手机 | 显示全部楼层
sdio搞通了吗,我这搞了好久还是识别不出卡。
 楼主| Veiko 发表于 2015-2-7 23:58 | 显示全部楼层
基于STM32F411的矩阵键盘驱动程序已更新
 楼主| Veiko 发表于 2015-2-8 09:47 | 显示全部楼层
SG90舵机驱动已更新
 楼主| Veiko 发表于 2015-2-8 18:19 | 显示全部楼层
语音驱动已更新
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

139

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部