아두이노 우노 R4 - 수위 센서
이 튜토리얼은 Arduino UNO R4와 함께 물 센서를 사용하는 방법을 가르쳐 줄 것입니다. 물 센서는 물이 새고 있는지, 강수량을 측정하는지, 탱크가 넘치는지를 확인하거나 물의 수위를 확인할 수 있습니다. 자세히 살펴볼 내용은 다음과 같습니다:
- 물 센서를 Arduino UNO R4에 연결하는 방법
- Arduino UNO R4를 프로그래밍하여 물 센서의 값을 읽는 방법
- Arduino UNO R4를 사용하여 물 누수, 강우, 탱크 넘침을 감지하는 방법
- Arduino UNO R4를 사용하여 수위를 측정하는 방법
- Arduino UNO R4를 사용하여 물 센서를 보정하는 방법
Hardware Preparation
1 | × | Arduino UNO R4 WiFi | Amazon | |
1 | × | Arduino UNO R4 Minima (Alternatively) | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Water level sensor | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino UNO R4 | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino UNO R4 | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino UNO R4 | Amazon | |
1 | × | (Recommended) Power Splitter For Arduino UNO R4 | Amazon |
수위 센서에 대하여
수위 센서 핀아웃
수위 센서는 세 개의 핀을 포함합니다:
- S (Signal) 핀: 아날로그 출력입니다. 이를 Arduino UNO R4의 아날로그 입력에 연결하세요.
- + (VCC) 핀: 이 핀은 센서에 전원을 공급합니다. 3.3V에서 5V를 사용하여 전원을 공급하세요.
- - (GND) 핀: 이 핀은 접지 연결입니다.
※ NOTE THAT:
센서 신호 핀의 출력은 VCC 핀에 공급된 전압에 따라 변합니다.
수위 센서의 작동 원리
센서가 더 많은 물에 있을 때, 신호 핀의 출력 전압이 증가합니다.
자세히 살펴봅시다.
센서는 볼 수 있는 열 개의 구리선을 포함하고 있습니다. 다섯 개의 전원선과 다섯 개의 센서선이 있습니다. 이 선들은 각각 옆에 배열되어 있으며, 두 전원선 사이에 하나의 센서선이 번갈아가며 있습니다. 보통은 이 선들이 서로 닿지 않지만, 센서가 물에 넣어지면 물이 이 선들을 연결합니다.
흔적은 물 수준에 따라 저항이 변하는 가변 저항기(가변 저항기와 유사)처럼 작동합니다.
- 저항의 변화는 센서 상단에서 물 표면까지의 거리를 보여줍니다.
- 물의 높이가 올라갈수록 저항이 감소합니다.
- 센서가 물속에 더 잠기면 전기가 더 잘 흐르고 저항이 낮아집니다.
- 센서가 물속에 덜 잠기면 전기가 잘 흐르지 않아 저항이 높아집니다.
- 센서는 저항을 기반으로 출력 전압을 제공합니다.
전압을 측정하여 수위(수면 높이)를 알아낼 수 있습니다.
Wiring Diagram
센서에 전원을 공급하려면 센서의 VCC 핀을 Arduino UNO R4의 5V 핀에 연결하고 GND 핀을 Arduino의 GND 핀에 연결하세요.
그러나 센서를 항상 습한 환경에서 전원 공급하는 것은 권장되지 않습니다. 이는 센서가 빠르게 부식되어 수명이 단축될 수 있습니다. 이를 피하기 위해 센서의 데이터를 읽을 필요가 있을 때만 전원을 공급하는 것을 권장합니다. 센서의 VCC 핀을 Arduino UNO R4의 디지털 핀에 연결하여 이를 수행할 수 있습니다. 센서를 읽기 위해 Arduino의 핀을 HIGH로 설정하고, 완료되면 LOW로 설정하십시오.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
Arduino UNO R4 코드 - 수위 센서에서 값 읽기
Detailed Instructions
다음 지침을 단계별로 따르세요:
- Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우 Arduino IDE에서 Arduino Uno R4 WiFi/Minima 환경 설정 가이드를 참조하세요.
- 제공된 다이어그램에 따라 아두이노 Uno R4에 수위 센서를 연결하세요.
- USB 케이블을 사용하여 아두이노 Uno R4 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 아두이노 IDE를 실행하세요.
- 적절한 아두이노 Uno R4 보드(예: Arduino Uno R4 WiFi) 및 COM 포트를 선택하세요.
- 제공된 코드를 복사하여 Arduino IDE에서 엽니다.
- Arduino IDE에서 Upload 버튼을 눌러 코드를 Arduino UNO R4로 전송하세요.
- 센서를 물에 천천히 내립니다(유리컵에 물을 사용하세요).
- 시리얼 모니터에서 결과를 확인하세요. 센서가 어떤 것과도 접촉하지 않을 때 값이 0으로 표시됩니다.
※ NOTE THAT:
센서는 물에 완전히 잠기지 않아야 하며, 회로 기판의 노출된 부분만 물에 닿아야 합니다. 설치 시 주의해 주세요.
물 누수를 감지하는 방법
물 누수, 비 또는 탱크 넘침이 있는지 확인하려면 측정값을 설정된 한계와 비교합니다. 이 한계는 이 튜토리얼의 보정 단계에서 설정합니다.
Arduino UNO R4 코드 - 누수 감지
물 높이를 측정하는 방법
최고 수위 수준을 다른 단계로 나누고 현재 단계를 확인하려면 다음 코드에 있는 기술을 사용하세요. 최고 수위는 센서의 높이와 일치한다는 것을 기억하세요. 이 코드는 최고 높이를 4단계로 나눕니다.
※ NOTE THAT:
- SENSOR_MIN 및 SENSOR_MAX는 보정 과정에서 설정됩니다.
- 위의 매핑 방법이 정확하지 않을 수 있지만, 많은 경우에 잘 작동합니다. 정확성을 향상시키려면 보정 섹션에서 설명한 대로 각 레벨의 임계값을 측정하십시오.
수위 센서 보정
센서의 출력은 수위와 물이 얼마나 전도성이 있는지에 영향을 받습니다. 순수한 물은 전기를 통하지 않지만, 미네랄과 불순물이 섞인 물은 전기를 통합니다. 물의 전도성이 높을수록 센서의 감도가 더 높아집니다. 또한, 센서의 VCC 핀에 다른 전압이 적용될 때 출력 값이 변합니다.
정확한 수질 센서 판독을 위해, 모니터링할 특정 수질 유형에 맞춰 센서를 보정할 것을 권장합니다.
행동에 대한 한계를 설정하기 전에, 테스트를 통해 센서로부터 실제 값을 먼저 측정하십시오.
테스트 수행 방법:
- 제공된 도면을 사용하여 센서의 값을 읽으세요.
- 센서를 원하는 수준까지 물에 담그세요.
- 시리얼 모니터에 표시된 값을 기록하세요.
- 이 값을 액션을 활성화할 한계값으로 설정하세요.
이 테스트는 제대로 하려면 몇 번의 시도가 필요할 수 있습니다.
그 테스트는 또한 발견하는 데 도움이 될 수 있습니다:
- 물 밖에 있을 때의 최소 센서 값.
- 물에 완전히 잠겼을 때의 최대 센서 값.
- 물 누출을 감지하기 위한 임계값.
- 스케일의 각 레벨에 대한 임계값.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.