ESP32 SW520D 기울기 센서

SW520D 기울기 센서 모듈은 주변 환경에서의 기울기 또는 방향 변화를 감지할 수 있는 능력을 갖추고 있습니다. 물체가 방해를 받을 때 활성화되는 알람이나 방향 변화에 반응하는 서보 모터와 같은 기울기 반응 프로젝트를 만드는 데 활용할 수 있습니다.

이 튜토리얼에서는 ESP32와 SW520D 기울기 센서를 사용하여 기울기를 감지하는 방법을 배웁니다. 다음 사항을 자세히 살펴봅니다:

ESP32 sw520d 기울기 센서

그 후에는 기울기 감지 시 LED나 라이트(릴레이 사용)를 트리거하거나 서보 모터를 회전시키도록 코드를 수정하는 유연성을 가질 수 있습니다.

필요한 하드웨어

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow 쿠팡 | 아마존
1×(또는) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide 쿠팡 | 아마존
1×(또는) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide 아마존
1×(또는) ESP32 Uno-form board 아마존
1×(또는) ESP32 S3 Uno-form board 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×SW520D Tilt Sensor Module 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) 5V Power Adapter for ESP32 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

SW520D 기울기 센서에 대하여

SW520D 기울기 센서 모듈은 주변 환경에서의 기울기 또는 방향 변화를 감지하는 데 사용할 수 있습니다. 모듈 내부에는 기울기 각도에 따라 두 개의 전기 접점 사이를 굴러다니는 작은 금속 볼이 있습니다. 모듈은 간단한 디지털 신호(ON/OFF)를 출력하여 ESP32와 쉽게 인터페이싱할 수 있습니다.

SW520D 기울기 센서 핀아웃

SW520D 기울기 센서에는 세 개의 핀이 있습니다:

  • VCC 핀: VCC(3.3V~5V)에 연결해야 합니다.
  • GND 핀: GND(0V)에 연결해야 합니다.
  • DO 핀: 출력 핀입니다. 센서가 수직일 때 HIGH, 기울어졌을 때 LOW입니다. 이 핀은 ESP32의 입력 핀에 연결해야 합니다.
sw520d 기울기 센서 핀아웃
image source: diyables.io

SW520D 기울기 센서 모듈에는 두 개의 LED 표시기가 있습니다:

  • 하나의 LED 표시기는 전원 상태를 나타냅니다.
  • 다른 LED 표시기는 기울기 상태를 나타냅니다. 센서가 수직일 때 켜지고 기울어졌을 때 꺼집니다.

작동 원리

센서의 출력 핀이 어떻게 동작하는지 설명합니다:

  • 센서가 수직일 때, 내부의 금속 볼이 접점을 닫아 출력 핀이 HIGH로 설정됩니다.
  • 센서가 기울어졌을 때, 내부의 금속 볼이 접점을 열어 출력 핀이 LOW로 설정됩니다.

배선 다이어그램

  • 브레드보드를 사용하여 ESP32와 SW520D 기울기 센서를 연결하는 방법
ESP32 sw520d 기울기 센서 배선 다이어그램

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

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

ESP32와 sw520d 기울기 센서 연결 방법

SW520D 기울기 센서 프로그래밍 방법

  • pinMode() 함수를 사용하여 ESP32 핀을 디지털 입력 모드로 초기화합니다. 예를 들어 GPIO18 핀의 경우:
pinMode(18, INPUT);
  • digitalRead() 함수를 사용하여 ESP32 핀의 상태를 읽습니다.
int tiltState = digitalRead(18);

ESP32 코드 - 기울기 감지

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-sw520d-tilt-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the DO pin of the SW520D tilt sensor int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP32's input pin currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The tilt has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The tilt has disappeared"); // save the the last state lastState = currentState; }

빠른 시작

  • ESP32가 처음이라면 ESP32 - 소프트웨어 설치 튜토리얼을 참조하세요.
  • 위의 코드를 복사하여 Arduino IDE로 엽니다.
  • Arduino IDE에서 업로드 버튼을 클릭하여 ESP32에 코드를 업로드합니다.
  • SW520D 센서를 앞뒤로 기울입니다.
  • 시리얼 모니터에서 결과를 확인합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
The tilt has been detected The tilt has disappeared The tilt has been detected The tilt has disappeared
Ln 11, Col 1
ESP32 Dev Module on COM15
2

이제 코드를 자유롭게 수정하여 기울기가 감지될 때 LED나 라이트를 트리거할 수 있습니다. 기울기 입력에 따라 서보 모터를 회전시킬 수도 있습니다. 더 자세한 안내와 단계별 지침은 이 튜토리얼 끝에 제공된 튜토리얼을 참조하세요.

문제 해결

SW520D 기울기 센서의 기능에 문제가 있는 경우 다음 문제 해결 단계를 고려하세요:

  • 방향 확인: SW520D는 설치 방향에 민감합니다. 안정적인 감지를 위해 올바른 수직 위치에 설치되어 있는지 확인하세요.
  • 진동 줄이기: 기계적 진동이 기울기 센서의 성능에 영향을 미칠 수 있습니다. 오탐지를 최소화하기 위해 센서를 안정적인 표면에 장착해 보세요.
  • 배선 확인: VCC, GND, DO 핀이 올바르게 연결되어 있는지 확인하세요.
  • 전원 공급 확인: 일관된 수치를 위해 전원 공급이 깨끗하고 안정적인지 확인하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

댓글

관련 튜토리얼