3431|2

221

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【Silicon Labs 开发套件评测】+光传感与霍尔传感的检测 [复制链接]

  本帖最后由 yin_wu_qing 于 2021-8-22 19:24 编辑

      收到板子也有段时间了,由于最近手头的事比较多,所以只能周末补发贴子咯。前期回顾:【Silicon Labs 开发套件评测】+关于板上传感器的资料,这块开发板集成了多个传感器,此次与大伙分享一下关于环境光传感器(VEML6035)与霍尔效应传感器(Si7210)的功能检测。

     威世半导体生产的环境光传感器VEML6035倡导低功耗、高灵敏度,采用IIC总线通讯,官方描述如下图所示:

        根据数据手册我们可以获悉传感器的设备地址是0x29,数据手册中关于IIC接口介绍如下:

        Si7210是由芯科科技(Silicon Labs)提供的霍尔传感器,其SOT-23封装的管脚定义如下:

         根据数据手册我们可以获悉Si7210的设备地址有0x30, 0x31, 0x32, or 0x33,数据手册中关于IIC接口介绍如下:

        VEML6035器件与霍尔传感器(Si7210)在EFM32PG22开发板上的电路连线可参考电路原理图

 

 

       

       在“Simplicity Studio IDE”中,创建一个RTOS基本工程,接着需要安装、使能一些关于IIC接口的组件。

       

     这里使用串口工具来打印输出传感器所采集的实时数据,因此需要加载第三方重定向的函数库

        使能VEML6035与Si7210传感器

      然后在工程源码中添加传感器数据处理的任务,部分代码如下:

#include <stdio.h>
#include "FreeRTOS.h"
#include "task.h"

#include "sl_i2cspm.h"
#include "em_cmu.h"
#include "sl_i2cspm_sensor_config.h"
#include "sl_veml6035.h"
#include "sl_si7210.h"

#ifndef TOOGLE_DELAY_MS
#define TOOGLE_DELAY_MS            1000
#endif

#ifndef EXAMPLE_USE_STATIC_ALLOCATION
#define EXAMPLE_USE_STATIC_ALLOCATION      0
#endif

static void Envir_Hall_test_task(void *arg);

sl_i2cspm_t *sl_i2cspm_sensor = SL_I2CSPM_SENSOR_PERIPHERAL;

void Sensor_Control_init(void)
{
  TaskHandle_t xHandle = NULL;
  BaseType_t xReturned = pdFAIL;

  static StaticTask_t xTaskBuffer;
  static StackType_t  xStack[BLINK_TASK_STACK_SIZE];

  xReturned = xTaskCreate(Envir_Hall_test_task,
                         "Envir_Hall_test task",
                         BLINK_TASK_STACK_SIZE*3,
                         ( void * ) NULL,
                         tskIDLE_PRIORITY + 3,
                         &xHandle);

  EFM_ASSERT(xReturned == pdPASS);
}

static void Envir_Hall_test_task(void *arg)
{
  const TickType_t xDelay = pdMS_TO_TICKS(TOOGLE_DELAY_MS);
  float veml_templux;
  float veml_daylux;
  float si7210_hudata;
  (void)&arg;

  sl_veml6035_init(sl_i2cspm_sensor,true);
  sl_si7210_init(sl_i2cspm_sensor);
  while(1)
    {
      sl_veml6035_get_als_lux(sl_i2cspm_sensor,&veml_templux);
      sl_veml6035_get_white_lux(sl_i2cspm_sensor,&veml_daylux);
      printf("veml_templux:%ld\r\n",(int32_t)(veml_templux*100));
      printf("veml_daylux:%ld\r\n",(int32_t)(veml_daylux*100));
      sl_si7210_measure(sl_i2cspm_sensor,10000,&si7210_hudata);
      printf("si7210_hudata:%ld\r\n",((int32_t)si7210_hudata*1000));
      vTaskDelay(xDelay);
    }
}

        编译完成,将hex文件下载到开发板中,然后打开串口调试助手,用手指放在VEML6035传感器上面,使周围环境光亮度发生变化,然后用螺丝刀在Si7210传感器附近晃动,产生霍尔值很明显。

           此次分享就告一段落啦,检测的结果说明环境光传感器(VEML6035)与霍尔效应传感器(Si7210)很灵敏,EFM32PG22微控制器非常适合这类低功耗器件的应用场景。

veml6035-1605016.pdf (217.75 KB, 下载次数: 0)

SI7210-B-03-IVR数据手册.PDF (519.37 KB, 下载次数: 0)

最新回复

现在物联网时代,功耗确实是一大头!   详情 回复 发表于 2021-8-25 11:39

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

看来环境光传感器和霍尔效应传感器确实是非常灵敏的

 
 
 

回复

1942

帖子

3

TA的资源

版主

板凳
 

现在物联网时代,功耗确实是一大头!

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表