아두이노 우노를 이용해서 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센서를 활용하실때 사용하시기 바랍니다.
기화식 가습기 청소 방법 (4) | 2022.10.31 |
---|---|
코아 미세 S3 센서 리뷰 및 데이터 활용(파이썬 시리얼통신 usb csv) (0) | 2022.01.18 |