일어나지 않고 물병 채우기? 휴대용 충전 스테이션 등장! 여러분도 물병을 채우고 싶지만 귀찮아서 그냥 물을 마시는 걸 포기한 적이 있나요? 이제는 걱정 마세요. 휴대용 물 충전 스테이션이 여러분을 위해 준비되어 있습니다! 간단한 센서 작동 펌프로 물병을 손쉽게 채울 수 있는 이 기기는 새로운 생활의 변화를 가져올 혁신적인 아이템입니다.




필요한 준비물
회로 부품:
- 아두이노 우노 키트
- 초음파 센서
- 솔레노이드 밸브
- 잠수정 12V 펌프
- LCD 화면
외부 케이스:
- 3/4인치 합판
- 플라스틱 물병
- 유연한 튜빙
- 아크릴 시트 (2개)
필요 도구:
- 절삭 공구 (레이저 절단기 또는 전동 톱)
- 뜨거운 아교 총
- 와이어 커터 및 스트리퍼
단계별 제작 과정
1단계: 회로 구축하기 TinkerCAD를 이용해 회로를 설계합니다.
- 초음파 센서를 통해 물병의 위치를 탐지합니다.
- 솔레노이드 밸브와 펌프를 릴레이로 제어합니다.
- LCD 화면에는 거리 및 상태가 표시됩니다.
2단계: 코드 작성 코드를 작성하여 시스템이 작동하도록 합니다.
- 초음파 센서로 물병의 거리를 측정합니다.
- 센서 값이 지정된 거리에 도달하거나 버튼을 누르면 펌프가 작동합니다.
- LCD 화면은 현재 상태를 실시간으로 보여줍니다.
3단계: 상자 제작하기 합판과 아크릴 시트를 사용하여 기기의 외부 케이스를 제작합니다.
- 물병이 안정적으로 자리할 수 있도록 상자 내부를 설계합니다.
- 기기의 모든 부품을 상자에 단단히 고정합니다.
4단계: 급수 시스템 구축 펌프와 튜빙을 이용하여 물을 공급하는 시스템을 만듭니다.
- 물 공급이 원활한지 테스트합니다.
- 누수 여부를 체크하고 필요한 조정을 합니다.
공급







회로:
- 아두이노 우노 키트
- 초음파 센서
- 솔레노이드 밸브
- 잠수정 12V 펌프
- LCD 화면
상자:
- 3/4" 합판
- 플라스틱 물병
- 유연한 튜빙
- 아크릴 시트 (2)
도구:
- 절삭 공구(레이저 절단기 또는 전동 톱)
- 뜨거운 아교 총
- 와이어 커터, 와이어 스트리퍼
1 단계 : Tinkercad에 회로 구축

TinkerCAD에서 다음 회로를 조립하십시오. 전구는 펌프와 밸브를 활성화하는 릴레이의 자리 표시자입니다.
2단계: 코드 작성
이 시스템을 실행하는 코드의 논리는 다음과 같습니다.
1. 설정
- LCD 디스플레이를 초기화합니다.
- 초음파 센서 핀(트리거 및 에코)을 구성합니다.
- 릴레이 핀을 출력으로 설정합니다.
- 버튼 핀을 입력으로 설정합니다.
- 릴레이가 OFF로 시작되는지 확인합니다.
- LCD에 "거리:"를 표시합니다.
2. 메인 루프(연속 반복)
- 초음파 센서를 사용한 거리 측정
- 트리거 핀에 LOW 펄스를 보냅니다.
- HIGH 펄스를 보냅니다.
- 에코 시간을 마이크로초 단위로 읽습니다.
- 에코 시간을 거리(센티미터)로 변환합니다.
- 읽기 단추 상태
- 버튼(A0)이 눌렸는지(HIGH) 확인하십시오.//펌프 테스트용
- LCD에 표시 거리
- 커서를 두 번째 행으로 이동합니다.
- 이전 거리 판독값을 지웁니다.
- 인쇄 거리 값 뒤에 " cm"가 붙습니다.
- 릴레이가 활성화되어야 하는지 확인
- 거리가 5cm < OR 버튼을 누른 경우:
- 릴레이를 켭니다.
- LCD에 "ON"을 표시합니다.
- 다른:
- 릴레이를 끕니다.
- LCD에 "OFF"를 표시합니다.
- 다음 읽기 전에 500ms 동안 기다립니다(LCD 업데이트 깜박임을 방지하기 위해).
3단계: 빌드 박스




