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


前言

红外线:频率介于微波与可见光之间的电磁波。
参考如下
【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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值