内容介绍
内容介绍
项目介绍
非常开心能够参加得捷电子和硬禾学堂一起推出的fastbond活动,我设计的是一个环境检测仪器,使用了BME680空气传感器,max32660评估板,和ADI的AD8531运算放大器可以实现以下功能:
- 对温度的检测;
- 对湿度的检测;
- 对空气中有害气体的检测;
- 对气压的检测。
芯片详情
美信的MAX32660微控制器,它是一款超低功耗、性价比突出、集成度非常高的32位控制器,非常适合电池供电或是无线传感器的应用。芯片的封装非常小,可以有效减少pcb的面积,它的工作频率是96MHz,同时它还采用了带浮点运算功能的M4内核,并且带有256KB Flash和96KB SRAM。足以满足我们本次的设计要求。
同时在本次设计中我选择的ADI的AD8531芯片,它是高输出的运算放大器,在这里我们把它作为供电芯片使用。
传感器芯片使用的是BME680组合式的传感器,可以测量挥发性的有机物,温度,湿度,气压这四个参数,非常适用于检测空气质量,这个芯片的体积非常小,功耗低,可以适用于低功耗的场合,比如可穿戴设备等。
BME680环境传感器采用I2C接口,板载电源稳压芯片,兼容性非常的好,可直接兼容3.3V和5V系统,同时预留了SPI接口,方便做扩展 ,产品的集成度高,的同时检测四个环境参数,是气象站,智能家居,物联网,可穿戴场景的理想选择。
读取数据
我将传感器采集的数据通过串口发送到电脑上,解析出数据并画出变化的波形
rslt = bme68x_set_op_mode(BME68X_FORCED_MODE, &bme);
bme68x_check_rslt("bme68x_set_op_mode", rslt);
/* Calculate delay period in microseconds */
rslt = bme68x_get_data(BME68X_FORCED_MODE, &data, &n_fields, &bme);
bme68x_check_rslt("bme68x_get_data", rslt);
if (n_fields)
{
printf("a:%.2f,%.2f,%.2f,%.2f\n",
data.temperature,
data.pressure,
data.humidity,
data.gas_resistance);
}
我把传感器放在茶杯口处,可以在数据中看出,湿度快速上升,空气的电阻也很快下降,温度没有太多变化。
总结
博世推出的传感器使用起来非常的友好,有关的算法处理已经编写为一个库函数,完善几个函数指针(读取,写入,延时),就可以获取数据,方便了移植过程,在代码中也会弹出各种故障码,方便排查问题。
void bme68x_check_rslt(const char api_name[], int8_t rslt)
{
switch (rslt)
{
case BME68X_OK:
/* Do nothing */
break;
case BME68X_E_NULL_PTR:
printf("API name [%s] Error [%d] : Null pointer\r\n", api_name, rslt);
break;
case BME68X_E_COM_FAIL:
printf("API name [%s] Error [%d] : Communication failure\r\n", api_name, rslt);
break;
case BME68X_E_INVALID_LENGTH:
printf("API name [%s] Error [%d] : Incorrect length parameter\r\n", api_name, rslt);
break;
case BME68X_E_DEV_NOT_FOUND:
printf("API name [%s] Error [%d] : Device not found\r\n", api_name, rslt);
break;
case BME68X_E_SELF_TEST:
printf("API name [%s] Error [%d] : Self test error\r\n", api_name, rslt);
break;
case BME68X_W_NO_NEW_DATA:
printf("API name [%s] Warning [%d] : No new data found\r\n", api_name, rslt);
break;
default:
printf("API name [%s] Error [%d] : Unknown error code\r\n", api_name, rslt);
break;
}
}
附件下载
bme68x.zip
团队介绍
评论
0 / 100
查看更多
猜你喜欢
FastBond环境监测之四合一环境检测传感器用于检测环境中的温湿度、NH3、CO2,具备485接口,对外输出5V隔离电源。作为485总线的主机设备使用,为从机提供当前环境参数。
电子风清扬
1632
FastBond环境监测之室内环境检测参加FastBond,购买美信和adi的产品,并使用pico 设计扩展板进行驱动设计,主要实现温度开关监控、电源降压输入、oled驱动、甲醛模块数据解析、DTH11模块数据解析
xinshuwei
1343
Fastbond环境监测之噪声分析利用一个简单的麦克风前置放大器模块,搭配运算放大器对音频信号进行放大,然后利用arduino atmega 328进行采集处理,最终显示在LCD屏幕上。
鱼儿游
1230