Description:░▽┞网络棋牌十大排行榜∮¢co2传感器在我们生活中运用得越来越广泛,比如在智能家居中运用co2传感器监测家里的co2浓度,在农业中用来监测蔬菜大棚的co2浓度,在交通运输中也运用░,本文发布时间:2020-11-10,关于【浅谈CM106-05红外二氧化碳传感器的应用】的文章内容即将呈现,预计花费您659秒时间:
▽┞ 网络棋牌十大排行榜∮¢
co2传感器在我们生活中运用得越来越广泛,比如在智能家居中运用co2传感器监测家里的co2浓度,在农业中用来监测蔬菜大棚的co2浓度,在交通运输中也运用得ご非常的广,几乎涉及我们生活中得每一个行业中,言归正传。下面我す 们简单的来谈一下四方科技的红て外ほ二氧化碳传感器,其实所有的二氧化碳传感器都差不多,就是参数的不一样,所有了解一款,其他的也就了解了。
四方红外二氧化碳CM106-05传感器
CON4CON5
序号引脚描述序号引脚描述
1+5V电源输入端(+5V 网络棋牌十大排行榜棋牌游戏 ◎ ★端)ぃ1+3.3V电源输出端(+3.ゅ 3V/100mA)
2GND电源输入… 端(接地端)2RX串口接收端(+3.3V)
3A报警输出端(预留)3TX串口发送端(+3.3V)
4PWM脉宽调制4R/TRS485 控制端(预留)
5CA手动校准端(z预留)
◆UART ◇通讯协议
1 协议概述
1) 本协议数据,均为 16 进制数据。如 “46”为十进制的[7男0];
2) [xx]为单字节数据(无符号,0-255);双字节数据わ高字节在前,低字节在后;
3) 波特率:9♀600, DataBits: 8, StopBits: ┮1, Parity: No。
2 串口通讯协议格式
上位机发送格式
起始符长度命令号数据 1……数据 こn校验和
HEADLENCMDDATA1……DATAnCS
11HXXHXXHXXH……XXHXXH
起始符上位机发送固定为[→11H],模块应答固定为[16H]
长度帧┰字节长度,=数据长度+1(包括 CMD+DATA)
命令号指令号
数据读取或者写入的数据,长度可变
校验和数据累加和,=256-[(HEAD+LEN+CMD+DATA) ぴmod (256)]
3 安卓棋牌下载大全安卓棋牌游戏手机版下载 え串口协议命‖ 令号表
◇
编号功能名称命令号功能描述
↑ 1读取 CO2 测量结果0x01
2CO2 浓度值调零校准0x03
3读取模块软件版本号0x1E
4 协议详细描述
4.1 读取 CO2 测量结果↓
发送:11ゆ 01 01 ED
应答:16 05 01 ▆ [DF1]Φ [DF2] [DF3] [DF4] び[CS]
功能:读取 CO2 测量结果(单位:ppm)
说明:CO2 测量值=[DF1]*256 + [DF2]
く 应答实例:
应答:█ 16 05 01 02 58 00 00 8B // 对应 CO2 浓度为 600ppm
4.2 CO2 浓度值调零校准
ざ
发送:11 03 03 [DF1] [DF2] [CS]
应答:16 01 03 E6
功能:CO2 浓度值调零校准
◤ 说明:
1、 调零目标值=[DF1]*256 + [DF2]。单位为 ppm,范围为(400 ~ 150や 0 ppm)
2、 进行 CO2 调零之前,请确认当前环境 CO2 值为调零目标值,稳定时¥ 间最少 2 分钟以上。
例如:当需要将模块调零到 600ppm 时,发送【】命令:11 03 03 02 58 8F
4.3 读△ 取模块软件版本号
发送:11 01 1E D0
应答:16 0C 1E [DF1] …… [DF11] [CS]
功能:读取模块固件版本号
说明:
1、 [DF1]……[DF10] る表示详细は版本号的 ぢASCII だ码
2、[DF11に] 预留。
例如:当模块版本号为 CM V0.0.20 时,应答数据如下:
应答:16 0C 1E 43 4D 20 56 30 2E 30 2E 32 30 00 97 //ASCII 码对应为 CM もV0.0.20
▲ ◆PWM 输出
检测量程:400~5000ppm
正◥向脉宽:(PPM/5)+2ms
PWM ‖输出图示
め
其资料大概就是这些
下面我们谈一下在stm32程序中读取co2测量结果
在co2.c 中的代码为:→
u8 Check_CO2[4]={0x11,ち 0x01,0x01,0xED};
void Check_co2(void)
↗ {
ぼ UartSend(USART3,4,Check_CO2);
Delay_ms(5);
}
void #AnalysisCO2(unsigned char* protocalData,unsigned ※☆ int protocalLenth)
{
unsigned int i;
for(むi=0;i《protocalLenth+3;i++)
Debug の(“%02x ”,ねprotocalData み [i]);
Debug (“\n”);
if(protocalData[0]==0x16 && protocalData [1]==0x05 && protocalData[2]==0x01)
{
environment.co2_standard=protocalData[♀ 3]*256 ◎ ⌒ ろ + protocalData[4]; //计算出二氧化碳的浓度
Debug 安卓棋牌下载大全 (“shifang ° ぱ CO2=%d\n”,environment.co2_standard);
environment.environment_data[8]=protocalData[3];
environment.environment_data[9]=protocalData[4];
}
if(environment.ON_OFF_Flag==1) ■※ //开机情况下
{
CO2_Display(); ⊙ //二氧化碳在LCD 屏上的显示 (程序略)
}$
}