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

news2024/10/12 7:53:16

好好学习,天天向上

  • 前言
  • 一、了解红外
  • 二、标准库的代码
    • 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 GPIOA


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

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

相关文章

查看 Excel 应用程序中已打开的 Excel 文件的完整路径

要查看 Excel 应用程序中已打开的 Excel 文件的完整路径&#xff08;全路径&#xff09;&#xff0c;你可以通过以下几种方法获取具体路径&#xff0c;尤其是在 VSTO 应用程序中。 方法1&#xff1a;使用 VSTO Excel 外接程序代码 在 VSTO 外接程序代码中&#xff0c;您可以直接…

前端反馈弹框组件封装

一、需求背景 需要针对某个功能进行用户调查反馈&#xff0c;设计一个弹框&#xff0c;进行后端入表记录&#xff0c;以便后期进行数据分析。 二、实现UI 三、代码留存 以vue为例 <template><div class"advice-container"><van-dialogv-model"…

聚类分析 | WOA-K-means++聚类优化算法

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 (创新)WOA-K-means聚类优化算法 (WOA聚类优化&#xff0c;创新&#xff0c;独家) 鲸鱼算法优化K-means聚类优化算法 matlab语言&#xff0c;一键出图&#xff0c;直接运行 1.鲸鱼算法WOA作为群智能算法简单高效&a…

Collection-LinkedList源码解析

文章目录 概述LinkedList实现底层数据结构构造函数getFirst(), getLast()removeFirst(), removeLast(), remove(e), remove(index)add()addAll()clear()Positional Access 方法查找操作 概述 LinkedList同时实现了List接口和Deque接口&#xff0c;也就是说它既可以看作一个顺序…

【LeetCode】修炼之路-0005-Longest Palindromic Substring【python】

题目 Given a string s, return the longest palindromic substring in s. Example 1: Input: s “babad” Output: “bab” Explanation: “aba” is also a valid answer. Example 2: Input: s “cbbd” Output: “bb” 前言 首先&#xff0c;题目我们就看不懂 &…

Android JNI调用.c文件

Android JNI调用.c文件 1.创建Android项目,创建一个jni目录来存放.c代码 2.CMakeLists.txt cmake_minimum_required(VERSION 3.10.2) project("MyApplication")add_library(native-lib SHARED native-lib.c)find_library(log-lib log)target_link_libraries

C++初阶--类与对象(上)

一、面向对象&#xff08;OOP&#xff09;and 面向过程&#xff08;POP&#xff09; 1.面向过程&#xff08;POP&#xff09; 面向过程&#xff1a;就像做一道家常菜 想象一下&#xff0c;你要做一道简单的家常菜&#xff0c;比如番茄炒蛋。面向过程的方式就像是这样&#x…

单片机教案 2.2 ATmega2560单片机闪烁灯的制作和编程

2.1 单片机教案 2.1 ATmega2560单片机最小应用系统-CSDN博客 2.2 ATmega2560单片机闪烁灯的制作和arduino编程 ATmega2560单片机闪烁灯的制作和Arduino编程是一个经典的嵌入式系统设计案例。以下将分别介绍使用ATmega2560单片机直接编程和使用Arduino平台&#xff08;基于ATm…

[已解决]DockerTarBuilder永久解决镜像docker拉取异常问题

前阵子发现阿里云的docker加速镜像失效了&#xff08;甚至连nginx都拉取不了&#xff09;&#xff0c;重新换了并且加多了网络上比较常用的dokcer加速源&#xff0c;可以解决一部分问题&#xff0c;但仍然有一些镜像的某个版本或一些比较冷的镜像就是拉取不了&#xff0c;原因未…

分组相关 -- VPLS

VPLS&#xff08;Virtual Private LAN Service&#xff0c;虚拟专用局域网服务&#xff09;是IETF定义的以太网多点到多点业务模型&#xff0c;其通过MPLS-TP网络连接地域上相互隔离的多个LAN网络&#xff0c;为用户提供MP2MP和P2MP业务。 业务模型 VPLS是以MPLS技术实现传送…

Java创建型模式(二)——工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式、工厂模式扩展等完整详解,附有代码——案例)

