아두이노 나노 ESP32 SW520D 기울기 센서

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

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

아두이노 나노 ESP32 sw520d 기울기 센서

이후에 코드를 수정하여 기울기 감지 시 LED나 조명(릴레이 사용)을 트리거하거나 서보 모터를 회전시킬 수 있습니다.

필요한 하드웨어

1×아두이노 나노 ESP32 쿠팡 | 아마존
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 아마존
1×(추천) 아두이노 나노용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노용 브레이크아웃 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노 ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

SW520D 기울기 센서 소개

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

SW520D 기울기 센서 핀아웃

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

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

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

  • 하나의 LED 표시등은 전원 상태를 나타냅니다.
  • 다른 LED 표시등은 기울기 상태를 나타내며, 센서가 수직으로 있을 때 켜지고 기울어졌을 때 꺼집니다.

작동 원리

센서의 출력 핀이 다음과 같이 동작합니다:

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

배선 다이어그램

아두이노 나노 ESP32 sw520d 기울기 센서 배선 다이어그램

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

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

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

Arduino Nano ESP32 코드 - 기울기 감지

/* * 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-sw520d-tilt-sensor */ #define SENSOR_PIN D3 // The Arduino Nano ESP32 pin D3 connected to the DO pin of the SW520D tilt sensor int prev_tilt_state = HIGH; // The previous state from the input pin int tilt_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 tilt_state = digitalRead(SENSOR_PIN); if (prev_tilt_state == HIGH && tilt_state == LOW) Serial.println("The tilt has been detected"); else if (prev_tilt_state == LOW && tilt_state == HIGH) Serial.println("The tilt has disappeared"); // save the the last state prev_tilt_state = tilt_state; }

빠른 시작

  • Arduino Nano ESP32가 처음이신가요? 아두이노 나노 ESP32 - 소프트웨어 설치을 참조하세요.
  • 위의 코드를 복사하여 Arduino IDE로 여세요
  • Arduino IDE의 업로드 버튼을 클릭하여 Arduino Nano ESP32에 코드를 업로드하세요
  • SW520D 센서를 앞뒤로 기울이세요
  • 시리얼 모니터에서 결과를 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' 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
Arduino Nano ESP32 on COM15
2

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

문제 해결

SW520D 기울기 센서의 기능에 문제가 발생하면 다음 문제 해결 단계를 고려해 보세요:

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

동영상

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

댓글

관련 튜토리얼