ESP32 부저

이 튜토리얼에서는 ESP32를 프로그래밍하여 12V 액티브 버저를 제어하여 큰 소리를 내는 방법을 배울 것입니다. 5V 액티브/패시브 버저를 제어하고 싶다면, 이 ESP32 - 파이에조 부저을 확인해주세요.

12V 부저를 구동하는 방법은 두 가지입니다. 릴레이는 간단하지만 스위칭할 때마다 딸깍 소리가 납니다. MOSFET 모듈은 같은 일을 소리 없이 하고, 매우 빠르게 스위칭할 수 있습니다. 그래서 경보음에 좋습니다. 이 튜토리얼에서는 두 가지 방법을 모두 사용해 봅니다.

준비물

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×릴레이 아마존
1×(또는) MOSFET Module (AOD4184, LR7843 or FR120N) 아마존
1×12V Active Buzzer 쿠팡 | 아마존
1×12V 전원 어댑터 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

12V 액티브 부저에 대하여

12V 액티브 부저는 큰 소리를 낼 수 있으며, 이는 경보 시스템에 적합합니다.

핀배열

ESP32 12v active buzzer 사용법 핀아웃

12V 액티브 부저는 보통 두 개의 핀을 가지고 있습니다:

  • 부(-) 핀 (검정색): DC 전원 공급 장치의 GND에 연결해야 합니다.
  • 양(+) 핀 (빨간색): DC 전원 공급 장치의 12V에 연결해야 합니다.

12V 액티브 부저 제어 방법

만약 12V 활성 부저가 12V 전원 공급 장치로 작동된다면, 그것은 소리를 낼 것입니다. 12V 활성 부저를 제어하려면, ESP32와 12V 활성 부저 사이에 릴레이를 사용해야 합니다. ESP32는 릴레이를 통해 12V 활성 부저를 제어할 수 있습니다. 만약 릴레이(핀 배치, 작동 원리, 프로그래밍 방법 등)에 대해 모른다면, ESP32 - 릴레이에서 릴레이에 대해 배워보세요.

MOSFET 모듈은 두 번째 선택입니다. 모듈의 핀, 내부 구조, 코드는 ESP32 - MOSFET 모듈 튜토리얼에서 설명합니다.

12V 부저용 릴레이와 MOSFET 모듈 비교

릴레이 MOSFET 모듈
할 수 있는 일 부저를 켜거나 끔 부저를 켜거나 끔
스위칭할 때 소음 매번 딸깍 소리가 나고 삐 소리와 섞임 소리 없음, 삐 소리만 들림
스위칭 속도 느림, 몇 밀리초 매우 빠름
빠른 삐 소리 릴레이가 크게 딸깍거리고 빨리 마모됨 문제없음
수명 여러 번 스위칭하면 접점이 마모됨 움직이는 부분이 없어 오래 감
전원 종류 AC 또는 DC DC만 가능
부저 전원 공급 장치 릴레이 정격에 맞는 모든 전압 약 6V 이상
ESP32와의 절연 예, 코일과 접점 사이 예, PC817 포토커플러로 절연
적합한 용도 몇 초 동안 켜는 것 같은 느린 ON/OFF 짧은 삐 소리가 많은 경보 패턴

부저가 천천히 울린다면 릴레이로 충분합니다. 짧은 삐 소리가 많은 경보음을 원한다면 MOSFET 모듈이 더 좋은 선택입니다.

선연결

ESP32 12v active buzzer 연결 배선도

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

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

ESP32 코드

아래 코드는 12V 액티브 버저를 1초 동안 켜고 2초 동안 끄는 작업을 반복합니다.

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-buzzer */ #define RELAY_PIN 16 // ESP32 핀 GPIO16이 릴레이에 연결되어 12V 부저를 제어합니다. // 설정 함수는 보드를 리셋하거나 전원을 켤 때 한 번 실행됩니다. void setup() { // 디지털 핀을 출력으로 초기화합니다. pinMode(RELAY_PIN, OUTPUT); } void loop() { digitalWrite(RELAY_PIN, HIGH); delay(1000); digitalWrite(RELAY_PIN, LOW); delay(2000); }

