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

SW520D 기울기 센서 모듈(볼 스위치 또는 각도 센서라고도 함)은 기울기 또는 방향 변화를 감지할 수 있습니다. 객체가 이동할 때 트리거되는 경보나 방향에 반응하는 서보 모터와 같이 기울기 반응형 프로젝트를 만드는 데 사용할 수 있습니다.

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

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

이후에는 기울기가 감지될 때 LED나 조명(릴레이를 통해)을 활성화하거나 서보 모터를 회전시키도록 코드를 수정할 수 있습니다.

필요한 하드웨어

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

SW520D 기울기 센서에 대하여

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

SW520D 기울기 센서 핀아웃

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

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

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

  • 전원용 LED 표시등
  • 기울기 상태용 LED 표시등: 센서가 직립 상태일 때 켜지고, 기울어질 때 꺼집니다.

작동 원리

  • 센서가 직립 상태일 때, 내부 금속 볼이 접점을 닫아 출력 핀이 HIGH가 됩니다.
  • 센서가 기울어질 때, 내부 금속 볼이 접점을 열어 출력 핀이 LOW가 됩니다.

배선도

아두이노 나노 sw520d 기울기 센서 배선도

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

Arduino Nano와 기타 부품에 전원을 공급하는 가장 효과적인 방법은 다음 링크를 참조하세요: 아두이노 나노 전원 공급 방법.

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

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

Arduino Nano 코드 - 기울기 감지

/* * 이 아두이노 나노 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-sw520d-tilt-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin D2 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 Arduino Nano's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the Arduino Nano'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에서 엽니다
  • Arduino IDE의 Upload 버튼을 클릭하여 Arduino Nano에 코드를 업로드합니다
  • SW520D 센서를 앞뒤로 기울여봅니다
  • 시리얼 모니터에서 결과를 확인합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' 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 on COM15
2

이제 기울기가 감지될 때 LED나 조명을 활성화하거나 서보 모터를 회전시키도록 코드를 사용자 지정할 수 있습니다. 이 튜토리얼 끝에 제공된 튜토리얼에서 더 많은 정보와 단계별 지침을 찾을 수 있습니다.

문제 해결

SW520D 기울기 센서가 제대로 작동하지 않는 경우 다음 단계를 시도해 보세요:

  • 방향 확인: SW520D는 장착 방향에 민감합니다. 신뢰할 수 있는 감지를 위해 올바른 직립 위치에 설치되어 있는지 확인합니다.
  • 진동 줄이기: 기울기 센서는 기계적 진동도 감지할 수 있습니다. 단단한 표면에 장착하면 오탐을 최소화하는 데 도움이 됩니다.
  • 배선 확인: VCC, GND, DO 핀이 올바르게 연결되어 있는지 확인합니다.
  • 전원 공급 확인: 일관된 판독값을 위해 전원 공급이 안정적인지 확인합니다.

동영상

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

함수 레퍼런스

댓글

관련 튜토리얼