비접촉 수위 센서(XKC-Y25)

아두위키 : Arduwiki



비접촉식 수위 센서는 탱크나 용기 외부에 부착하여 내부의 액체 수위를 측정할 수 있는 장치입니다.

물에 직접 닿지 않기 때문에 안정적으로 오래 사용할 수 있으며 다양한 용기(금속 제외) 및 액체에 활용 가능합니다.


사양

특성 XKC-Y25-V XKC-Y25-PNP XKC-Y25-NPN XKC-Y28-RS485
전원 전압 DC 5-24V DC 5-12V, DC 24V DC 5-12V, DC 24V 24V (12V 맞춤형 가능)
출력 모드 High and low level Switch quantity (high pulse effective) Switch quantity (low pulse effective) Communication output
리플 전압 요구 사항 ≤200 mV
전류 ≤5mA
응답 시간 500mS
작동 온도 -20~105℃
습도 5%~100%
측정 두께 (민감도 범위) ≤20mm (컨테이너 벽 두께)
수위 오차범위 ±1.5mm
선 길이 500MM (±10MM)
단자 순서 갈색 (VCC), 노랑 (신호 출력), 파랑 (GND), 검정 (COM 단자)
재질 PC V0 방염 소재
방수 성능 IP67
안전 표준 인증 CE
환경 보호 인증 ROHS-2.0

모델에 따라 전압 및 출력 모드에 차이가 있으며, 본 문서를 XKC-Y25-NPN 모델을 기준으로 합니다.


활용 예제

1. 단순 측정 테스트

용기 외부에 비접촉 수위 센서를 갖다 대었을 때 정확하게 측정하고 있는지 확인하는 예제입니다.


회로 구성

센서 선은 수축 튜브를 살짝 당겨보시면 확인 가능합니다.

센서 선 색상 기능 아두이노 핀
갈색 VCC (전원 공급) 5V
파란색 GND (접지) GND
노란색 OUT (출력 신호) D2
검정색 SET (설정) 연결하지 않음 (또는 설정용)

코드

사양 탭에서 보여드린 대로 모델에 따라 출력모드가 달라 수위 감지 시에 HIGH, LOW 중 어느 쪽이 출력되는지 확인이 필요합니다.

본 문서에서 사용한 XKC-Y25-NPN 모델의 경우 수위가 감지되면 LOW가 출력됩니다.

const int sensorPin = 2; // 센서 출력 핀
int sensorValue = 0;

void setup() {
  pinMode(sensorPin, INPUT_PULLUP); // 내부 풀업 저항 활성화
  Serial.begin(9600);
}

void loop() {
  sensorValue = digitalRead(sensorPin);
  if (sensorValue == LOW) { // 모델에 따라 수위 감지시 LOW, HIGH가 다르게 출력될 수 있으니 확인 필요
    Serial.println("수위 감지됨");
  } else {
    Serial.println("수위 감지되지 않음");
  }
  delay(1000); // 1초 간격으로 측정
}


실행 결과

수위 감지 시에 xkc-y25 센서에 내장된 LED가 켜지는 것을 확인할 수 있습니다.


2. 비접촉 수위센서와 LED 함께 사용

수위 감지되면 LED가 켜지고, 감지되지 않으면 꺼지는 예제입니다.

비슷한 방법으로 부저, 워터펌프 등 다양한 모듈, 센서들을 혼합해서 사용할 수 있습니다.


회로 구성

센서 선은 수축 튜브를 살짝 당겨보시면 확인 가능합니다.

예제1 회로와 동일하게 비접촉 수위 센서를 연결하신 후, LED를 추가해주세요.

아두이노 핀 연결 부위
D3 LED의 긴 다리
GND 저항의 한쪽 다리
저항의 다른 쪽 다리 LED의 짧은 다리

코드

예제1과 마찬가지로, 모델에 따라 출력모드가 달라 수위 감지 시에 HIGH, LOW 중 어느 쪽이 출력되는지 확인이 필요합니다.

본 문서에서 사용한 XKC-Y25-NPN 모델의 경우 수위가 감지되면 LOW가 출력됩니다.

const int sensorPin = 2;  // 비접촉 수위 센서의 OUT 핀 연결
const int ledPin = 3;    // LED 연결 핀

void setup() {
  pinMode(sensorPin, INPUT_PULLUP); // 비접촉 수위 센서 핀을 INPUT_PULLUP 모드로 설정
  pinMode(ledPin, OUTPUT);          // LED 핀을 출력 모드로 설정
  Serial.begin(9600);               // 시리얼 통신 시작
}

void loop() {
  int sensorValue = digitalRead(sensorPin); // 비접촉 수위 센서 값 읽기

  if (sensorValue == LOW) { // 수위가 감지되었을 때 (센서가 LOW를 읽을 때)
    digitalWrite(ledPin, HIGH); // LED 켜기
    Serial.println("수위 감지됨");
  } else { // 수위가 감지되지 않았을 때 (센서가 HIGH를 읽을 때)
    digitalWrite(ledPin, LOW); // LED 끄기
    Serial.println("수위 감지되지 않음");
  }

  delay(500); // 0.5초 대기
}


실행 결과

시리얼 모니터 출력 결과는 예제1과 동일합니다. 수위 감지 시에 3번 핀에 연결된 LED가 켜지는 것을 확인할 수 있습니다.


응용 분야

  • 가정용 수위 모니터링: 물탱크, 정수기, 어항 등
  • 산업용 수위 제어: 화학 탱크, 저장 탱크, 배수 시스템 등
  • 농업: 관개 시스템의 수위 모니터링
  • 의료: 의료용 액체 저장 용기의 수위 감지


주의 사항

  • 용기 재질은 플라스틱, 종이, 유리 등 다양하게 사용 가능하지만 금속 용기는 센서 작동에 문제가 생길 수 있어 적합하지 않습니다.
  • 센서를 부착할 용기의 외부 표면이 깨끗하고 건조한 상태에서 설치해야 합니다.
  • 용기 두께가 감지 거리 내에 있어야 정확한 측정이 가능합니다.


구매 링크

공집사몰