아두이노 나노로 만든 스마트 모션 감지 물총
부품 및 소모품
| 부품 | 수량 | 비고 |
| 아두이노 나노 R3 | 1 | |
| PIR 모션 센서 (범용) | 1 | |
| 브레드보드 하프 사이즈 | 1 | |
| 범용 NPN 트랜지스터 (2N3904) | 1 | |
| 저항 330옴 | 1 | 정확히 330옴이 아니어도 약간 크거나 작은 값도 작동함 |
필요한 도구 및 장비
프로젝트 개요
이 프로젝트는 Tinkernut의 '아두이노 모션 감지 물총'에서 영감을 받아 제작되었습니다. 원작에서는 Raid Auto Trigger 제품을 사용했으나, 중국에서는 구할 수 없어 타오바오에서 유사한 제품을 찾아 구매했습니다(약 78.80위안). 이 제품은 내부 회로를 건드릴 필요 없이 버튼만 개조하면 브레드보드/아두이노와 호환되어 해킹이 훨씬 쉬웠습니다.
워크숍 형태로 진행되어 프레젠테이션 슬라이드와 큰 글씨 자료가 포함되어 있습니다.
STEP 1: 물총 해킹하기
물총의 버튼 부분을 분해하여 아두이노로 제어할 수 있도록 개조하는 과정입니다. 여러 장의 사진을 통해 분해 및 배선 방법을 상세히 보여줍니다.
STEP 2: 아두이노와 인터페이스 연결
PIR 모션 센서 테스트
아두이노 나노와 PIR 센서를 연결하고 시리얼 모니터로 동작을 확인합니다. 센서 보정 시간(10초) 후 모션 감지 시 LED가 켜지고 시리얼에 "Motion detected!"가 출력됩니다.
/* PIR 센서 테스트 코드 */
int calibrationTime = 10;
int outputPin = 2;
int inputPin = 4;
int pirState = LOW;
int val = 0;
void setup() {
pinMode(outputPin, OUTPUT);
pinMode(inputPin, INPUT);
digitalWrite(outputPin, LOW);
Serial.begin(9600);
Serial.print("calibrating sensor ");
for(int i = 0; i < calibrationTime; i++) {
Serial.print(".");
delay(1000);
}
Serial.println(" done");
Serial.println("SENSOR ACTIVE");
delay(50);
}
void loop() {
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(outputPin, HIGH);
if (pirState == LOW) {
Serial.println("Motion detected!");
pirState = HIGH;
}
} else {
digitalWrite(outputPin, LOW);
if (pirState == HIGH) {
Serial.println("Motion ended!");
pirState = LOW;
}
}
}
물총 연결 (트랜지스터 회로)
트랜지스터(2N3904)와 330옴 저항을 사용하여 아두이노 출력 핀으로 물총의 모터/펌프를 제어하는 회로를 구성합니다. 아두이노 핀 2번을 트랜지스터 베이스에 연결하고, 물총의 전원 라인을 트랜지스터 컬렉터-이미터 사이에 놓습니다.
레이저 커터로 나무 인클로저를 제작하여 모든 부품을 깔끔하게 수납했습니다(3D 프린터로 대체 가능). 코드에는 센서 보정을 위한 10초 지연이 포함되어 있습니다.