ESP8266 SW520D 기울기 센서

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

이 튜토리얼은 ESP8266과 SW520D 기울기 센서를 사용하여 기울기를 감지하는 방법을 안내합니다. 다루는 내용:

ESP8266 NodeMCU nodemcu sw520d 기울기 센서

이후에 기울기가 감지될 때 LED나 조명(릴레이 사용)을 켜거나 서보 모터를 회전시키도록 코드를 수정하는 옵션도 있습니다.

필요한 하드웨어

1×ESP8266 NodeMCU 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×SW520D Tilt Sensor Module 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP8266용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) ESP8266 Type-C용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

SW520D 기울기 센서에 대하여

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

SW520D 기울기 센서 핀아웃

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

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

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

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

작동 원리

센서의 동작 방식:

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

배선도

  • USB 포트로 전원 공급 시 ESP8266과 SW520D 기울기 센서 배선도
ESP8266 NodeMCU sw520d 기울기 센서 배선도

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

ESP8266 핀배열ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.

  • Vin으로 전원 공급 시 ESP8266과 SW520D 기울기 센서 배선도
ESP8266 NodeMCU sw520d 기울기 센서 vin 배선도

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

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

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

ESP8266 코드 - 기울기 감지

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-sw520d-tilt-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to the DO pin of the SW520D tilt sensor int prev_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 ESP8266's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP8266's input pin tilt_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && tilt_state == LOW) Serial.println("The tilt has been detected"); else if (prev_state == LOW && tilt_state == HIGH) Serial.println("The tilt has disappeared"); // save the the last state prev_state = tilt_state; }

빠른 시작

Arduino IDE에서 ESP8266을 시작하는 방법:

  • ESP8266이 처음이라면 ESP8266 - 소프트웨어 설치 튜토리얼을 확인하세요.
  • 배선도에 따라 부품을 연결합니다.
  • USB 케이블로 ESP8266 보드를 컴퓨터에 연결합니다.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택합니다.
  • 위 코드를 복사하여 Arduino IDE에서 엽니다.
  • Arduino IDE의 Upload 버튼을 클릭하여 ESP8266에 코드를 업로드합니다.
  • SW520D 센서를 앞뒤로 기울입니다.
  • 시리얼 모니터에서 결과를 확인합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

이제 코드를 수정하여 기울기가 감지될 때 LED나 조명을 켤 수 있습니다. 심지어 서보 모터를 회전시킬 수도 있습니다.

관련 튜토리얼