사용 방법

  • ESP32를 처음 사용하는 경우, ESP32 - 소프트웨어 설치을 참조하세요.
  • ESP32를 PC에 USB 케이블로 연결합니다.
  • Arduino IDE를 열고, 올바른 보드와 포트를 선택합니다.
  • 위의 코드를 복사하고 Arduino IDE로 엽니다.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32에 코드를 업로드합니다.
  • 12V 활성 부저의 상태를 확인하세요.

코드 설명

위 아두이노 코드의 주석 라인에서 설명을 찾을 수 있습니다.

MOSFET 모듈로 경보음 만드는 방법

이제 릴레이를 MOSFET 모듈로 바꿔 봅시다. 부저는 똑같이 작동하지만 딸깍 소리가 없어서, 실제 경보기처럼 빠르게 울릴 수 있습니다.

배선도

ESP32 12v 액티브 부저 mosfet 모듈 배선도

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

시작 연결 대상
ESP32 GPIO18 MOSFET 모듈 PWM
ESP32 GND MOSFET 모듈 GND
12V 어댑터 + MOSFET 모듈 +
부저 빨간색 선(+) MOSFET 모듈 + (어댑터 +와 같은 단자)
부저 검정색 선(−) MOSFET 모듈 LOAD
12V 어댑터 − MOSFET 모듈 −

ESP32 핀은 3.3V만 출력하지만 그것으로 충분합니다. 모듈에 있는 포토커플러의 LED는 몇 밀리암페어만 필요합니다.

대부분의 12V 액티브 부저는 안에 작은 회로가 있어서 플라이백 다이오드가 필요 없습니다. 부저가 자기식(안에 코일이 있음)이라면 부저 양단에 1N4007 또는 1N5819 다이오드를 연결하세요. 줄무늬가 있는 쪽(캐소드)은 부저 +에, 다른 쪽은 부저 −에 연결합니다.

ESP32 코드

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-buzzer */ const int MOSFET_PIN = 18; // ESP32 GPIO18 connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); digitalWrite(MOSFET_PIN, LOW); // start with the buzzer OFF } void loop() { // fast alarm beeps: 10 short beeps Serial.println("Alarm: fast beeps"); for (int i = 0; i < 10; i++) { digitalWrite(MOSFET_PIN, HIGH); // turn on buzzer delay(100); digitalWrite(MOSFET_PIN, LOW); // turn off buzzer delay(100); } // one long beep Serial.println("Alarm: long beep"); digitalWrite(MOSFET_PIN, HIGH); delay(1000); digitalWrite(MOSFET_PIN, LOW); // quiet time Serial.println("Quiet"); delay(3000); }

부저의 동작: 빠르게 10번 울리고, 한 번 길게 울린 다음, 3초 동안 조용합니다. 그리고 다시 시작합니다.

액티브 부저는 스스로 소리를 냅니다. digitalWrite()로 완전히 켜거나 완전히 끄기만 하세요. 볼륨을 바꾸려고 analogWrite()(PWM)를 사용하지 마세요. 소리가 약해지거나 이상해집니다.

빠른 단계

  • 위 릴레이 부분의 빠른 단계와 같이 설정합니다.
  • 다이어그램에 나온 대로 부저와 MOSFET 모듈을 배선합니다. 12V 어댑터는 뽑아 둡니다.
  • 위 코드를 ESP32에 업로드합니다.
  • 12V 어댑터를 꽂습니다.
  • 시리얼 모니터를 9600 보드레이트로 엽니다.
  • 부저 소리를 들어 보세요. 릴레이 딸깍 소리 없이 빠른 삐 소리가 들립니다.
∞
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
Alarm: fast beeps Alarm: long beep Quiet Alarm: fast beeps Alarm: long beep Quiet
Ln 11, Col 1
ESP32 Dev Module on COM15
2

※ 주의:

MOSFET 모듈은 DC에서만 작동하며, 부저 전원 공급 장치는 약 6V 이상이어야 합니다. 5V 부저는 ESP32 - 파이에조 부저을 참고하세요. AC 부저나 사이렌에는 릴레이를 사용하세요.

동영상

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