【红外传感器】STM32C8T6标准库使用红外对管

devtools/2024/10/18 18:18:12/

好好学习,天天向上

  • 前言
  • 一、了解红外
  • 二、标准库的代码
    • 1.infrared.c
    • 2.infrared.h
    • 3.main.c
    • 4 现象
  • 总结


前言

红外线:频率介于微波与可见光之间的电磁波。
参考如下
【STM32】标准库与HAL库对照学习教程外设篇–红外避障传感器

光电红外传感器详解(STM32) <-这个UP🐖的常见传感器教学系列不错


一、了解红外

红外传感器,又叫循迹模块

对红外光线发射管与红外光线接收管、传感器电路组成,引脚上有VCC、GND、OUT三个引脚。

工作原理是红外光线发射管发射红外光线,红外光线接收管接收红外光线,当没有接收到返回的红外光线时,OUT引脚输出高电平,当接收到返回的红外光线时,OUT引脚输出低电平。

简单来说,就是有障碍物会输出为低电平。

原理图

在这里插入图片描述
LM393电压比较器,将红外对管的电压和电位器的电压进行比较,如果没有达到阈值,输出高电平。反之,低电平

二、标准库的代码

1.infrared.c

#include "infrared.h"//光电传感器-红外对管void infrared_Init(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//GPIO配置控制 - 读取带电平信号GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin = read_HW_Pin;				GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(read_HW_Port, &GPIO_InitStructure);}uint16_t infrared_Read(void)
{uint16_t tempData;tempData = !GPIO_ReadInputDataBit(read_HW_Port,read_HW_Pin);return tempData;
}

2.infrared.h

#ifndef __INFRARES_H
#define __INFRARES_H
#include "stm32f10x.h"#define read_HW_Pin GPIO_Pin_6
#define read_HW_Port GPIOAvoid infrared_Init(void);
uint16_t infrared_Read(void);#endif

3.main.c

点灯不放了,根据实际情况来

/********************************************************************************* @file    通信测试 * @author  susocool* @date    11-October-2024* @brief   红外对管测试*******************************************************************************/ #include "stm32f10x.h"	
#include "LED.h"
#include <stdlib.h>
#include "infrared.h"
#include "OLED.h"int main(void)
{uint16_t value;infrared_Init();OLED_Init();My_LED_Init();while(1){value= infrared_Read();OLED_ShowNum(1,1,value,6);if(value == 1){My_LED3_ON();}else{My_LED3_OFF();}}
}

4 现象

感觉,他的感知能力很奇怪啦。但是基本实现功能。
在这里插入图片描述
在这里插入图片描述


总结

我之前用的3.3V,半天没反应,我还以为是坏了,后面切换到5V供给VCC,就可以正常了。未必不是一种思路.
-----2024/10/10


http://www.ppmy.cn/devtools/124648.html

相关文章

cnn突破九(我们的五层卷积核bpnet网络就是lenet-1)

cnn突破八中最后说明白了&#xff0c;但没给出结果&#xff0c;我们今天算出结果&#xff1a; 在四层中&#xff1a;.....ds(hocnn[1])*x[17]; 这个公式实际对应14*14&#xff08;x【】&#xff09;-》5*5&#xff08;hocnn【】&#xff09; 同样在5层中&#xff1a;......d…

鸿蒙应用示例:DevEco Testing 工具的常用功能及使用场景

DevEco Studio 是鸿蒙生态中的集成开发环境(IDE)&#xff0c;而 DevEco Testing 工具则是专门用于测试鸿蒙应用的强大工具。本文将详细介绍 DevEco Testing 中几个常用的测试功能及其使用场景&#xff0c;并给出相应的代码示例。 【1】安装应用 使用场景&#xff1a;在鸿蒙系统…

【进阶OpenCV】 (4)--图像拼接

文章目录 图像拼接1. 读取图片2. 计算图片特征点及描述符3. 建立暴力匹配器4. 特征匹配5. 透视变换6. 图像拼接 总结 图像拼接 图像拼接是一项将多张有重叠部分的图像&#xff08;这些图像可能是不同时间、不同视角或者不同传感器获得的&#xff09;拼成一幅无缝的全景图或高分…

Python 基于 Bert 的中文情歌分析,多分类中文情感分析

前言 在自然语言处理&#xff08;NLP&#xff09;领域中&#xff0c;情感分析是一项非常常见的任务。它的目标是判断文本的情感倾向&#xff0c;例如在社交媒体上的评论、产品评价、电影评论等数据中&#xff0c;识别文本是正面的、负面的&#xff0c;还是中性的。与传统的二分…

.ts文件编译为.js文件

.ts文件如何编译为.js文件 首先安装了tsc $ npm install -g typescript可以使用如下命令检查是否安装tsc,出现版本号则说明安装成功 tsc -v创建.ts文件 创建 1.ts&#xff0c;编写代码如下&#xff1a; function test(a:string):string{return a }编译为.js文件 执行如下…

2024年N2观光车和观光列车司机证模拟考试题库及N2观光车和观光列车司机理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年N2观光车和观光列车司机证模拟考试题库及N2观光车和观光列车司机理论考试试题是由安全生产模拟考试一点通提供&#xff0c;N2观光车和观光列车司机证模拟考试题库是根据N2观光车和观光列车司机最新版教材&#…

C++ Builder XE12关于KonopkaControls与TMS VCL UI Pack组件的安装

1、先打开open project&#xff0c;选中安装的组件工程&#xff0c;并打开。 2、在option中设置 3、点击编译并进行安装install

定制化的新生代 Layer1 代币经济学

原文标题&#xff1a;《Next-Gen Layer 1 Tokenomics: Three Pillars for the Token Flywheel》 撰文&#xff1a;Eren&#xff0c;Four Pillars 编译&#xff1a;Tia&#xff0c;Techub News Layer1 代币经济学的转变 最近获得大量关注和大量投资的项目&#xff08;如 Berac…