코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2017-02-14 12:31:56
안녕하세요! 여러분. 코코아팹입니다.
이번 포스팅에서는 Df Robot사에서 개발된 아날로그 탁도 센서에 대해 알아보도록 하겠습니다.
모듈을 사용하기 전에 탁도의 정의, 측정 방법에 대해서 알아보도록 하겠습니다.
탁도란 물의 흐림정도를 나타내는 것으로 투시도와 같은 목적으로 사용되는 지표로 사용됩니다. 탁(濁)하다는 말은 빛의 통과를 방해하거나 가시심도(Visual Depth)를 제한하는 부유물질을 포함하고 있다는 뜻입니다. 수질 지표로서의 탁도는 보통 빛을 입사시켜 부유 물질에 의해 산란된 정도를 광학적으로 측정하여 나타냅니다.
탁도의 측정 방법은 기기분석법과 육안법이 있습니다. 기기 분석법은 혼탁 입자들에 의하여 빛의 산란도를 측정하는 네펠로법(Nephelometry)을 이용하는 것으로 네팰로법 - 혼탁도 - 단위(Nephelometry - Turbidity - Unit : NTU)를 사용한다.
육안법의 경우 혼탁도에 의해 빛의 통과가 방해받는 정도를 측정하는 방법으로 잭슨 - 혼탁도 - 단위(Jackson - Turbidity - Unit : JTU)를 사용한다.
앞으로 실습해 볼 아날로그 탁도 센서도 네펠로법을 이용해 탁도를 측정하는 원리입니다.
자 그럼 아날로그 탁도 센서에 대해 알아보도록 하겠습니다.
<아날로그 탁도 측정 센서 / 출처 : DF Robot>
위에서 언급한 것과 같이 아날로그 탁도 센서는 빛을 입사시켜 빛의 산란도를 통해 액체의 탁함을 측정합니다.
아날로그 탁도 센서는 아날로그 데이터 반환 모드, 디지털 데이터 반환 모드 2가지를 제공하며, IC 보드 상단의 토글 스위치를 통해 Analog / Digital Input 설정을 할 수 있습니다.
*주의 : 프로브 상단은 방수가 아닙니다.
<아날로그 탁도 측정 센서 / 출처 : DF Robot>
- 동작 전압 : 5V DC
- 동작 전류 : 40mA(최대)
- 반응 시간 : 500ms 이내
- 절연 저항(Insulation Resistance) : 100분(최소)
- 출력 방법 :
a. 아날로그 출력 : 0 - 4.5V
b. 디지털 출력 : HIGH, LOW 레벨 신호(IC 보드에 부착되어 있는 가변 저항을 통해 대비 레벨 설정)
- 동작 온도 : 5℃ ~ 90℃
- 보관 온도 : -10℃ ~ 90℃
- 무게 : 90g
아날로그 탁도 센서 실습에 필요한 부품 목록입니다.
NO | 부품명 | 수량 | 상세 설명 |
1 | 오렌지보드 | 1 | 아두이노 UNO 호환 |
2 | 아날로그 탁도 센서 | 1 | 프로브 & IC 보드 |
3 | 점퍼 케이블 | 3 | Male To Male |
부품명 | 오렌지보드 | 아날로그 탁도 센서 | 점퍼 케이블 |
부품 사진 |
탁도 센서와 오렌지보드의 연결 방법입니다.
IC 보드의 점퍼케이블 색상 기준으로,
검은색 케이블 (GND) | 오렌지보드 GND |
빨간색 케이블 (VCC) | 오렌지보드 5V |
파란색 케이블 (Data) | 오렌지보드 A0(혹은 다른 Analog Input Pin) |
void setup() {
Serial.begin(9600); //시리얼 통신을 시작한다
}
void loop() {
int sensorValue = analogRead(A0); // 아날로그 0번으로부터 센서 값을 인식받아 sensorValue에 저장.
float voltage = sensorValue * (5.0 / 1024.0); // sensorValue를 voltage로 변환하여 voltage에 저장.
Serial.println(voltage); // 시리얼 모니터에 voltage를 출력.
delay(500); // 0.5초 대기
}
* 깨끗한 액체의 탁도를 측정했을 때 "4.1±0.3V"의 전압(voltage)가 측정됩니다.
<온도에 따른 출력 전압 지표 / 출처 : DF Robot>
* 13번에 LED를 연결하여 탁도에 따라 LED를 제어하는 예제입니다.
int ledPin = 13; // 디지털 13번에 LED를 연결.
int sensor_in = 2; // 디지털 2번에 아날로그 탁도 센서를 연결
void setup(){
pinMode(ledPin, OUTPUT); // LED는 출력 소자이기 때문에 디저털 13번 핀을 출력으로 설정
pinMode(sensor_in, INPUT); // 센서는 입력 소자이기 때문에 디저털 2번 핀을 입력으로 설정
}
void loop(){
if(digitalRead(sensor_in)==LOW){ //센서로부터 측정된 데이터가 0이라면
digitalWrite(ledPin, HIGH); // 13번 LED 점등
}else{ //센서로부터 측정된 데이터가 1이라면
digitalWrite(ledPin, LOW); // 13번 LED 소등
}
}
탁도를 측정해보기 위해서 물과 커피를 이용해 테스트를 진행하였습니다.
테스트 결과 물과 커피의 전압 값이 다르게 측정되는 것을 확인할 수 있습니다.
<출처 : DFRobot Youtube>
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!