아두이노 우노 Q 사운드 센서
사운드 센서는 환경의 소리를 감지하고 디지털 신호를 출력합니다. 온보드 포텐셔미터가 포함되어 있어 감도를 조정할 수 있습니다. 박수, 두드림 또는 큰 소음이 감지될 때 작업을 트리거하는 데 사용하세요. Bridge 및 Telegram을 사용하면 Arduino UNO Q가 소리를 들었을 때 즉시 알림을 보낼 수 있습니다.
이 튜토리얼에서 배울 내용:
- 사운드 센서란 무엇이고 어떻게 작동하는지
- 사운드 센서를 Arduino UNO Q MCU에 배선하는 방법
- 디지털 출력을 읽어 소리를 감지하는 방법
- Bridge를 사용하여 사운드 상태 및 이벤트를 Linux 측(Python)에 노출하는 방법
- Arduino UNO Q에서 소리가 감지되었을 때 Telegram 알림을 받는 방법
- Arduino UNO Q와 함께 사운드 센서로 OpenClaw를 사용하는 방법

필요한 하드웨어
| 1 | × | Arduino UNO Q | 아마존 | |
| 1 | × | USB Cable for Arduino Uno Q | 아마존 | |
| 1 | × | 사운드 센서 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
사운드 센서 정보
사운드 센서 모듈에는 공기의 진동(음파)을 감지하는 작은 마이크로폰이 있습니다. 모듈은 이를 디지털 신호로 변환합니다:
- HIGH: 조용함 — 임계값 이상의 소리 감지 안 함
- LOW: 소리 감지됨
모듈에는 다음이 포함됩니다:
- VCC 핀: 3.3V ~ 5V 전원 공급
- GND 핀: 그라운드
- OUT 핀: 디지털 출력 — HIGH = 조용함, LOW = 소리 감지됨
- 온보드 포텐셔미터: 감지 감도 조정
- PWR LED: 전원 표시기
- Sound LED: 소리가 감지되면 켜짐

감도 조정 방법
모듈의 포텐셔미터를 회전하세요:
- 시계방향: 더 민감 (더 작은 소리 감지)
- 반시계방향: 덜 민감 (큰 소리만 트리거)
Sound LED가 박수나 두드림에 확실하게 반응하지만 주변 소음에는 꺼져 있을 때까지 조정하세요.
배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| 사운드 센서 핀 | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 5V |
| OUT | D8 |
사운드 센서 프로그래밍 방법
- 센서 핀을 디지털 입력으로 구성하세요:
- 디지털 출력을 읽으세요:
- 이전 상태와 비교하여 소리 이벤트를 감지하세요:
Arduino UNO Q 코드
Arduino UNO Q에는 함께 작동하는 두 개의 프로세서가 있습니다:
- STM32 MCU는 사운드 센서의 디지털 출력을 읽고 소리 이벤트를 감지합니다
- Qualcomm MPU는 Wi-Fi가 포함된 Debian Linux를 실행합니다 — 이 섹션에서는 MCU만 프로그래밍됩니다. 이후 섹션에서는 두 프로세서가 Bridge를 통해 함께 작동하는 방법을 보여줍니다.
빠른 단계
Arduino UNO Q를 처음 사용하시나요? 진행하기 전에 아두이노 우노 Q 시작하기 튜토리얼을 따르세요.
- 연결: 배선도에 표시된 대로 사운드 센서를 Arduino UNO Q MCU에 배선하세요.
- Arduino App Lab 열기: Arduino App Lab을 실행하고 Arduino UNO Q를 감지할 때까지 기다리세요.
- 새 앱 만들기: Create New App 버튼을 클릭하세요.

- 앱에 이름을 지정하세요. 예: SoundSensor
- Create를 클릭하여 확인합니다.

- 스케치 붙여넣기: 위의 MCU 코드를 복사하여 sketch/sketch.ino에 붙여넣으세요.
- 업로드: Arduino App Lab에서 Run 버튼을 클릭하세요.

