아두이노 나노 - 수분 센서 | Arduino Nano - Water Sensor
이 튜토리얼은 Arduino Nano와 물 센서를 사용하는 방법을 안내합니다. 우리는 배울 것입니다:
- 아두이노 나노에 물 센서를 연결하는 방법
- 물 센서의 상태를 읽기 위해 아두이노 나노를 프로그래밍 하는 방법
- 물 센서를 보정하는 방법
이것은 물 새는 것, 강우, 탱크 넘침 등을 감지하는 애플리케이션에 적용할 수 있습니다.
준비물
1 | × | Arduino Nano | Amazon | |
1 | × | USB A to Mini-B USB cable | 쿠팡 | Amazon | |
1 | × | Water level sensor | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
수위 센서에 대하여
수위 센서 핀배열
수위 센서에는 3개의 핀이 있습니다:
- S (시그널) 핀은 아두이노 나노의 아날로그 입력 중 하나에 연결될 아날로그 출력입니다.
- + (VCC) 핀은 센서에 전원을 공급하며, 3.3V - 5V 사이의 전압을 사용하는 것이 권장됩니다.
- - (GND) 핀은 접지 연결입니다.
물 수위 센서의 작동 월리
간단히 말해서, 센서가 잠겨 있는 물의 양이 많을수록 신호 핀의 전압이 높아질 것입니다.
자세히 살펴보자.
센서에는 10개의 노출된 구리 트랙 세트가 있습니다:
- 그 중 다섯 개는 파워 트랙입니다.
- 다른 다섯 개는 센스 트랙입니다.
트랙은 매 두 개의 전력 트랙 사이에 하나의 감각 트랙이 평행하게 배치됩니다. 잠긴 상태에서 물에 의해 연결되지 않는 한, 트랙은 서로 연결되어 있지 않습니다.
이 흔적들은 가변 저항기처럼 작용하며, 수위에 따라 저항이 변하는 포텐쇼미터와 유사합니다:
- 저항값은 센서 상단부터 물 표면까지의 거리에 의해 결정됩니다.
- 저항값은 물의 양에 반비례합니다:
- 물이 많을 때, 전도성이 향상되고 저항값은 낮아집니다.
- 물이 적을 때, 전도성이 감소하고 저항값은 증가합니다.
- 센서는 저항에 기반한 출력 전압을 생성합니다.
수위를 결정하는 것은 전압을 측정함으로써 할 수 있다.
선연결
이론적으로 센서의 VCC와 GND 핀은 센서에 전력을 공급하기 위해 아두이노 나노의 5v 및 GND 핀에 연결될 수 있습니다.
그러나 실제로 이러한 방식을 취하는 것은 권장되지 않습니다. 습한 환경에서 센서에 지속적으로 전력이 공급되면 전기화학적으로 더 빨리 부식되어 수명이 단축됩니다.
이를 피하기 위해, 센서를 항상 켜진 상태로 두지 않고 값 읽을 때만 켜는 것을 제안합니다. 이는 센서의 VCC 핀을 아두이노 나노의 디지털 핀에 연결하고, 읽기 전에 아두이노의 핀을 HIGH로 설정한 다음에 LOW로 설정함으로써 수행할 수 있습니다.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 나노 코드 - 수분 센서에서 값 읽기
사용 방법
- 위의 코드를 복사하고 Arduino IDE에서 열십시오.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano로 전송합니다.
- 센서를 물잔에 조심스럽게 내려놓습니다.
- 결과를 확인하기 위해 시리얼 모니터를 확인하십시오; 센서가 아무것도 닿지 않았을 때 결과는 0이어야 합니다.
※ NOTE THAT:
센서는 완전히 물에 잠기면 안 됩니다. PCB의 노출된 트레이스만 물과 접촉해야 합니다. 설치할 때 주의해 주세요.
누수 감지 방법
물 새는 것, 강수량, 그리고 탱크 넘침을 식별하기 위해서, 이 튜토리얼의 보정 섹션에서 결정된 임계값과 읽기 값만을 비교하면 됩니다.
특정 사례를 살펴봅시다. 물이 감지되면 Arduino Nano는 LED를 활성화할 것입니다.
배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 나노 코드 - 물 샐피 감지하기
물의 수위를 측정하는 방법
최대 수위를 다양한 레벨로 나누어 현재 레벨을 측정하고자 한다면, 아래 코드에 있는 기술을 활용할 수 있습니다. 최대 수위는 센서의 높이와 동일하다는 것을 유의하세요. 아래 코드는 최대 높이를 4개 레벨로 나눕니다.
※ NOTE THAT:
- SENSOR_MIN 및 SENSOR_MAX는 보정을 통해 결정됩니다.
- 언급된 매핑 방법은 정확하지 않지만, 많은 응용 프로그램에 적합합니다.
- 더 정확하게 만들고 싶다면, 각 레벨에 대한 임계값을 측정할 수 있습니다. 자세한 정보는 매뉴얼의 보정 섹션을 참조하십시오.
수위 센서 교정
센서의 출력은 수위와 물의 전도성 모두에 의해 영향을 받습니다. 순수한 물은 전도성이 없지만, 미네랄과 불순물이 있는 물은 전도성이 있습니다. 물의 전도성이 높을수록 센서는 더 민감해집니다. 또한, 출력 값은 센서의 VCC 핀에 공급된 전압에도 영향을 받습니다.
물 센서의 정확성을 보장하기 위해, 모니터링될 특정 유형의 물에 대해 센서를 보정하는 것이 좋습니다.
응답을 활성화하기 위한 한계를 설정하기 전에, 실험을 수행하여 센서에서 얻은 진정한 값을 평가하는 것이 필요하다.
시험 지침:
- 센서 값을 읽을 때 위에 제공된 스케치를 참고하세요.
- 원하는 임계값 수준에서 물속에 센서를 배치하세요.
- 센서가 시리얼 모니터에 표시하는 값을 기록하세요.
- 이 값을 활용하여 특정 동작을 활성화하는 임계값으로 사용하세요.
이 테스트를 완료하려면 실험이 필요할 수도 있습니다. 다양한 접근법을 시도할 준비가 되어 있어야 합니다. 여러 전략으로 실험할 준비를 하세요. 인내심을 가지고 포기하지 마세요. 인내심을 가지고 항복하지 마세요.
이 테스트는 다음을 밝혀내는 데 사용할 수 있습니다:
- 센서가 액체에 잠기지 않았을 때의 SENSOR_MIN 값
- 센서가 물에 완전히 잠겼을 때의 SENSOR_MAX 값
- 물이 쏟아졌을 때를 인지하는 임계값
- 당신의 등급 척도 각 레벨에 대한 임계값
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
도전하세요
- 물 샘 감지 시:
- 이메일 보내기
- SMS 메시지 보내기
- 소리 알람 울리기