아두이노 우노 R4 모션 센서 서보 모터
우리는 배우게 될 것입니다:
- 움직임이 있으면 서보 모터를 90도로 회전시킵니다.
- 움직임이 없으면 서보 모터를 다시 0도로 회전시킵니다.
준비물
1 | × | 아두이노 우노 R4 와이파이 | 쿠팡 | 아마존 | |
1 | × | (또는) 아두이노 우노 R4 미니마 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | HC-SR501 모션 센서 | 쿠팡 | 아마존 | |
1 | × | 서보 모터 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 우노 R4용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 우노 R4용 케이스 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 우노 R4용 전원 분배기 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서보 모터 및 모션 센서에 대하여
서보 모터와 모션 센서(핀 연결, 기능 및 프로그래밍 방법)에 익숙하지 않다면 아래의 튜토리얼을 참조하세요.
선연결

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.
초기 설정
Time Delay Adjuster | Screw it in anti-clockwise direction fully. |
Detection Range Adjuster | Screw it in clockwise direction fully. |
Repeat Trigger Selector | Put jumper as shown on the image. |

Arduino UNO R4 코드 - 모션 센서로 서보 모터 제어
/*
* 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다
* 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-motion-sensor-servo-motor
*/
#include <Servo.h>
#define MOTION_SENSOR_PIN 2 // The Arduino Uno R4 pin connected to motion sensor's pin
#define SERVO_PIN 9 // The Arduino Uno R4 pin connected to servo motor's pin
Servo servo; // create servo object to control a servo
// variables will change:
int angle = 0; // the current angle of servo motor
int prev_motion_state; // the previous state of motion sensor
int motion_state; // the current state of motion sensor
void setup() {
Serial.begin(9600); // initialize serial
pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode
servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object
servo.write(angle);
motion_state = digitalRead(MOTION_SENSOR_PIN);
}
void loop() {
prev_motion_state = motion_state; // save the last state
motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state
if (motion_state == LOW && prev_motion_state == HIGH) { // pin state change: LOW -> HIGH
Serial.println("Motion detected!");
servo.write(90);
}
else
if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW
Serial.println("Motion stopped!");
servo.write(0);
}
}
자세한 사용 방법
다음 지침을 단계별로 따르세요:
- Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우, 아두이노 우노 R4 - 소프트웨어 설치을 참조하세요.
- 제공된 다이어그램에 따라 부품을 연결하세요.
- USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Arduino IDE를 실행하세요.
- 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
- USB 케이블을 사용하여 Arduino UNO R4를 컴퓨터에 연결하세요.
- Arduino IDE를 시작하고 올바른 보드와 포트를 선택하세요.
- 제공된 코드를 Arduino IDE에 붙여넣으세요.
- Arduino IDE에서 Upload 버튼을 눌러 코드를 Arduino UNO R4에 전송하세요.
- 센서 앞에서 손을 흔들어 보세요.
- 서보 모터가 반응하는 것을 지켜보세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.