상세 컨텐츠

본문 제목

저전력 CO2센서 연결기(COZIR-AX5000)

공기질

by 기여자 2021. 8. 12. 17:45

본문

아두이노 우노를 이용해서 CO2센서의 값을 받아 시리얼 모니터에 출력시키자

참고한 여정


https://blog.naver.com/allsensing/220941755298

→ 아두이노 M0를 이용한 현 센서 시리얼모니터 출력

그러나 M0와 달리 우노는 시리얼 포트를 사용시 usb사용불가..

https://www.icbanq.com/P005605422

→구매한 사이트와 내에 적혀있는 데이터 시트

1번이 그라운드, 3번이 3.3v, 5번이 rx(아두이노 tx측에 연결), 7번이 tx(아두이노 rx측에 연결)임을 알 수 있다.

https://juahnpop.tistory.com/90

→소프트웨어 시리얼 라이브러리를 통한 디지털핀 시리얼핀으로 사용

이를 통해 디지털 핀에 rx tx를 연결하고 시리얼 모니터로 출력할 수 있었다.

시도한 방법


부산대학사람 아닙니다

#include<SoftwareSerial.h>
const int rxPin = 2;
const int txPin = 3;

SoftwareSerial mySerial(rxPin, txPin); //co2 sensor Serial (sensor to arduino)
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600); // monitor Serial (arduino to PC)
  while(!Serial){} // USB native - serial 초기화 시간 필요..(M0 blog source)


  mySerial.begin(9600); // sensor boardRate 9600 
  delay(500); // 센서에서 high 구간을 인식할 시간 필요.
  while(!mySerial){}
  mySerial.println("K 2"); // 센서를 Polling mode로 변경. 명령뒤에 '\r'\n' 붙임.
  delay(500);
   mySerial.println("Z");  // CO2값 읽기 명령
}


void loop() {
  if(mySerial.available()>0) // 데이터가 들어오기 시작하면
  {
    String str = mySerial.readStringUntil('\n'); // LF가 들어올 때 까지 읽고
    Serial.println(str); // 모든 내용을 시리얼모니터로 보냄..
    delay(1000);  // 1초간 대기
     mySerial.println("Z"); // CO2값 일기 명령
  }
}


실행하면 ppm정보가 출력됩니다.

현재 환기 후 한시간동안 2명이 동아리실에 에어컨을 튼 채 있는 상황인데요 벌써 800ppm을 넘길정도며 주기적으로 환기해야 하는 환기의 중요성을 알 수 있습니다.

3.3v와 그라운드, 2번과 3번핀을 소프트시리얼핀으로 이용해서 출력하는 예제로 co2센서를 활용하실때 사용하시기 바랍니다.

Uploaded by Notion2Tistory v1.1.0

관련글 더보기