STM32-按键控制LED 光敏传感器控制蜂鸣器(江协笔记)

news2024/10/3 5:21:20

1、按键

2、常见传感器模块

R1

定值电阻

N1

传感器电阻。对于光敏传感器来说,相当于光敏电阻;......

C(滤波电容)

给中间的电压输出进行滤波,用于滤除一些干扰,保证输出电压波形的平滑(保持电路稳定)

AO模拟电压输出

LM393芯片

电压比较器芯片,对AO输出的模拟电压进行二值化从而完成DO的数字输出,里面有两个独立的电压比较器电路(运算放大器)。运算放大器当做比较器:当同相输入端的电压大于反相输入端的电压时,输出就会瞬间升高为最大值也就是输出接VCC;反之,当同相输入端的电压小于反相输入端的电压时,输出就会瞬间降低为最小值也就是输出接GND。

左边指示灯

电源指示灯

右边指示灯

DO输出指示灯,可以指示DO的输出电平(低电平点亮,高电平熄灭)。

R5

上拉电阻,为了保证默认输出为高电平

同相输入端IN+接到AO(模拟电压端),IN-接一个电位器(蓝色小方块),这个电位器的接法也是分压电阻的原理,拧动电位器,IN-生成一个可调的阈值电压,两个电压进行比较,最终输出结果为DO(数字电压输出)。

对射式红外传感器(模块3)与其他传感器的区别:除了N1这个红外接收管外,还会多一个红外接收电路;模拟电压表示接收光的强度;电位器直接换成两个电阻进行分压,这样输出就是固定阈值的二值化了(该模块通常用来检测通断,所以阈值不需要过多的调整)。

反射式红外传感器(模块4):向下发射红外光,然后检测反射光。

(3)按键的4种接法(上接、下接)

  • 图1:要求PA0必须是上拉输入的模式--内部上拉电阻作用,0否则就会出现引脚电压不确定的错误现象。按下为低电平,松手为高电平。

  • 图2:PA0需配置为浮空输入和上拉输入模式。上拉输入--内外两个上拉电阻共同作用,此时高电平更强也更稳定,但同时,引脚在被强行拉到低电平时损耗也会更大。按下为低电平,松手为高电平。

  • 图3:要求PA0必须是下拉输入的模式--内部GND作用。但是一般单片机可能没有下拉输入模式,所以最好用图一接法。按下为高电平,松手为低电平。

  • 图4:PA0需配置为浮空输入和下拉输入模式。按下为高电平,松手为低电平。

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

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

相关文章

Pikachu-暴力破解-验证码绕过(on client)

访问页面, 从burpsuite 上看到返回的源代码; 验证码生成时通过 createCode 方法生成,在前端页面生成; 同时也是在前端做的校验; 直接验证;F12 -- 网络,随便输入个账号、密码、验证码&#xff0…

多维度柱状图绘制

图形结果 绘制过程 数据如下 调整柱子宽度 Z轴设置 、 配色表

开源链动2+1模式AI智能名片S2B2C商城小程序源码:流量运营中的价值创造与用户影响

摘要:本文深入探讨在开源链动21模式AI智能名片S2B2C商城小程序源码的背景下,流量的激活、信任建立、圈层沉淀以及裂变等流量运营现象。分析流量运营成本与用户消费意识的关系,强调内容在赋予流量价值以影响用户感知和消费判断方面的重要性。 …

基于yolov8深度学习的120种犬类检测与识别系统python源码+onnx模型+评估指标曲线+精美GUI界面目标检测狗类检测犬类识别系统

【算法介绍】 基于YOLOv8深度学习的120种犬类检测与识别系统是一款功能强大的工具,该系统利用YOLOv8深度学习框架,通过21583张图片的训练,实现了对120种犬类的精准检测与识别。 该系统基于Python与PyQt5开发,具有简洁的UI界面&a…

当AI成为作家,人工智能在写作领域的崛起

AI写作技术的应用正在多个领域展现出其强大的潜力和价值,它不仅极大地提升了内容创作的效率,还为创作者提供了一个全新的创作伙伴。 随着技术的进步,AI写作工具越来越能够理解复杂的语境和用户需求,帮助创作者生成高质量的内容。…

DpCas 镜头场景分割 Scene Segmentation

开源项目 - DpCas 镜头场景分割 Scene Segmentation 开源项目地址:https://gitcode.net/EricLee/dpcas 示例:

写出第一个php程序

一、打开vscode,下载chinese插件、php debug、phpintelephense 二、下载完上方图片插件后,创建一个PHP文件,1.php 三、执行命令,成功输出

pytorch搭建神经网络(手搓方法)

