아두이노 초음파 센서 릴레이

우리는 어떻게 하는지 배울 것입니다:

릴레이를 전구, LED 스트립, 모터 또는 구동기에 연결함으로써 우리는 초음파 센서를 사용하여 전구, LED 스트립, 모터 또는 구동기를 제어할 수 있습니다...

준비물

1×아두이노 우노 R3 쿠팡 | 아마존
1×USB 2.0 타입 A-to-B 케이블 (USB-A PC용) 쿠팡 | 아마존
1×USB 2.0 타입 C-to-B 케이블 (USB-C PC용) 아마존
1×초음파 센서 쿠팡 | 아마존
1×릴레이 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) 솔레노이드 잠금장치 쿠팡 | 아마존
1×(옵션) 12V 전원 어댑터 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×(추천) 아두이노 우노용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) Sensors/Servo Expansion Shield for Arduino Uno 쿠팡 | 아마존
1×(추천) 아두이노 우노용 브레드보드 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노용 케이스 쿠팡 | 아마존
1×(추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

릴레이 및 초음파 센서에 관하여

릴레이와 초음파 센서(핀배열, 작동 방식, 프로그래밍 방법 등)에 대해 잘 모르신다면, 다음 튜토리얼에서 배워보세요:

선연결

아두이노 초음파 센서 릴레이 연결 배선도

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

점퍼 와이어를 헤더에 꽂는 것은 빠르지만, 전선이 빠질 수 있습니다. Proto Screw Terminal Block Shield 또는 Screw Shield V2로 이 문제를 해결할 수 있습니다. Arduino에 꽂고 전선을 나사로 고정하세요. Screw Shield 버전은 아래 다이어그램을 참고하세요.

아두이노 초음파 센서 릴레이 연결 배선도 (screw shield v2)

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

아두이노 코드

/* * 이 아두이노 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-ultrasonic-sensor-relay */ // 상수는 변경되지 않습니다 const int TRIG_PIN = 7; // 울트라소닉 센서의 TRIG 핀에 연결된 아두이노 핀 const int ECHO_PIN = 6; // 울트라소닉 센서의 ECHO 핀에 연결된 아두이노 핀 const int RELAY_PIN = A5; // 릴레이의 핀에 연결된 아두이노 핀 const int DISTANCE_THRESHOLD = 50; // 센티미터 // 변수는 변경될 것입니다: float duration_us, distance_cm; void setup() { Serial.begin (9600); // 직렬 포트 초기화 pinMode(TRIG_PIN, OUTPUT); // 아두이노 핀을 출력 모드로 설정 pinMode(ECHO_PIN, INPUT); // 아두이노 핀을 입력 모드로 설정 pinMode(RELAY_PIN, OUTPUT); // 아두이노 핀을 출력 모드로 설정 } void loop() { // TRIG 핀에 10-마이크로초 펄스 생성 digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // ECHO 핀에서 펄스의 지속 시간 측정 duration_us = pulseIn(ECHO_PIN, HIGH); // 거리 계산 distance_cm = 0.017 * duration_us; if(distance_cm < DISTANCE_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // 릴레이 켜기 else digitalWrite(RELAY_PIN, LOW); // 릴레이 끄기 // 시리얼 모니터에 값 출력 Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

사용 방법

  • 아두이노를 USB 케이블을 통해 PC에 연결하세요.
  • 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
  • 위의 코드를 복사하고 아두이노 IDE로 열어주세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 아두이노에 업로드하세요.
아두이노 코딩
  • 센서 앞으로 손을 움직여 주세요
  • 릴레이 상태의 변화를 확인하세요

코드 설명

소스 코드의 주석 라인에 있는 줄별 설명을 읽어보세요!

※ 주의:

위의 코드는 학습 목적을 위한 것입니다. 초음파 센서는 소음에 매우 민감합니다. 실제로 초음파 센서를 사용하고자 한다면, 초음파 센서를 위한 소음 필터링을 해야 합니다. 초음파 센서의 거리 측정에서 소음을 필터링하는 방법을 참조하세요.

릴레이와 MOSFET 모듈 비교

장치를 스위칭하는 방법이 릴레이만 있는 것은 아닙니다. 12V 솔레노이드 잠금장치, 12V 펌프, 12V 팬처럼 장치가 DC 전원으로 작동한다면 MOSFET 모듈로도 같은 일을 할 수 있습니다.

릴레이 MOSFET 모듈
할 수 있는 일 장치를 켜거나 끔 장치를 켜거나 끄고, 출력을 설정함(PWM)
스위칭할 때 소음 매번 딸깍 소리가 남 소리 없음
스위칭 속도 느림, 몇 밀리초 매우 빠름
수명 여러 번 스위칭하면 접점이 마모됨 움직이는 부분이 없어 오래 감
전원 종류 AC 또는 DC DC만 가능
장치 전원 공급 장치 릴레이 정격에 맞는 모든 전압 약 6V 이상
Arduino와의 절연 예, 코일과 접점 사이 예, PC817 포토커플러로 절연
적합한 용도 AC 장치 또는 단순한 ON/OFF DC 장치, 밝기 조절과 속도 제어

릴레이와 MOSFET 모듈은 모두 Arduino 핀이 HIGH일 때 켜집니다. 그래서 단순한 ON/OFF라면 위 코드를 그대로 사용할 수 있습니다. 배선만 바뀝니다. AC 전원 장치에는 항상 릴레이를 사용하세요.

MOSFET 모듈의 핀 배치, 배선, PWM 코드, 안전 팁은 아두이노 - MOSFET 모듈 튜토리얼을 참고하세요.

동영상

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