안녕하세요 에듀이노 개발팀입니다.
말씀해주신 내용을 검토한 결과 예제 프로그램에 문제가 있는 것으로 보입니다.
센서 V값을 별도 측정해 공식에 대입을 해야 정확한 센서값이 출력됩니다.
해당내용은 업데이트 예정중이며, 사용에 불편함을 드린점 양해부탁드리겠습니다.
아래는 미세먼지 센서 샘플코드를 첨부해드리며 테스트 후 동일한 증상이 발생할 경우, 센서 교환을도와드리겠습니다.
감사합니다.
[ Original Message ]
안녕하세요, 아주대학교 메이커스페이스입니다
귀사 아두이노 미세먼지 키트 구동중 오류가 발생해서 문의 드립니다.
예제 프로그램, 5_Dust 프로그램 동작 중 측정 오류가 발생합니다
1. dust_value = analogRead(dust_sensor); // 센서 값 읽어오기
위 명령어 중 dust_value 값은 얼마가 나오나요?
조립 키트에는 센서 출력값(dust_value)이 5.0, 8.0 이 나오는데,
Data sheet상에는 0.6 ~ 3.7V 가 나와야 하는걸로 보입니다.
2. recent_dust = (0.17*(dust_value*(5.0/1024)) - 0.1) *1000;
위 명령어의 근거는 무엇 입니까 ?
Data sheet에는 0.0 ~ 0.6mg/m^3 에서 0.6~3.7V 출력이 나오는 것으로 되어 있는데,
dust_value*(5.0/1024) 목적은 무엇입니까?
다른 예제의 comment에 0~5V를 0~1023으로 mapping 한다고 되어 있는데,
그렇다면 dust_value*(1023.0/5.0) 이 맞는거 같은데요
Datasheet 에는 측정값이 0.0 ~ 0.6mg/m^3 인데
*1000을 하면 g/m^3 인데 ug/m^3 인 이유는 무엇입니까?
현 오류가 센서 동작불량인지, 프로그램 오류인지 문의 드립니다.
(다른 센서로 교체해도 같은 문제가 나오네요)