检测鸿蒙烟雾(MQ_2传感器)
- 介绍
-
- 鸿蒙
- MQ-2烟雾传感器
- I2C
- 具体设计
-
- 关键代码
- 后续
介绍
鸿蒙
HarmonyOS是面向万物互联时代的全新分布式操作系统。
在传统单设备系统能力的基础上,HarmonyOS提出了基于同一系统能力、适应各种终端形式的分布式概念,可支持手机、平板电脑、智能可穿戴、智能屏幕、汽车、机器等终端设备,提供全场景(移动办公、体育健康、社交、媒体娱乐等)的业务能力。
-
配备操作系统的设备集成到系统层面,形成超级终端,使设备的硬件能力灵活扩展,实现设备之间的硬件互助和资源共享。 对消费者而言,HarmonyOS能够整合生活场景中各种终端的能力,实现不同终端设备之间的快速连接、能力互助和资源共享,匹配合适的设备,提供流畅的全场景体验。
-
面向开发者,实现一次开发和多端部署。 对应用开发者而言,HarmonyOS采用多种分布式技术,使应用开发与不同终端设备的形式差异无关,使开发者能够专注于上层业务逻辑,更方便、更高效地开发应用。
-
一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。 对设备开发者而言,HarmonyOS根据设备的资源能力和业务特设备的资源能力和业务特点灵活切割,满足不同形式的终端设备对操作系统的要求。
MQ-2烟雾传感器
MQ-2常用于家庭和工厂的气体泄漏监测装置,适用于检测液化气、苯、烷、酒精、氢气、烟雾等。MQ-准确地说,它是一种多种气体探测器。
MQ-探测范围极其广泛。其优点:灵敏度高,响应快,稳定性好,使用寿命长,驱动电路简单。
I2C
IC( Inter-- Integrated Circuit)总线是一种由 PHILIPS连接微控制器及其外围设备的公司开发的两线串行总线。它由数据线组成SDA和时钟SCL串行总线可以发送和接收数据。 在CPU与被控I2C之间、I2C与I2C双向传输,高速IC总线一般可达400kbps以上。 I2C在传输数据的过程中,总线有三种信号:开始信号、结束信号和响应信号。 开始信号:SCL高电平时,SDA数据从高电平跳转到低电平跳转。 结束信号:SCL高电平时,SDA数据从低电平跳转到高电平,数据从结东传输。 响应信号:接收数据IC在接收到8bit数据发送到数据后IC发出特定的低电平脉冲表示已收到数据。CPU向受控单位发出信号后,等待受控单位发出响应信号,CPU接收响应信号后,根据实际情况判断是否继续传输信号。未收到响应信号的,判断为 受控单元出现故障。 在这些信号中,起始信号是必要的,不需要结束信号和响应信号。
具体设计
遇到可燃气体时,可燃气体传感器的电阻值会降低,气体浓度越大,电阻值越小。ADC通道的电压会通过收集增加ADC计算传感器的电阻值。
关键代码
static void AdcGpioTask(void *arg){
(void)arg; hi_gpio_init(); hi_io_set_func(HI_GPIO_IDX_11, HI_IO_FUNC_GPIO_11_GPIO); hi_gpio_set_dir(HI_GPIO_IDX_11, HI_GPIO_DIR_IN); hi_u16 value; int num=5; while (num>0) {
num--; if(hi_adc_read(HI_ADC_CHANNEL_5, &value, HI_ADC_EQU_MODEL_4, HI_ADC_CUR_BAIS_DEFAULT, 0) != HI_ERR_SUCCESS){
printf("ADC read error!\n"); }else{
printf("ADC Voltage = %f\n", hi_adc_convert_to_voltage(value));
printf("MQ2 value = %f\n", 5 / hi_adc_convert_to_voltage(value)-1);
usleep(10000);
}
}
}
后续
完整源码,可以关注我的程序设计专栏。 或者关注微信公众号,发送“鸿蒙之检测烟雾”获取。
编写不易,感谢支持。