본문 바로가기
Arduino/Arduinio기초 실습

11장. 수위 센서, 3색 LED 모듈 실습

by sinki 2022. 4. 10.

실습은 개인 학습을 위해 "주) 엘케이 임베디드" 사이트에서 구매한 아두이노 코딩 배우기 고급 키트를 이용한 학습입니다. 동봉된 책을 기반으로 학습하면서 개인적인 궁금증과 추가 필요한 부분을 정리한 블로그임을 미리 알려드립니다. 그동안 키트 내에 없던 모듈을 알리익스프레스에서 추가 구매하였고 도착을 했습니다. 부품이 없어 못하던 실습을 우선 진행할까 합니다.

 

< 준비물 >

아두이노 우노 : 1개

USB 케이블  : 1개 

점퍼 케이블(숫숫) : 7개가량

브레드 보드 : 1개, 830홀 사용

3색(RGB) LED 모듈 : 1개

수위 센서 모듈 : 1개

 

물을 감지하여 3색 LED를 통해 출력하는 실습입니다. 물의 감지가 없을 때는 녹색 물을 감지하면 붉은색을 출력합니다.

< 참고 지식 >

⦿ 수위센서(접촉식)

접촉식 수위센서로 1Ω의 저항 라인을 토대로 한 수분 감지 센서입니다. 출력은 아날로그 방식이고 측정 부위만 방수이고 회로 부위는 방수가 아니라 물에 접촉하지 않도록 주의가 필요합니다.

동작은 절연체 사이에 니켈 성분의 도체에 수분이 없으면 저항값이 무한대로 전류가 흐르지 못하고 수분이 있을 경우 저항값이 줄어들어 회로가 연결 되는 점을 이용 수분을 감지합니다.

동작 전압 : DC 5V, 동작 전류 : 20mA 미만, 동작 온도 : 10 ~ 30℃입니다 참조하세요..

⦿ 3색(RGB) LED 모듈

RGB Led와 전압 강하 저항(150Ω)을 모듈화 하여 사용에 편의성을 제공합니다.  모듈 출력 핀에 - 표시로 common Cathode 타입으로 동작을 합니다.

 

< 실습 코드 >

int Water_Sensor = A0; // A0에 수위센서 연결
int Sensor_val;               // 센서 입력값 저장 변수
int LED_R = 4;               // 빨간색 LED 핀 번호
int LED_G = 3;               // 초록색 LED 핀 번호

int LED_B = 2;               // 파란색 LED 핀 번호
 
void setup()
{
  pinMode(LED_R, OUTPUT);  // LED 핀 모드 설정(출력으로)
  pinMode(LED_G, OUTPUT);  // LED 핀 모드 설정(출력으로)
  pinMode(LED_B, OUTPUT);  // LED 핀 모드 설정(출력으로)
}

void loop()
{
  Sensor_val = analogRead(Water_Sensor); // 센서의 아날로그 값 읽어오기
  if(Sensor_val <= 450).           // 센서 값이 450 이하이면 초록 LED를 ON 시켜서 수분이 감지 상태가 아니라고 표시
  {
    digitalWrite(LED_G, HIGH);
    digitalWrite(LED_R, LOW);
  }
  else if(Sensor_val <= 550). // 센서 값이 450  ~ 550 이면 초록, 빨간 둘 다 ON 시켜서 수분이 조금 감지되고 있는 상태 표시
  {
    digitalWrite(LED_G, HIGH);
    digitalWrite(LED_R, HIGH);
  }
  else.                                      // 센서 값이. 550 이상이면 빨간 LED를 ON, 수분이 감지 상태를  표시
  {
    digitalWrite(LED_G, LOW);
    digitalWrite(LED_R, HIGH);
  }
}