查看: 280|回复: 0

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

[复制链接]

10

主题

5

好友

991

积分

举人

Rank: 4

  • TA的每日心情
    开心
    昨天 09:34
  • 签到天数: 218 天

    连续签到: 4 天

    [LV.7]常住居民III

    发表于 2017-4-7 17:11:58 |显示全部楼层
    本帖最后由 踏平幼稚园 于 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,防止操作被忽略

    三、效果展示
        gif5新文件.gif



    light代码文件(需配合本帖开头链接中的测试工程使用): light.zip (1.45 KB, 下载次数: 1)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-5-26 06:02 , Processed in 0.095710 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部