回答

收藏

【ROHM传感器套件试用】十二、接近开关及亮度调节灯控

其他 其他 3568 人阅读 | 0 人回复 | 2017-04-07

本帖最后由 踏平幼稚园 于 2017-4-7 17:13 编辑

说明:测试程序使用的开发板为nucleo-f411re,程序下载链接:【ROHM传感器套件试用】二、stm32代码移植(所有模块通过测试)

本贴使用模块:RPR0521(光照接近传感器)

一、控制逻辑
    1、开关:通过传感器接近检测判断接近与否,一次接近+一次离开作为一次有效操作,灯做打开关闭操作

    2、亮度:亮度使用占空比控制。通过传感器反馈的光照强度,获取到的数值(0-500)/5得到0-100的占空比,需要注意的是数值大于500时占空比设为100,占空比小于5时需将占空比设为5,以免灯在弱光下太暗或不亮。

二、代码实现
    1、将light.c文件和light.h文件分别复制到工程跟目录的Src及Inc中,然后添加c文件到工程里。

    2、main.c中在rpr0521rs.init后添加led初始化函数
  1. rpr0521rs.init();
  2. light_init();
复制代码
3、main.c主循环中near_far = rpr0521rs.check_near_far(ps_val);改为以下内容
  1. near_far = rpr0521rs.check_near_far(ps_val);
  2. light_ctrl(als_val, ps_val, near_far);
复制代码
4、去掉主循环中的延时函数HAL_Delay,防止操作被忽略

三、效果展示
   



light代码文件(需配合本帖开头链接中的测试工程使用):
light.zip (1.45 KB, 下载次数: 7)
关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条