지정된 대로 이 상자를 빌드합니다.
4단계: 급수 시스템 구축

그림과 같이 이 급수 시스템을 구축하고 누수 여부를 테스트하십시오.
5단계: 물리적 회로 조립


tinkercad 이미지에 표시된 회로를 조립하고 조명을 펌프와 밸브로 교체하십시오. 배럴 잭 전원 케이블에 탭하도록 지정된 대로 펌프와 밸브를 배선합니다(펌프와 밸브는 표준 12v 플러그에서 전원이 공급됨). 상자에 하드웨어를 설치하기 전에 이를 사용하여 모든 구성 요소를 테스트하십시오.
6단계: 회로와 급수 시스템을 박스에 맞추기


회로를 후면 구획에 끼우고 급수 시스템을 상단에 밀어 넣은 다음 스크린을 슬롯에 연결하고 초음파 센서를 슬롯에 연결할 수 있을 만큼 충분히 긴 전선을 사용하는지 확인하십시오.
7단계: 닫고 즐기세요!

소스
#include <LiquidCrystal.h>
// LCD 핀 설정
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// 초음파 센서 핀 설정
const int triggerPin = 7;
const int echoPin = 6;
// 릴레이 핀
const int relayPin = 8;
// 버튼 핀
const int buttonPin = A0;
// 변수를 초기화
long duration;
int distance;
int buttonState;
void setup() {
// LCD 초기화
lcd.begin(16, 2);
lcd.print("Distance:");
// 핀 모드 설정
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(relayPin, OUTPUT);
pinMode(buttonPin, INPUT);
// 릴레이 OFF로 시작
digitalWrite(relayPin, LOW);
}
void loop() {
// 초음파 센서를 사용한 거리 측정
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // 거리 계산 (cm)
// 버튼 상태 읽기
buttonState = digitalRead(buttonPin);
// LCD에 거리 표시
lcd.setCursor(0, 1);
lcd.print(" "); // 이전 값 지우기
lcd.setCursor(0, 1);
lcd.print(distance);
lcd.print(" cm");
// 릴레이 활성화 조건
if (distance < 5 || buttonState == HIGH) {
digitalWrite(relayPin, HIGH); // 펌프 활성화
lcd.setCursor(10, 0);
lcd.print("ON ");
} else {
digitalWrite(relayPin, LOW); // 펌프 비활성화
lcd.setCursor(10, 0);
lcd.print("OFF");
}
delay(500); // LCD 업데이트 간격
}
코드 설명
- LCD 디스플레이: 물병과 센서 간의 거리를 표시하며, 상태(ON/OFF)를 보여줍니다.
- 초음파 센서: 거리 감지용으로 사용됩니다.
- 릴레이 제어: 거리가 5cm 미만이거나 버튼이 눌렸을 때 펌프와 밸브를 작동합니다.
- 버튼 제어: 수동으로 펌프 테스트 및 작동 상태를 확인할 수 있습니다.
추가 팁
- 거리 임계값을 필요에 따라 조정할 수 있습니다.
- 에러 처리와 같은 추가 기능을 구현하여 더 안정적으로 작동할 수 있도록 만들어 보세요.
이 코드를 아두이노에 업로드하여 테스트해 보세요! 작동을 확인하면서 필요한 부분을 커스터마이즈할 수도 있습니다. 🚀
'아두이노' 카테고리의 다른 글
컴팩트 데스크탑 MIDI 드럼 만들기 - DIY 프로젝트 (0) | 2025.03.20 |
---|---|
프레임리스 레이저 하프 제작: 꿈을 현실로! (0) | 2025.03.20 |
Arduino를 사용한 DIY RFID 도어록 시스템 만들기 (0) | 2025.03.10 |
Arduino 기반 퍼즐 금고: Crack the Code Game (0) | 2025.02.05 |
Arduino Nano V2를 사용한 3D 프린팅 금고 프로젝트 (0) | 2025.02.05 |