1.模块介绍
温室效应、废气排放、冰川融化、岛国淹没,这一切的罪魁祸首就是
CO2
的过度排放。是时
候家中常备一款
CO2
监测装置,来知道我们的环境危机是多么的紧迫。它还可以告诉你室内空气
的质量,及时开窗降低
CO2
浓度。康威科技为您带来这款
CO2
传感器模块。可通过
AT
指令轻松
读取
CO2
及
TVOC
数值,并且本模块还有两种不同的门限模式可供选择。
该模块包含一个
SGP30
气体传感器和一个
SHT20
温湿度传感器,可测量总
VOC
信号
(TVOC)
、
CO2
等效信号
(CO2eq)
、温度及湿度。

二.接线
三.AT指令手册
四.uarst
uint8_t CO2_buffer[RX_BUFFER_SIZE]; // 接收缓冲区 20
uint8_t TOVC_buffer[RX_BUFFER_SIZE]; // 接收缓冲区
uint8_t TEMPbuffer[RX_BUFFER_SIZE]; // 临时变量缓存区接收缓冲区
u8 tempIndex=0;
u16 tovcSum,Co2Sum;
uint8_t rx_index = 0; // 接收数据的索引
u8 startData=0;
u16 maxtext=0;
u16 tempSUM=0;
u8 TovcMode=2;//查看接受的数据模式 表示开始接受 CO2 1表示开始接受Tovc
void USART2_IRQHandler(void)
{
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //接收中断
{
uint8_t rx_byte = USART_ReceiveData(USART2); // 读取接收到的数据
// if(rx_index>maxtext){
// maxtext=rx_index;
// }
if(rx_byte=='+'){
//重启标准位
tempIndex=0;
}
TEMPbuffer[tempIndex]=rx_byte;
tempIndex++;
if(TEMPbuffer[1]=='C'&&TEMPbuffer[2]=='O'&&TEMPbuffer[3]=='2'){
TovcMode=0;
}
if(TEMPbuffer[1]=='T'&&TEMPbuffer[2]=='V'&&TEMPbuffer[3]=='O'&&TEMPbuffer[4]=='C'){
TovcMode=1;
}
//开始存储数组
if(rx_byte=='='){
startData=1;
}
//接受到0D 回车 13表示结束
if(rx_byte==13){
startData=0;
//处理数据
if(TovcMode){
tempSUM=0;
//表示接受到tovc数组
for(u8 i=1;i<rx_index;i++){
//开始拼接数组
tempSUM=tempSUM*10+(TOVC_buffer[i]-'0');
}
if(tempSUM){
tovcSum=tempSUM;
}
}else{
tempSUM=0;
for(u8 i=1;i<rx_index;i++){
//开始拼接数组
tempSUM=tempSUM*10+(CO2_buffer[i]-'0');
}
if(tempSUM){
Co2Sum=tempSUM;
}
}
rx_index=0;//清空下表
}
//
if(startData){
//存储CO2数据
if(!TovcMode){
CO2_buffer[rx_index]=rx_byte;
}
//存储TOVC数据
if(TovcMode){
TOVC_buffer[rx_index]=rx_byte;
}
rx_index++;
}
}
}
void TOVC(){
// AT+TVOC\r\n 查询总挥发性有机化合物浓度
Usart_SendString2(USART2,"AT+TVOC\r\n");
delay_ms(10);
Usart_SendString2(USART2,"AT+CO2\r\n");
}