检测光照强度

来自Microduino Wikipedia
Yanglibin@microduino.cc讨论 | 贡献2017年7月11日 (二) 07:26的版本 (创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #4F4E4E;font-size:220%">'''Sensor_Light库-检测光照强度示例'''</p> <br> 在下面的示例中,使用Core核...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Sensor_Light库-检测光照强度示例


在下面的示例中,使用Core核心通过IIC接口检测光照强度,并将数据通过串口监视器打印出来。

所需硬件




电路搭建

将Sensor-Light-D1接到Hub的IIC引脚。
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。初次使用请参考:Getting Started



代码

/*
    获取光照强度,串口监视器打印数据。

    电路:
    * 接到核心的IIC引脚

    2017年7月11日修改
    By YLB
*/
#include <Miroduino_TSL2561.h>

TSL2561 tsl;

void setup(void)
{
  Serial.begin(9600);
  /*
    begin()里面可以不写任意参数,默认
    tsl.begin()等同于tsl.begin(TSL2561_INTEGRATIONTIME_13MS,TSL2561_GAIN_1X)

    begin(tslIntegrationTime, tslGain)
      tslIntegrationTime:
         TSL2561_INTEGRATIONTIME_13MS
         TSL2561_INTEGRATIONTIME_101MS
         TSL2561_INTEGRATIONTIME_402MS
      tslGain:
         TSL2561_GAIN_1X
         TSL2561_GAIN_16X
  */
  bool result = tsl.begin(); //初始化光照传感器,检测是否连接了

  while (!result) // 当没识别到光照传感器,重复执行
  {
    Serial.print("Ooops, no TSL2561 detected ... Check your wiring!");//串口打印警告
    result = tsl.begin();  //检测是否连接了
  }

  tsl.enableAutoGain(true);//设置自动增益
}

void loop(void)
{
  uint32_t tslLux = tsl.getLuminosity(); //获取光照强度

  if (tslLux)   //如果检测到,串口打印出来
  {
    Serial.print(tslLux);
    Serial.println(" lux");
  }
  else       //否则认为光照强度超过检测范围
    Serial.println("Sensor overload");

  delay(250);
}


相关案例