传感技术
直播中

jf_85136884

2年用户 10经验值
私信 关注
[讨论]

【罗姆传感器评估板试用体验连载】罗姆传感器整合进同一个示例程序

  通过官方示例程序体验完“ BM1390气压+H1749NUC 颜色+BH1900NUX温度  ” 全部 三颗传感器芯片功能体验后,决定尝试将他们整合进同一个示例程序,这样就可以无需切换程序就能一次测试全部三颗传感器。
  首先,整合代码:把三个传感器官方代码放进新建的示例代码中:
Combine1.jpg
  接着,整合三个传感器的setup函数:
Combine2-1.jpg Combine2-2.jpg
  同样的,整合三个传感器的loop函数:
void loop()
{
/*BM1390GLV********************************************/
    int32_t result;
    float32 press, temp;


    result = bm1390glv.get_val(&press, &temp);
    if (result == BM1390GLV_COMM_OK) {
        (void)Serial.write("Pressure(hPa):Temperature(degree Celsius) = ");
        (void)Serial.print(press);
        (void)Serial.write(", ");
        (void)Serial.print(temp);
        (void)Serial.println("******************************************");
    } else {
        BM1390GLV_error_func(result);
    }


    delay(SYSTEM_WAIT);


/*BH1900NUX********************************************/
    result = bh1900.get_val(&temp);
    if (result == BH1900NUX_RESULT_OK) {
        (void)Serial.print("BH1900NUX [TEMP(degree Celsius)] = ");
        (void)Serial.println(temp, DIGIT_NUM);
        (void)Serial.println("******************************************");
    }
   
    delay(meas_time);


/*BH1749NUC********************************************/
  unsigned short color[5];


  result = bh1749nuc.get_val(color);
  if (result == 0) {
    Serial.write("BH1749NUC (RED)    = ");
    Serial.println(color[0]);
    Serial.write("BH1749NUC (GREEN)  = ");
    Serial.println(color[1]);
    Serial.write("BH1749NUC (BLUE)   = ");
    Serial.println(color[2]);
    Serial.write("BH1749NUC (IR)     = ");
    Serial.println(color[3]);
    Serial.write("BH1749NUC (GREEN2) = ");
    Serial.println(color[4]);
    (void)Serial.println("******************************************");
  }


  delay(WAIT_TMT2_MAX);


  return;
}


  最后,可以编译运行看效果了:
Combine4.jpg

  很少的代码编辑工作就可以实现:不用切换项目就能同时测试全部三个传感器,挺方便的。


更多回帖

发帖
×
20
完善资料,
赚取积分