유량센서 YF-S401은 액체 유량을 측정하는 데 사용되는 감지 장치이다.
이 센서의 기능은 주로 다음과 같다.
- 유량 측정: YF-S401은 액체가 흐르는 속도나 양을 측정한다. 이를 통해 액체가 특정 시간 동안 얼마나 많은 양으로 흐르는지 측정할 수 있다.
- 디지털 출력: 이 센서는 디지털 출력을 생성하여 다른 장치에 전송할 수 있다. 일반적으로 펄스 출력 또는 디지털 시그널을 사용하여 유량 정보를 전송한다.
- 내구성: YF-S401은 내구성이 뛰어나고 경제적인 장치이다. 플라스틱 또는 금속으로 만들어진 센서가 있으며, 액체가 흐르는 환경에 적합한 다양한 모델이 있다.
- 낮은 소비 전력: 일반적으로 YF-S401은 낮은 전력을 소비하므로 배터리 또는 기타 전원 공급 장치로 작동할 수 있다.
- 애플리케이션: 주로 급유 시스템, 농업 자동화, 산업 프로세스 모니터링 등 다양한 응용 분야에서 사용된다.
유량센서 YF-S401는 아두이노와 함께 사용하여 다양한 프로젝트에 활용할 수 있다. 아래는 YF-S401을 아두이노와 함께 사용하는 간단한 예제이다.
부품 : 아두이노 우노 R3, YF-S401 유량센서, 12V 소형양수기, 16X2 LCD 디스플레이
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
https://link.coupang.com/a/b13YHl
아두이노용 유량센서 YF-S401 | 물흐름 감지센서 - 양수기 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b131DK
DC12V 초조용 브러시리스 버클형 소형양수기 - 양수기 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b2vSOT
ATmega328P 마이크로 컨트롤러가 있는 아두이노 우노 R3 개발 보드 - 액세서리 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b2vTO0
아두이노 LCD1602 16x2 4핀 디스플레이 모듈/ Arduino LCD1602 Module - 액세서리 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
![]() |
![]() |
![]() |
![]() |
아두이노 우노 R3 | YF-S401 유량센서 | 12V 소형 양수기 | 1602 LCD 디스플레이 |
결선 방법
YF-S401유량센서 RED | 아두이노 5V |
YF-S401유량센서 BLACK | 아두이노 GND |
YF-S401유량센서 YELLOW | 아두이노 D2 |
12V 소형 양수기 RED / BLACK | 전원12V / GND |
LCD1602 VCC | 아두이노 5V |
LCD1602 GND | 아두이노 GND |
LCD1602 SDA | 아두이노 A4 |
LCD1602 SCL | 아두이노 A5 |
아래 코드는 YF-S401 센서로부터 펄스를 받아 유량을 계산하고 시리얼 모니터를 통해 표시한다. 펄스 수를 측정하여 시간당 유량을 계산하고 누적된 총 유량을 추적한다.
#include <LiquidCrystal_I2C.h> // LCE패널 함수 선언
const int sensorPin = 2; // YF-S401 센서 신호 핀
volatile int pulseCount; // 펄스 카운터
float flowRate; // 유량
unsigned int flowMilliLitres;
unsigned long totalMilliLitres;
unsigned long oldTime;
LiquidCrystal_I2C lcd (0x27,16,2);
void setup() {
lcd.init(); // LCD 초기화
lcd.backlight(); // LCD 뒷 전등 켬
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pulseCount = 0;
flowRate = 0.0;
flowMilliLitres = 0;
totalMilliLitres = 0;
oldTime = 0;
attachInterrupt(0, pulseCounter, FALLING);
}
void loop() {
if ((millis() - oldTime) > 1000) {
detachInterrupt(0);
flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / 7.5; // 7.5는 센서의 각 유량당 펄스 수
oldTime = millis();
flowMilliLitres = (flowRate / 60) * 1000;
totalMilliLitres += flowMilliLitres;
pulseCount = 0;
attachInterrupt(0, pulseCounter, FALLING);
}
Serial.print("유량: ");
Serial.print(flowRate);
Serial.print(" L/min\t");
Serial.print("총 양: ");
Serial.print(totalMilliLitres);
Serial.println(" mL");
// LCD에서 한번 현시되고 측정된 값이 바뀌면 지우고 다시 현시
lcd.clear();
// LCD의 커서를 첫번째 열에 첫번째행으로 설정
lcd.setCursor(0, 0);
// 측정된 거리값을 LCD에현시
lcd.print("flowRate:");
lcd.print(flowRate); // 유량
lcd.print("L/min\t");
// LCD의 커서를 첫번째 열에 두번째행으로 설정
lcd.setCursor(0, 1);
lcd.print("total:");
lcd.print(totalMilliLitres); //총양
lcd.print("mL");
delay(200); // 0.2초간 지연
}
void pulseCounter() {
pulseCount++;
}
아래 영상은 유량 측정기의 유량 및 총양을 시리얼 모니터와 LCD 디스플레이로 출력하는 모습이다.
https://www.youtube.com/watch?v=g6Wszr02FHU&t=2s
이 코드를 사용하여 유압 시스템, 농업 자동화, 물 관리 시스템 등 다양한 프로젝트에 적용할 수 있다.
'아두이노 센서 모듈 활용' 카테고리의 다른 글
액체감지 센서를 사용한 아두이노 액체감지 시스템 (0) | 2024.05.12 |
---|---|
HW-038 수위센서를 사용한 아두이노 수위 측정기 (0) | 2024.05.11 |
TEA5767 사용한 아두이노 라디오 EP01 (0) | 2024.05.01 |
아두이노를 활용한 키패드 도어락 (0) | 2023.07.11 |
TSOP1838 IR 적외선 센서를 사용하여 리모컨으로 아두이노 제어하기 (0) | 2020.08.10 |