查看: 837|回复: 0

[评测分享] 【Silicon Labs EFR32xG24 开发套件】-5-驱动VEML6035环境光传感器

[复制链接]
  • TA的每日心情
    奋斗
    2024-6-21 17:19
  • 签到天数: 358 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2022-12-5 10:29:14 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 SensorYoung 于 2022-12-5 11:32 编辑

    我在上一次的测评中提及了USART的使用,本次将尝试获取板载光传感器数据,并通过串口显示。首先参考用户手册上面关于光传感器的介绍:
    在xG24 Dev Kit上, VEML6035通过一个开关与主控芯片EFR32MG24连接。在使用VEML6035之前必须先置位PC09(High),这会使能给VEML6035的供电,同时把VEML6035连接到主控芯片的I2C总线上。此外,手册建议必须要把PC09置位或者清零。下图是VEML6035跟EFR32MG24连接:
    1.png

    本文在上次UART程序的基础上,继续探索SSV5图形化配置工具配置,生成代码,把采集到的环境光传感器数据通过串口发送到上位机。
    首先通过双击.slcp文件进入图形化配置工具。
    3.png

    然后Board -> BoardControl,点击Config,在General一栏,Enable光传感器;确定光传感器的控制开关对应于PC09。
    2.png    4.png

    然后 安装光传感器的驱动:
    5.png

    驱动安装成功后有提示:
    6.png

    接着安装I2C驱动,可以在Platform -> Driver -> I2C下面找到,点击Install即可。这里I2C的实例化名称定义为:I2C_Sensor_VEML6035.
    7.png    8.png 10.png

    创建成功后,会自动的生成代码:
    9.png

    安装之后在PinTool里面分配相应的引脚
    11.png

    非常喜欢ssv5的一点是可以显示函数的调用结构,非常的实用!
    12.png
    接下来就行调用VEML6035相关的API来读取传感器数据!
    13.png

    编写主代码,编译:
    1. sl_veml6035_init(sl_i2cspm_I2C_Sensor_VEML6035, 1);
    2.   printf("Following is Output from Light Sensor.\r\n");
    3.   while(1){
    4.       sl_system_process_action();
    5.       sl_veml6035_get_als_lux(sl_i2cspm_I2C_Sensor_VEML6035, &my_als_lux);
    6.       sl_veml6035_get_white_lux(sl_i2cspm_I2C_Sensor_VEML6035, &my_white_lux);
    7.       printf("my_als_lux_Int = %d.\r\n", (uint32_t)(my_als_lux*100));
    8.       printf("my_white_lux_Int = %d.\r\n", (uint32_t)(my_white_lux*100));

    9.       printf("--------------------------\r\n");


    10.       printf("my_als_lux_Float = %.3f.\r\n", my_als_lux);
    11.       printf("my_white_lux_Float = %.3f.\r\n", my_white_lux*100);

    12.       sl_udelay_wait(1000000);
    13.   }
    复制代码


    14.png

    遇到了3个错误,主要是一些头文件引用的问题。
    15.png

    解决后重新编译:
    16.png
    下载后,测试结果如下,可以看到用手遮住板卡,传感器数值快速下降,非常灵敏。
    studio_FxOVPgmyNv.gif

    目前在使用printf打印的时候,发现flot类型的无法打印,但是整型数后可打印的问题,尝试做如下设置:
    17.png

    问题得到解决!传感器数据通过printf打印成整形和浮点都可以!
    18-Final-2.gif
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 19:51 , Processed in 0.122924 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.