假如我们有一个数据集形状为(348,14)。即有348个记录,每个记录有14个特征值。 我们想要搭建一个如下的神经网络: import torch import numpy as np# 创建数据集: 每个样本有14个特征 x_train np.array([[0.5, -1.2, 0.3, 0.8, 1.0, -0.5, 2.3, 1.2, -0…

在Ubuntu 20.04中安装CARLA

0. 引言 CARLA (Car Learning to Act) 是一款开源自动驾驶模拟器,其支持自动驾驶系统全管线的开发、训练和验证(Development, Training, and Validation of autonomous driving systems)。Carla提供了丰富的数字资产,例如城市布局…

前端编程艺术(2)----CSS

目录 1.CSS 2.CSS引入 3.选择器 1.标签选择器 2.类选择器 3.id选择器 4.属性选择器 5.后代选择器 5.直接子元素选择器 6.伪类选择器 链接相关 动态伪类 结构化伪类 否定伪类 其他伪类 UI元素状态伪类 4.字体 1.font-family 2.font-size 3.font-style 4.fo…

Linux查找隐藏病毒进程

工具连接 下载工具不要分,随便下 下载后修改工具名:如修改为lsof、ps、top等并为工具加入执行权限 2、 直接执行即可,与正常命令用法一致(截图如下)

足球预测推荐软件:百万数据阐述百年足球历史-大数据模型量化球员成就值

我开始创建这个模型是从梅西22世界杯夺冠第二天开始准备的,当时互联网上充斥了太多了个人情感的输出,有的人借题对C罗冷嘲热讽,有的人质疑梅西的阿根廷被安排夺冠不配超越马拉多纳做GOAT。作为一个从2002年开始看球的球迷,说实话有…

linux自用小手册

一、GDB常用命令 想用gdb调试C或C程序,编译时需要加-g选项,编译出的文件为debug状态(如果不加则是release状态),且不可以加-O选项进行优化。 命令简写解释set args 设置程序传递的参数 例:./demo -v value…

【MySQL报错】---Data truncated for column ‘age‘ at row...

目录 一、前言二、问题分析三、解决办法 一、前言 欢迎大家来到权权的博客~欢迎大家对我的博客进行指导,有什么不对的地方,我会及时改进哦~ 博客主页链接点这里–>:权权的博客主页链接 二、问题分析 问题一修改表结构 XXX 为 not n…

指针 (5)

目录 1. 字符指针变量 2. 数组指针变量 3. ⼆维数组传参的本质 4. 函数指针变量 5.typedef 关键字 6 函数指针数组 7.转移表 计算器的⼀般实现 1. 字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* #include <stdio.h> int main() {char* ch …

ARM assembly: Lesson 10

今天&#xff0c;我们来看一下基于ARM汇编&#xff0c;如何实现函数的调用。 基础知识 在ARM汇编中&#xff0c;函数的前四个参数存放于 R0~R3寄存器中, 剩余的参数存放于栈中&#xff0c;返回值存放于r0。在栈中存放数值&#xff0c;可以避免在调用过程中&#xff0c;数据的…

记一次炉石传说记牌器 Crash 排查经历

大家好这里是 Geek技术前线。最近在打炉石过程中遇到了HSTracker记牌器的一个闪退问题&#xff0c;尝试性排查了下原因。这里简单记录一下 最近炉石国服回归&#xff1b;由于设备限制&#xff0c;我基本只会在 Mac 上打炉石。并且由于主要打竞技场&#xff0c;所以记牌器是必不…

解决问题AttributeError: “safe_load“ has been removed, use

解决问题AttributeError: "safe_load" has been removed, use~ 1. 问题描述2. 解决方法 1. 问题描述 在复现cdvae代码时&#xff0c;运行 python scripts/compute_metrics.py --root_path MODEL_PATH --tasks recon gen opt评估模型时&#xff0c;出现以下问题。 …

Pikachu-Cross-Site Scripting-xss盲打

xss盲打&#xff0c;不是一种漏洞类型&#xff0c;而是一个攻击场景&#xff1b;在前端、或者在当前页面是看不到攻击结果&#xff1b;而是在后端、在别的页面才看到结果。 登陆后台&#xff0c;查看结果&#xff1b;

Custom C++ and CUDA Extensions - PyTorch

0. Abstract 经历了一波 pybind11 和 CUDA 编程 的学习, 接下来看一看 PyTorch 官方给的 C/CUDA 扩展的教程. 发现极其简单, 就是直接用 setuptools 导出 PyTorch C 版代码的 Python 接口就可以了. 所以, 本博客包含以下内容: LibTorch 初步;C Extension 例子; 1. LibTorch …