打印
[DemoCode下载]

TCRT5000红外传感器的控制

[复制链接]
986|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
EC_NANO130_TCRT5000_IR_Sensor_Control_V1.00.zip (932.45 KB)
简介
TCRT5000传感器的工作原理与一般的红外传感器一样,一传一感。
TCRT5000具有一个红外发射管和一个红外接收管。当发射管的红外信号经反射被接收管接收后,接收管的电阻会发生变化,在电路上一般以电压的变化形式体现出来,本范例代码使用Nano130经过ADC转换后输出结果。电阻的变化起取于接收管所接收的红外信号强度,常表现在反射面的颜色和反射面接收管的距离。



使用特权

评论回复
沙发
mintspring|  楼主 | 2023-2-19 17:47 | 只看该作者
ADC初始化:
void Open_Volume_Knob(void)
{
        uint32_t ADC_Source_Clock_DIV;
       
        /* Initial ADC Function Pin */
        SYS->PA_L_MFP = (SYS->PA_L_MFP & ~SYS_PA_L_MFP_PA0_MFP_Msk) | SYS_PA_L_MFP_PA0_MFP_ADC_CH0;
        GPIO_DISABLE_DIGITAL_PATH(PA, BIT0);
       
        /* Safe for other unknown ADC device */
        while(ADC_IS_BUSY(ADC));                                       
  SYS_UnlockReg();
        /* Initial ADC Clock Source */
        ADC_Source_Clock_DIV = _ADC_Source_Clock / ADC_Clock;
        if(ADC_Source_Clock_DIV>256)
        {
                Open_Volume_Knob_Fail = TRUE;
                ADC_Source_Clock_DIV = 256;
                ADC_Clock = _ADC_Source_Clock / 256;
                printf("\nADC Clock Initial Fail!\n");
        }
        else
        {
                Open_Volume_Knob_Fail = FALSE;
        }
       
        CLK_SetModuleClock(ADC_MODULE, CLK_CLKSEL1_ADC_S_HXT, CLK_ADC_CLK_DIVIDER(ADC_Source_Clock_DIV));
        CLK_EnableModuleClock(ADC_MODULE);
  SYS_LockReg();
       
        /* Initial ADC Peripheral */
        ADC_Open(ADC, ADC_INPUT_MODE_SINGLE_END, ADC_OPERATION_MODE_SINGLE_CYCLE, ADC_CH_0_MASK);
        ADC_SET_RESOLUTION(ADC, ADC_RESSEL_12_BIT);
        ADC_SET_REF_VOLTAGE(ADC, ADC_REFSEL_POWER);
        ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);
        ADC_POWER_ON(ADC);
}


使用特权

评论回复
板凳
mintspring|  楼主 | 2023-2-19 17:48 | 只看该作者
MCU通过ADC获得TCRT5000传感器测量到的值:
uint32_t Get_Volume_Knob(void)
{
        uint32_t ADC_Raw_Data;

        /* Start ADC Coversion */
        ADC_START_CONV(ADC);
        while(!(ADC_GET_INT_FLAG(ADC, ADC_ADF_INT)));
        ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);
        ADC_Raw_Data = ADC_GET_CONVERSION_DATA(ADC, 0);

        return ADC_Raw_Data;
}


使用特权

评论回复
地板
小小蚂蚁举千斤| | 2023-2-23 16:17 | 只看该作者
反射式光学传感器

使用特权

评论回复
5
huangcunxiake| | 2023-2-23 21:53 | 只看该作者
这个是测温的传感器吗?

使用特权

评论回复
6
AdaMaYun| | 2023-2-24 08:57 | 只看该作者
不是测温是光感吧,那不红外吗

使用特权

评论回复
7
OKAKAKO| | 2023-2-27 16:12 | 只看该作者
这个具体还分什么光电光敏吗?

使用特权

评论回复
8
szt1993| | 2023-2-28 11:54 | 只看该作者
TCRT5000质量可以但是好像价格不便宜而且比较容易受干扰

使用特权

评论回复
9
中国龙芯CDX| | 2023-2-28 14:38 | 只看该作者
都属传感器类型的吧,一般基本传输都是一样的

使用特权

评论回复
10
LOVEEVER| | 2023-2-28 14:39 | 只看该作者

TCRT5000的结构很紧凑

使用特权

评论回复
11
小小蚂蚁举千斤| | 2023-2-28 15:34 | 只看该作者
反射光强度的高低来调节

使用特权

评论回复
12
AloneKaven| | 2023-3-1 19:46 | 只看该作者
测温那是红外的吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

296

主题

4896

帖子

24

粉丝