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

news2024/12/26 12:14:38

  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.coloradmin.cn/o/1521959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MatLab】之:Simulink安装

一、内容简介 本文介绍如何在 MatLab 中安装 Simulink 仿真工具包。 二、所需原材料 MatLab R2020b(教学使用) 三、安装步骤 1. 点击菜单中的“附加功能”,进入附加功能管理器: 2. 在左侧的“按类别筛选”下选择Using Simulin…

代码随想录算法训练营第day23|669. 修剪二叉搜索树 、 108.将有序数组转换为二叉搜索树 、 538.把二叉搜索树转换为累加树

目录 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 669. 修剪二叉搜索树 力扣题目链接 (opens new window) 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L,…

vue2语法-简略版

内容不全,发现看官方文档效果更好。 介绍 — Vue.js API — Vue.js 二、Vue指令 2.1 内容渲染指令 v-text,v-html 内容渲染指令用来辅助开发者渲染DOM元素的文本内容,常用的内容渲染指令有如下2个: v-text(类似in…

一文全面了解向量数据库

1. 什么是向量数据库?** 首先,我们需要理解什么是向量? 向量是基于不同特征或属性来描述对象的数据表示。每个向量代表一个单独的数据点,例如一个词或一张图片,由描述其许多特性的值的集合组成。这些变量有时被称为“…

Linux内核--基本概念/基本结构和组件

提示:本系列文章重点学习Linux内核 Linux内核--基本概念/基本结构和组件 简介一、基础概念1.六项工作内容2.根文件系统(Root File System):3.交叉编译(Cross-Compilation):4.设备树(…

释放人工智能的力量:GPU服务器托管和高电机柜托管的关键作用

随着人工智能技术的不断发展,GPU服务器托管和高电机柜托管也变得愈发重要。这些技术在人工智能领域发挥着关键作用,为AI算法的训练和推理提供了强大的计算支持。 GPU服务器托管是指将GPU服务器放置在专门的数据中心中,通过云服务提供商提供的…

【敬伟ps教程】制图操作

文章目录 一寸照片制作自动生成全景照片服装操控变形内容识别比例调图画笔高级设置复制技术一寸照片制作 一寸照片规格: 2.5cm*3.5cm 1、新建文档 2、将照片拖拽至2.5*3.5cm文档中,调整至合适大小(人像的面部居中在文档中),可以使用自由变换(Ctrl+T)来调整,按住 Alt 等…

flutter 开发app可以做的事情

热更新文件/图片 预览组件/文件上传分片/动态多语言/兼容web缓存管理页面动画封装公用组件库日志系统/日志规范/错误定位低代码实现/探索/落地网络延迟脚本字体包优化web 页面浏览器刷新没有历史路径,导致报错选择多语言之后,退出再次进入,没…

Tiktok在线网页版和Tiktok安卓解锁版教程(Tiktok免登录国内直接看)

TikTok和抖音作为众所周知的一对兄弟,所开创的市场前景不可估量。它们不仅颠覆了很多传统认知,也直接让更多人接受了这些新奇事物。然而,TikTok的版本受限于国外,需要特定网络环境,一旦识别为国内,将无法使…

pytorch 入门基础知识二(Pytorch 02)

一 微积分 1.1 导数和微分 微分就是求导: %matplotlib inline import numpy as np from matplotlib_inline import backend_inline from d2l import torch as d2l def f(x):return 3 * x ** 2 - 4 * x 定义: 然后求 f(x) 在 x 1 时的导数&#xff…

数据结构:基于数组实现简单的数据缓存区(简单队列)

1 前言 在我们使用CAN或者以太网调试时,经常需要缓存最近n次收到的数据,以便于我们对数据进行分析。 实现这一想法我们很容易就会想到队列,队列就是一种先进先出的数据结构,之前在《数据结构:基于数组的环形队列&…

C#Socket通信实现

1.编写服务端代码,以原石兑换码为例(分别建立两个控制台应用,一个用于服务端,一个用于客户端) using System.Net.Sockets; using System.Net; using System.Text;namespace 网络游戏服务器 {internal class Program{s…

机器学习是什么?

机器学习是一种人工智能(AI)的分支,其主要目标是使计算机系统能够通过数据和经验来改进和学习,而无需明确地编程。在机器学习中,计算机系统会通过对大量数据进行学习和分析,从中发现模式和规律,…

LeetCode每日一题——移除元素

移除元素OJ链接:27. 移除元素 - 力扣(LeetCode) 题目: 思路: 题目给定要求只能使用O(1)的额外空间并且原地修改输入数组,然后返回移除后的数组行长度。那 么我们就可以确我没有办法建立临时的数组存放我…

总要做一回书里的国风少女吧,女儿的新中式套装美出新高度了~

超有质感的新中式国风短袖 采用经典立领设计 活里内衬柔软舒适 搭配浅色系马面裙 如书中温婉气质的千金小姐~

20240304 json可以包含复杂数组(数组里面套数组)

欣赏一下我的思维,它会以漫画,表格,文字。。。各种各样的形式呈现 对于问题1问题2 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON本质上是一种文本…

【MASM汇编语言快速入门】8086MASM汇编深入理解指令对标志位的影响

8086MASM汇编深入理解指令对标志位的影响 文章目录 8086MASM汇编深入理解指令对标志位的影响0. 指令对标志位影响1. 指令对标志位影响速查表2. flags标志寄存器: 标志位含义解读flags1. 状态标志cf, pf, af, zf, sf, of2. 控制标志df, if, tf 详解:1. 传送指令2. 算…

管理类联考–复试–政治--二十大--记忆宫殿

文章目录 整体记忆宫殿门床头柜床书桌阳台 口诀记忆法 整体 记忆宫殿 要有逻辑的放到房间了 何为逻辑,如下大佬总结的便是,或者可自行总结,有前后顺序,做事逻辑即可 第一步:将逻辑的点放到房间里的点,…

旅游管理系统 |基于springboot框架+ Mysql+Java+Tomcat的旅游管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 系统功能设计 数据库E-R图设计 lunwen参考 摘要 研究…

LCD屏的应用

一、LCD屏应用 Linux下一切皆文件,我们的LCD屏再系统中也是一个文件,设备文件:/dev/fb0。 如果要在LCD屏显示数据,那我们就可以把数据写入LCD屏的设备文件。 1.显示颜色块 LCD屏分辨:800*480 像素 32位:说明一个像…