0. 前言
该项目是基于stm32F103和指纹模块做了一个通过指纹锁控制电动车的小工具。支持添加指纹、删除指纹,电动车进入P档等待时计时,计时超过5min则自动锁车,计时过程中按刹车可中断P档状态,同时中断锁车计时。改项目我称之为“芝麻”,取自芝麻开门(明明是车,哪里来的“门”,因为插钥匙的地方被修车师傅称之为“电门锁”)。
专栏目录:快速导航
视频地址:b站链接
软件、硬件、机械原件存放位置:zhima: 电动车改装 - 指纹锁,芝麻开门
1. 目标
本项目主要使用到了GPIO的数字信号输入和数字信号输出功能,比较简单。本文也是主要对这两种GPIO操作做介绍
2. 输入输出模式简介:
2.1 输入模式
1)浮空输入(GPIO_Mode_IN_FLOATING):引脚既不接高电平也不接低电平,由于逻辑器件内部结构的原因,该模式下引脚相当于接了高电平。但实际应用中不建议使用浮空状态,因为这样容易受到外界干扰。
2)上拉输入(GPIO_Mode_IPU):此模式下,引脚通过内置的上拉电阻连接到电源,使得引脚电平被“拉”向高电平状态。
3)下拉输入(GPIO_Mode_IPD):与上拉输入相反,引脚通过内置的下拉电阻接地,使得引脚电平被“拉”向低电平状态。
4)模拟输入(GPIO_Mode_AIN):用于读取模拟信号,输入的信号不经过数字电路,保持原始模拟信号的特性。
2.2 输出模式
5)开漏输出(GPIO_Mode_Out_OD):在该模式下,引脚相当于一个开关,当开关闭合时,引脚通过外部电路连接至地,从而决定引脚的电平状态。
6)推挽输出(GPIO_Mode_Out_PP):推挽输出模式下,单片机能够直接驱动引脚至高电平或低电平状态,不需要外部电路参与。
7)复用功能开漏输出(GPIO_Mode_AF_OD):该模式允许GPIO口作为外设的替代功能(如USART、I2C等)使用,同时具有开漏输出的特性。
8)复用功能推挽输出(GPIO_Mode_AF_PP):类似于开漏复用功能,但是提供推挽输出,即可以直接驱动引脚电平。
3. 电路介绍
3.1 P档输入
P档输入选择的模式是:下拉输入。下拉输入的特点是,如果没有信号输入时,读取到的引脚值默认为低电平。而我们这里当电动车进入P档时,P_IN引脚就会为高电平,我们也是通过判断PB0引脚是否为高电平来判断电动车是否进入了P档。如果我们选择的是上拉输入,那么我们PB0引脚就会一直为高电平,不能正确判断输入的信号。
说明,R15为限流电阻,放置PB0有大电流输入烧坏芯片。
3.2 按键
按键选用了GPIO的上拉输入模式,也就是当无信号输入时,读取到的引脚默认为高电平。当按键按下时,接地,引脚变为低电平,此时识别到按键被按下。
3.3 LED控制电路
LED控制电路的引脚选用了推挽输出模式,在推挽输出模式下,单片机能够直接驱动引脚至高电平或低电平状态,不需要外部电路参与。通过控制LED_GRE引脚输出低电平、高电平来分别控制LED2的亮和灭。
说明,R13为限流电阻,放置PB0有大电流输入烧坏芯片。
---------------------【芝麻】项目相关文章都会收集在此专栏----------------------
感谢你看到这里,如果不介意的话,帮忙点个赞、关注支持一下~