ESP32 C3 Super Mini 모션 센서

ESP32 C3 Super Mini와 HC-SR501 모션 센서로 움직임을 감지하는 방법을 알아봅시다. 이 초보자 친화적인 튜토리얼은 ESP32 C3 Super Mini로 모션 감지 프로젝트를 만드는 데 필요한 모든 것을 다룹니다.

이 튜토리얼에서 배우게 될 내용:

ESP32 C3 Super Mini - 모션 센서

필요한 하드웨어

1×ESP32 C3 Super Mini 아마존
1×USB 타입-C 케이블 쿠팡 | 아마존
1×HC-SR501 모션 센서 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼 와이어 쿠팡 | 아마존
1×(선택 사항) DC 파워 잭 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

HC-SR501 모션 센서 정보

hc-sr501 모션 센서

HC-SR501은 적외선 복사량의 변화를 감지하여 모션을 감지하는 PIR(수동 적외선) 센서입니다.

주요 특성:

  • 인간과 동물의 움직임을 자동으로 감지
  • 5V 전력 공급과 함께 작동
  • 디지털 신호 출력(HIGH/LOW)
  • 조정 가능한 민감도 및 시간 지연
  • 넓은 감지 범위(최대 7미터)
  • 저렴하고 초보자 친화적

일반적인 응용 프로그램:

  • 자동 조명 제어 시스템
  • 보안 및 침입자 감지
  • 자동 도어 오프너
  • 에너지 절약 기기
  • 스마트 홈 자동화 프로젝트

HC-SR501 모션 센서 핀아웃

HC-SR501은 쉬운 연결을 위한 간단한 3핀 인터페이스를 가지고 있습니다.

hc-sr501 모션 센서 핀아웃
  • VCC: 5V 전력 공급에 연결
  • GND: 접지(0V)에 연결
  • OUTPUT: ESP32 C3 Super Mini 디지털 입력 핀에 연결 - 모션 감지 없을 때 LOW, 모션 감지 시 HIGH 출력

추가 구성 요소:

  • 감지 범위 조정기: 감지 거리를 조정하는 포텐셜미터
  • 시간 지연 조정기: 감지 후 출력이 HIGH로 유지되는 시간을 설정하는 포텐셜미터
  • 반복 트리거 선택기: 단일 또는 반복 가능한 트리거 모드 중 선택하는 점퍼

HC-SR501 모션 센서 작동 방식

HC-SR501은 따뜻한 물체에서 방출되는 적외선 복사량의 변화를 감지하여 모션을 감지합니다.

감지 요구사항:

  • 물체는 적외선 복사를 방출해야 함(인간 및 동물과 같음)
  • 물체는 움직이거나 위치를 변경해야 함

감지 시나리오:

  • 감지됨: 센서 범위 내에서 걷는 사람
  • 감지됨: 근처에서 움직이는 동물
  • 감지되지 않음: 완전히 움직이지 않는 사람
  • 감지되지 않음: 움직이는 로봇 또는 차량(적외선 방출 없음)

중요 사항:

  • 센서는 직접 존재가 아니라 모션을 감지합니다
  • 고정된 인간은 존재해도 감지되지 않을 수 있습니다
  • 능동적인 움직임을 감지하는 데 최적

위의 비디오는 HC-SR501 모션 센서가 실시간으로 움직임에 어떻게 반응하는지 보여줍니다.

인간의 존재 감지

HC-SR501은 직접 감지보다 모션 감지를 기반으로 인간의 존재를 추론합니다.

감지 로직:

  • 모션 감지됨 = 인간이 존재할 가능성
  • 모션 감지되지 않음 = 인간이 존재하지 않을 가능성

실제 제한:

  • 사람이 존재하지만 움직이지 않으면 센서가 감지하지 못함
  • 이는 일부 응용 프로그램에서 거짓 음수를 초래할 수 있음