文章目录 五.工厂模式5.1 概述5.2简单工厂模式5.2.1 概述5.2.2 结构5.2.3 实现5.2.4 优缺点5.2.5 扩展—静态工厂 5.3 工厂方法模式5.3.1概述5.3.2 结构5.3.3 实现5.3.4 优缺点 5.4 抽象工厂模式5.4.1 概述5.4.2 结构5.4.3 实现5.4.4 优缺点5.4.5 使用场景 5.5 工厂模式扩展 五…

基于YOLO11/v10/v8/v5深度学习的安检X光危险品检测与识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

深度学习之常用数据集下载

在复现他人代码的过程中&#xff0c;有时需要下载数据集&#xff0c;才可跑通模型&#xff0c;但部分数据集在网上难以收集或是通过翻墙的手段才可获取。于是&#xff0c;在此总结了一些数据集的收集。 1、方法一&#xff1a;Kaggle官网下载 之前有推荐kaggle(Kaggle官网网址…

每日论文19-10GHz处相噪能达到-138dBc/Hz@1MHz串联谐振VCO

《Series-Resonance BiCMOS VCO with Phase Noise of -138dBc/Hz at 1MHz Offset from 10GHz and -190dBc/Hz FoM 》2022ISSCC 不用并联谐振了&#xff0c;用串联谐振&#xff0c;能在相噪性能上获得更极端地提升。 假设有源电路的噪声因子F相同&#xff0c;LC-tank的质量因子…

QD1-P17 HTML 下拉框标签(select、option)

本节学习 HTML 常用标签&#xff1a;select和option ‍ 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p17 ‍ 知识点1&#xff1a;select标签用法 演示 ​​ HTML <select name"city"><option>北京</option><option>上海</opti…

【STM32CubeMX开发】-1-GPIO:点亮一个LED,以及按键KEY的捕获

案例背景&#xff1a; 我们将实现这样一个效果&#xff1a;按下按键KEY&#xff0c;点亮LED灯&#xff1b;松开按键KEY&#xff0c;熄灭LED灯。 KEY需配置为上拉输入&#xff1b;LED需配置为推挽输出。 目录 1 STM32CubeMX中配置 – GPIO 1.1 PIN引脚配置 1.2 GPIO配置 1…

三款GIS工具多角度对比:免费的倾斜摄影OSGB/3Dtiles编辑转换发布平台

GIS数据处理工具在现代技术与应用中扮演着至关重要的角色&#xff0c;它们不仅是连接原始地理信息与可分析、可视化数据的桥梁&#xff0c;更是推动地理信息系统&#xff08;GIS&#xff09;在各个行业领域深入发展与应用不可或缺的关键工具。选择一款合适的工具直接关系到数据…

电汽车充电革命:充电桩的过去现在与未来

电动汽车充电革命&#xff1a;中国充电桩行业的过去、现在与未来 一、发展历程概述 中国充电桩行业的发展历程可划分为以下几个阶段&#xff1a; 1. 初始期&#xff08;2006-2008年&#xff09;&#xff1a;在此阶段&#xff0c;国家队主导市场&#xff0c;主要参与者包括国…

《智慧博物馆:科技与文化的完美融合》

《智慧博物馆&#xff1a;科技与文化的完美融合》 一、智慧博物馆的兴起与发展 随着科技的飞速发展&#xff0c;智慧博物馆应运而生。进入新时代&#xff0c;大数据、人工智能、信息化的进步以及智能产品的应用&#xff0c;改变了人们接收信息和学习的习惯。为顺应社会变革&am…

alter system reset scope sid不要随便加 查询视图

全局变量 写全比较稳妥 set的时候自动加both &#xff0c; reset时不是自动both Applies to: Oracle Database - Enterprise Edition - Version 11.2.0.4 and later Information in this document applies to any platform. Symptoms When the OPTIMIZER_FEATURES_ENABLE p…