【嵌入式实践】【芝麻】【硬件篇-4】从0到1给电动车添加指纹锁:IO电路简单介绍

  0. 前言

        该项目是基于stm32F103和指纹模块做了一个通过指纹锁控制电动车的小工具。支持添加指纹、删除指纹,电动车进入P档等待时计时,计时超过5min则自动锁车,计时过程中按刹车可中断P档状态,同时中断锁车计时。改项目我称之为“芝麻”,取自芝麻开门(明明是车,哪里来的“门”,因为插钥匙的地方被修车师傅称之为“电门锁”)。

d5290199615c4295a70303b5f68292ad.png专栏目录:快速导航

视频地址: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有大电流输入烧坏芯片。

---------------------【芝麻】项目相关文章都会收集在此专栏----------------------

感谢你看到这里,如果不介意的话,帮忙点个赞、关注支持一下~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/544046.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创维汽车与创维光伏储能亮相2024上海AWE,感受制造业的升级变迁

2024年3月14日,中国家电及电子消费博览会在上海正式召开。相比往届展会,2024上海AWE进驻更多行业头部力量,出展更多尖端科技,蕴含更深行业思考。创维光伏储能及乘载更先进智驾科技的创维汽车亮相此次展会。 消费电子的革新不断影响…

C#对ListBox控件中的数据进行的操作

目录 1.添加数据: 2.删除数据: 3.清空数据: 4.选择项: 5.排序: 6.获取选中的项: 7.获取ListBox中的所有项: 8.综合示例 C#中对ListBox控件中的数据进行的操作主要包括添加、删除、清空、…

五连杆机构运动学仿真 | Matlab源码 | 机械连杆 | 五杆机构

【程序简介】💻🔍 本程序通过matlab实现了五连杆机构的运动学仿真编程,动态展现了五连杆机构的运动动画。 你将获得:五连杆机构Matlab仿真源码 获取地址:五连杆机构运动学仿真 | Matlab源码 |机械连杆 程序仿真的五…

【JavaScript】JQuery介绍和选择器

JQuery介绍 jQuery概念 jQuery 是一个快速、小型且功能丰富的 JavaScript 库。它通过可在多种浏览器上运行的易于使用的 API,使 HTML 文档遍历和操作、事件处理、动画和 Ajax 等事情变得更加简单。凭借多功能性和可扩展性的结合,jQuery 改变了数百万人…

Java后端面试经验分享,~纯分享

本文将从面试、工作、学习三个方面分享最近面试的一些心得以及以后发展的一些规划,仅供参考,哈哈,毕竟本人也很菜,因为菜才要多学习。一会儿也会分享两本Java面试题库(题库是b站大学找的,一会儿我也会分享出…

【力扣白嫖日记】1934.确认率

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1934.确认率 表:Signups 列名类型user_idinttime_stampdatetime User_id是该表的主键。每一行都…

【LLM加速】注意力优化(基于位置/内容的稀疏注意力 | flashattention)

note (1)近似注意力: Routing Transformer采用K-means 聚类方法,针对Query和Key进行聚类,类中心向量集合为 { μ i } i 1 k \left\{\boldsymbol{\mu}_i\right\}_{i1}^k {μi​}i1k​ ,其中k 是类中心的…

Guitar Pro2024中文免费版吉他爱好者必备工具,学习演奏、绘谱创作全覆盖

Guitar Pro8是一款功能强大的吉他工具,它支持多种乐器,包括但不限于吉他、贝斯、钢琴和鼓。这意味着,无论是吉他手、贝斯手、钢琴家还是鼓手,都可以利用这款软件进行音乐创作和演奏。 在Guitar Pro8中,用户可以轻松选…

云计算服务模型:IaaS、PaaS和SaaS

IaaS、PaaS和SaaS构成了云服务的三大模型,分别提供了基础设施、平台和软件的即服务解决方案。IaaS提供最大的灵活性和可扩展性,适合需要深度控制基础设施的用户。PaaS简化了开发过程,加速应用部署,适用于开发者和初创公司。而SaaS…

UE5.1 iClone8 正确导入角色骨骼与动作

使用iClone8插件Auto Setup 附录下载链接 里面有两个文件夹,使用Auto Setup C:\Program Files\Reallusion\Shared Plugins 在UE内新建Plugins,把插件复制进去 在工具栏出现这三个人物的图标就安装成功了 iClone选择角色,导入动作 选择导出FBX UE内直接导入 会出现是否启动插件…

软件工程(Software Engineering)

一、软件工程概述 1.软件生存周期 软件: 包含程序、数据及相关文档 软件工程: 涉及到软件开发、维护、管理等多方面的原理、工具与环境。最终的目的是开发高质量的软件。 目的: 提高软件生产率、提高软件质量、降低软件成本。 文档的作用&…

Qt教程 — 2.1 如何使用Qt Designer 开发UI程序

目录 1 Qt Designer简介 2 编辑UI界面 2.1 在 UI 界面添加一个Label 2.2 在 UI 界面添加一个按钮 2.3 在 UI 文件里连接信号与槽 方法一:通过信号和槽编辑栏 方法二:通过导航区信号和槽编按钮 方法三:通过跳转编辑代码实现—通过按钮…