여전히 인기 있는 이유:

  • 다른 센서에 비해 매우 저렴
  • 대부분의 실제 응용 프로그램에 잘 작동
  • 자동 조명, 알람 및 에너지 절약 프로젝트에 충분함

ESP32 C3 Super Mini와 HC-SR501 모션 센서

모션 센서를 ESP32 C3 Super Mini에 연결하면 스마트 모션 반응 프로젝트를 만들 수 있습니다.

작동 방식:

  • ESP32 C3 Super Mini 핀은 디지털 입력(HIGH 또는 LOW)을 읽음
  • 모션 센서 OUTPUT 핀은 ESP32 C3 Super Mini에 신호를 보냄
  • ESP32 C3 Super Mini 코드는 신호를 해석하고 작업을 트리거
  • 모션을 기반으로 조명, 알람 또는 모든 기기를 제어할 수 있음

배선도

아래 다이어그램을 따라 HC-SR501 모션 센서를 ESP32 C3 Super Mini에 연결하세요.

  • 참고: HC-SR501은 안정적인 작동을 위해 5V 전력 공급 필요
ESP32 C3 Super Mini 모션 센서 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

HC-SR501 핀 ESP32 C3 Super Mini 핀
VCC 5V
GND GND
OUTPUT D5

초기 센서 설정

HC-SR501을 사용하기 전에 최적의 성능을 위해 이러한 설정을 구성하세요.

ESP32 C3 Super Mini 모션 센서 초기 설정
설정 구성
감지 범위 조정기 완전히 시계 방향으로 나사(테스트를 위한 최소 범위)
시간 지연 조정기 완전히 반시계 방향으로 나사(최소 지연)
반복 트리거 선택기 위의 이미지에 표시된 대로 점퍼 위치

모션 센서 프로그래밍 방법

ESP32 C3 Super Mini로 모션 센서 데이터를 읽으려면 다음 단계를 따르세요.

단계 1: ESP32 C3 Super Mini 핀을 입력으로 구성

pinMode(PIN_TO_SENSOR, INPUT);

단계 2: 센서 출력 상태 읽기

motion_state = digitalRead(PIN_TO_SENSOR);

단계 3: 모션 시작 감지(LOW ~ HIGH)

prev_motion_state = motion_state; // 이전 상태 저장 motion_state = digitalRead(PIN_TO_SENSOR); // 새로운 상태 읽기 if (prev_motion_state == LOW && motion_state == HIGH) { // 핀 상태 변경: LOW -> HIGH Serial.println("Motion detected!"); }

단계 4: 모션 중지 감지(HIGH ~ LOW)

prev_motion_state = motion_state; // 이전 상태 저장 motion_state = digitalRead(PIN_TO_SENSOR); // 새로운 상태 읽기 if (prev_motion_state == HIGH && motion_state == LOW) { // 핀 상태 변경: HIGH -> LOW Serial.println("Motion stopped!"); }

ESP32 C3 Super Mini 코드

이 코드는 HC-SR501 모션 센서를 모니터링하고 모션 이벤트를 보고합니다.

코드가 하는 역할:

  • 센서 데이터를 읽기 위한 디지털 입력으로 핀 D5 구성
  • 모션 센서 상태를 지속적으로 모니터링
  • 모션 시작(LOW ~ HIGH 전환) 감지
  • 모션 중지(HIGH ~ LOW 전환) 감지
  • Serial Monitor에 모션 이벤트 출력
  • 사용자 정의 작업(조명, 알람 등)을 추가할 준비가 됨
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-motion-sensor */ #define PIN_TO_SENSOR D5 // 센서의 OUTPUT 핀에 연결된 ESP32 C3 Super Mini 핀 int motion_state = LOW; // 핀의 현재 상태 int prev_motion_state = LOW; // 핀의 이전 상태 void setup() { Serial.begin(115200); // Serial Monitor와 통신하기 위해 Serial 초기화 pinMode(PIN_TO_SENSOR, INPUT); // 센서의 OUTPUT 핀에서 값을 읽기 위해 ESP32 C3 Super Mini 핀을 입력 모드로 설정 } void loop() { prev_motion_state = motion_state; // 이전 상태 저장 motion_state = digitalRead(PIN_TO_SENSOR); // 새로운 상태 읽기 if (prev_motion_state == LOW && motion_state == HIGH) { // 핀 상태 변경: LOW -> HIGH Serial.println("Motion detected!"); // TODO: 여기에서 알람 켜기, 조명 또는 기기 활성화 ... } else if (prev_motion_state == HIGH && motion_state == LOW) { // 핀 상태 변경: HIGH -> LOW Serial.println("Motion stopped!"); // TODO: 여기에서 알람 끄기, 조명 또는 기기 비활성화 ... } }

