ESP32 - 사운드 센서 - 서보 모터 | ESP32 - Sound Sensor - Servo Motor
이 튜토리얼에서는 소리 센서를 사용하여 서보 모터를 제어하는 방법을 탐구할 것입니다. 구체적으로, 두 가지 흥미로운 응용 프로그램에 대해 자세히 살펴볼 것입니다:
- 소리 전환 스위치: 소리가 감지되었을 때(예: 노크), ESP32는 서보 모터를 0도에서 90도로, 90도에서는 0도로 회전시킵니다.
- 소리 활성화 릴레이: 소리를 감지하면, ESP32는 서보 모터를 특정 시간 동안 90도로 회전시킨 후 다시 0도로 회전시킵니다.
준비물
1 | × | ESP-WROOM-32 Dev Module | 쿠팡 | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Sound Sensor | 쿠팡 | Amazon | |
1 | × | Servo Motor | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for ESP32 | 쿠팡 | Amazon |
서보 모터 및 사운드 센서에 관하여
서보 모터와 사운드 센서(핀아웃, 작동 방식, 프로그래밍 방법 등)에 대해 잘 모르신다면, 다음 튜토리얼에서 배워보세요:
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.
ESP32 코드 - 사운드 스위치로 서보 모터의 각도 전환
아래 코드는 소리가 감지될 때마다 서보 모터의 각도를 0도와 90도 사이에서 전환합니다.
사용 방법
- ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 설정 방법을 참조하세요.
- 위 이미지와 같이 배선을 하세요.
- Micro USB 케이블을 이용해 ESP32 보드를 PC에 연결하세요.
- PC에서 Arduino IDE를 엽니다.
- 올바른 ESP32 보드(예: ESP32 Dev Module)와 COM 포트를 선택하세요.
- Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
- 검색 상자에 ServoESP32를 입력한 후, Jaroslav Paral이 만든 서보 라이브러리를 찾으세요. 1.1.1 버전과 1.1.0 버전 모두 버그가 있음을 유의하세요. 다른 버전을 선택해 주세요.
- ESP32용 서보 모터 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
- ESP32를 USB 케이블을 통해 PC에 연결하세요
- 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요
- 위의 코드를 복사하고 아두이노 IDE로 열세요
- 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 ESP32에 업로드하세요
- 소리 센서 앞에서 손뼉을 치세요
- 서보 모터의 변화를 확인하세요
ESP32 코드 - 일정 시간 동안 소리에 반응하는 서보 모터
아래 코드는 소리가 감지되었을 때 서보 모터를 90도로 일정 시간 동안 회전시킵니다. 일정 시간이 지난 후, 서보 모터는 다시 0도로 회전합니다.
위에서 언급한 코드는 단순화를 위해 delay() 함수를 사용한다는 점을 참고하시기 바랍니다. 그러나 추가 코드를 포함할 경우, 딜레이 시간 동안 차단될 수 있습니다. 이를 해결하기 위해, 다음 코드는 차단을 방지하기 위해 delay 대신 millis() 함수를 사용하는 비차단 방식을 구현합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.