跳转至

灰尘传感器YW51

传感器简介

YW51传感器是PM2.5普三代灰尘传感器,利用微小颗粒物体对光的散射原理,当微小颗粒物体经过检测孔,对光线形成散射时;散射光的一部分通过光轴,经透镜聚集到感光元器件,感光元器件将光信号转换为电信号输出。经过改进取消模拟输出口,并且将内部算法进行微调。串口输出更稳定。

  • Application使用传感器示例代码
/* 以下在`#ifdef SENSOR_PARTICULATES`和`#endif`之间的代码段,为PM2.5传感器的
    测试代码,从传感器设备注册、打开、数据接收、中断处理;整个处理流程 */
#ifdef SENSOR_PARTICULATES
/**
 * @brief 传感器测试任务
 *
 * @param p 任务参数
 */
void sensor_task(void *p)
{
    /* 用于读取和保存获取到的传感器数据 */
    sensor_data_t sensor_data;
    /* 注册传感器时,要明确传感器类型、API结构体 */
    sensor_register(SENSOR_TYPE_PARTICULATES,yw51_ops);
    /* open时传入阻塞或非阻塞属性,只作用于读取数据时 */
    sensor_open(SENSOR_TYPE_PARTICULATES,SENSOR_NOBLOCK,NULL);
    for(;;)
    {
        for(int i = 0;i < 10;i++)
        {
            /* 获取传感器数据 */
            sensor_read(SENSOR_TYPE_PARTICULATES,&sensor_data);
            // TODO:
            mprintf("PM2.5 %f 单位 xx\n",sensor_data.particulates);
            vTaskDelay(pdMS_TO_TICKS(1000));
        }
    }
}
#endif