빠른 단계

  • ESP32 C3 Mini를 처음 사용하시나요? 개발 환경을 설정하려면 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
  • 코드 업로드: 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요
  • 보드 선택: Tools > Board 메뉴에서 ESP32 C3 Super Mini를 선택하세요
  • ESP32 연결: USB를 통해 ESP32 C3 Super Mini를 컴퓨터에 연결하세요
  • 업로드: Arduino IDE의 Upload 버튼을 클릭하여 코드를 전송하세요
  • Serial Monitor 열기: Serial Monitor 아이콘(오른쪽 상단)을 클릭하거나 Ctrl+Shift+M을 누르세요
  • 보드 레이트 설정: Serial Monitor 드롭다운에서 115200 보드를 선택하세요
  • 모션 감지 테스트: HC-SR501 센서 앞에서 손을 흔들어 보세요
  • 결과 관찰: Serial Monitor에 모션 이벤트가 표시되는 것을 확인하세요
  • 전문가 팁: 최소 민감도 및 지연 설정으로 시작한 다음 포텐셜미터를 조정하여 이상적인 감지 범위 및 타이밍을 찾으세요.

Serial Monitor 출력

센서 앞에서 움직일 때 다음과 같은 출력이 표시됩니다:

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
Motion detected! Motion stopped! Motion detected! Motion stopped! Motion detected! Motion stopped!
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

프로젝트 아이디어

ESP32 C3 Super Mini 및 HC-SR501 모션 센서로 구축할 수 있는 몇 가지 실질적인 프로젝트입니다.

  • 자동 방 조명: 모션 감지 시 조명 켜기, 모션 없을 때 끄기
  • 보안 경고 시스템: 침입자 감지 시 알림 전송 또는 알람 트리거
  • 에너지 절약: 아무도 없을 때 자동으로 디스플레이 또는 기기 전원 끄기
  • 스마트 애완동물 급이기: 애완동물이 접근할 때 감지하고 음식 분배
  • 방문자 카운터: 방이나 건물에 들어오는 사람의 수 기록
  • 할로윈 소품: 누군가가 접근할 때 무서운 소리나 움직이는 장식 트리거

비디오 튜토리얼

아래 비디오를 시청하여 이 프로젝트의 시각적 안내를 받으세요.

직접 도전하기

이러한 도전으로 ESP32 C3 Super Mini 모션 센서 기술을 다음 단계로 끌어올리세요.

  • 쉬움: 모션이 감지되면 켜지고 모션이 멈추면 꺼지는 LED 추가
  • 쉬움: 감지된 모션 이벤트의 총 수를 세고 표시
  • 중간: 모션이 감지될 때 3초간 울리는 부저 추가
  • 중간: 센서를 사용하여 책상 램프를 켜고/끄는 릴레이 제어
  • 고급: 모션 센서를 OLED 디스플레이와 결합하여 마지막 감지 시간 및 날짜 표시
  • 고급: 밤에 모션이 감지될 때 이메일 경고를 보내는 스마트 보안 시스템 생성

언어 참고자료

주석

관련 튜토리얼