사용자 도구

사이트 도구


gss:cozir:sprintir:6s:digital_filter

Digital filter

  • 필터(Filtered)된 값과 필터 되지 않은(Unfiltered) CO2 값의 차이는 아래 그림과 같음

Digital filter 설정

  • 필터 설정 범위: 1\~255( 1= Unfiltered)
  • 필터의 설정 값이 증가하면 측정 출력 응답 시간이 늘어남

  • A=필터 설정 값
  • A = 32 가 A = 16(default) 보다 T90에 도달하는 시간이 늘어남

Digital filter Command

Command Description Example Response
A ### CO2 필터 값 설정 A 16 A 00016
a CO2 필터 값 확인 a a 00016

CO2 필터 값 확인

filter read.cpp
include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); //Uno Rx Tx (12 13) = SoftwareSerial
const char* Polling_mode = "K 2\r\n";
const char* Filter_read = "a\r\n";
String str;
void setup() {
  Serial.begin(9600); //시리얼 통신 초기화
  mySerial.begin(9600); 
  mySerial.println(""); // Dummy data send
  mySerial.print(Polling_mode);
}                              
 
void loop() 
{
  mySerial.print(Filter_read); //현재 설정된 필터 값 읽기 명령어
   delay(1000); 
   if(mySerial.available()>0) 
   { 
    str = "";
    str = mySerial.readStringUntil('\n'); 
    Serial.println(str);
   }
}

시리얼 모니터


CO2 필터 값 설정

fillter set.cpp
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); //Uno Rx Tx (12 13) = SoftwareSerial
const char* Polling_mode = "K 2\r\n";
const char* Filter_value_set = "A 32\r\n";
String str;
void setup() {
  Serial.begin(9600); //시리얼 통신 초기화
  mySerial.begin(9600); 
  mySerial.println(""); // Dummy data send
  mySerial.print(Polling_mode);
}                              
 
void loop() 
{
  mySerial.print(Filter_value_set); //필터 값 설정 명령어
   delay(1000); 
   if(mySerial.available()>0) 
   { 
    str = "";
    str = mySerial.readStringUntil('\n'); 
    Serial.println(str);
   }
}

시리얼 모니터

gss/cozir/sprintir/6s/digital_filter.txt · 마지막으로 수정됨: 2023/04/03 06:45 저자 mjbang