- 센서 근처에서 박수를 치거나 테이블을 두드린 후 Serial Monitor 출력을 관찰하세요.
- 감지가 안정적이지 않으면 모듈의 포텐셔미터를 조정하세요.
App Lab 콘솔 출력
Bridge: Linux + MCU
이 섹션에서는 Linux 측이 Bridge를 통해 사운드 상태를 읽고 사운드 이벤트를 수신할 수 있도록 Arduino UNO Q의 두 프로세서를 프로그래밍하는 방법을 보여줍니다:
- 사운드 센서는 MCU에 연결되어 있습니다 — MCU는 디지털 출력을 지속적으로 모니터링하고 현재 상태를 캐시합니다
- MPU는 센서 핀을 직접 읽을 수 없습니다 — 현재 상태를 얻거나 새로운 소리 이벤트를 확인하기 위해 Bridge 함수를 호출합니다
- MPU는 Wi-Fi를 가지고 있습니다 — 전체 Debian Linux를 실행하면서 소리가 감지되는 순간 Telegram 알림을 보낼 수 있습니다
- Arduino_RouterBridge는 두 프로세서 간의 RPC 통신을 활성화합니다
- ⚠️ /dev/ttyHS1 (Linux) 및 Serial1 (MCU)은 라우터에서 예약됨 — 사용자 코드에서 절대 열지 마세요
요약하면: MCU가 DO 핀을 통해 소리를 감지 → 이벤트 플래그 설정 → MPU가 Bridge를 폴링 → MPU가 Telegram 알림 전송
MCU 코드 (Bridge)
Python 코드 (Bridge)
빠른 단계
- 연결: 배선도에 표시된 대로 사운드 센서를 Arduino UNO Q에 배선하세요.
- Arduino App Lab 열기하고 SoundSensorBridge라는 새 앱을 만드세요.
- MCU 스케치를 sketch/sketch.ino에 붙여넣으세요.
- Python 코드를 Python 파일에 붙여넣으세요.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- 업로드: Run 버튼을 클릭하세요.

- 센서 근처에서 박수를 치세요 — 이벤트가 두 콘솔에 모두 나타나는지 확인하세요.
App Lab 콘솔 출력
Telegram
Arduino UNO Q 사운드 센서에서 소리가 감지되면 즉시 Telegram 알림을 받으세요.
MCU 스케치: 이전 Bridge 섹션에서 동일한 MCU 스케치를 유지하세요.
Python 코드 (Telegram)
빠른 단계
- YOUR_TELEGRAM_BOT_TOKEN을 BotFather에서 받은 실제 봇 토큰으로 교체하세요.
- YOUR_CHAT_ID를 Telegram 채팅 ID로 교체하세요.
- 이 Python 코드를 앱의 Python 파일에 붙여넣으세요 (동일한 MCU 스케치 유지).
- Run 버튼을 클릭합니다 — 센서 근처에서 박수를 쳐서 Telegram 알림을 트리거하세요.
App Lab 콘솔 출력
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on 아두이노 우노 Q - OpenClaw Tutorial
프로젝트 아이디어
사운드 센서와 Arduino UNO Q로 많은 유용한 프로젝트를 만들 수 있습니다:
- 박수 스위치: 빠른 두 박수를 감지하고 Bridge를 통해 릴레이를 토글하여 조명이나 선풍기를 켜거나 끌 수 있습니다 — Python이 500ms 창 내에서 박수 이벤트를 계산하고 토글 명령을 보냅니다
- 베이비 모니터: 센서를 방에 설치합니다 — 연속적인 소리(울음)를 감지하면 MPU가 Telegram 알림을 보내 어디서나 즉시 알 수 있습니다
- 침입 경보: 사운드 센서를 도어 센서와 결합합니다 — 도어 열기 및 예상치 못한 큰 소음 모두에 대해 타임스탬프 및 지속 시간이 로깅되는 Telegram 알림
- 사운드 레벨 로거: 매초 사운드 상태를 폴링하고 감지 빈도를 CSV에 로깅합니다 — 소음 모니터링을 위한 피크 사운드 시간을 보여주는 일일 Telegram 보고서를 보냅니다
- 스마트 초인종: 사운드 센서를 통해 문의 노크를 감지합니다 — MPU가 사진(카메라가 연결된 경우)과 함께 Telegram 메시지를 보내 누가 문 앞에 있는지 원격으로 확인할 수 있습니다
도전해 보세요
Arduino UNO Q의 사운드 센서로 더 나아갈 준비가 되셨나요? 이 도전을 시도해 보세요:
- 쉬움: Python 코드에 사운드 카운터를 추가하세요 — 분당 소리가 감지된 횟수를 계산하고 콘솔에 60초마다 총합을 인쇄합니다.
- 중간: Python에서 박수 패턴 인식을 구현합니다: 단일 박수 (한 소리) 대 더블 박수 (600ms 내 두 소리)를 감지합니다 — 각 패턴에 대해 다른 Telegram 메시지를 보냅니다.
- 고급: 사운드 지속 시간 추적기 구축: millis()를 사용하여 MCU 측에 각 사운드 이벤트의 시작 및 종료 시간을 기록합니다 — get_duration() Bridge 함수를 통해 마지막 지속 시간을 노출하고 모든 Telegram 알림에 포함합니다.