간단한 아두이노 스피커 만들기 - 단계별 가이드
아두이노로 만들 독특한 프로젝트를 찾고 계신가요? 그럼 아두이노 스피커를 만들 수 있습니다. 아두이노 스피커는 다양한 소리를 재생하는 데 사용할 수 있는 음악 프로젝트입니다. 또한 아두이노 프로젝트가 처음이라면 이 프로젝트가 완벽합니다.
사실 아두이노 스피커 프로젝트는 만들기 위해 두 개의 구성 요소만 필요하므로 가장 간단한 아두이노 회로 중 하나입니다.
이 아두이노 스피커 튜토리얼에서는 아두이노 스피커가 어떻게 작동하는지, 어떻게 만들고 프로그래밍하는지 소개하겠습니다.
준비되셨나요? 시작해볼까요!
아두이노 스피커는 어떻게 작동하나요?
앞서 언급했듯이 아두이노 스피커로 많은 사운드 응용 프로그램을 만들 수 있습니다. 좋은 예로는 다양한 노래를 재생하는 음악 자동차 후진 경적이 있습니다. 그리고 새로운 프로그램을 업로드하여 스피커 소리를 변경할 수 있습니다.
하지만 정확히 어떻게 작동하나요?
아두이노는 주파수의 톤을 생성하고 스피커를 통해 재생합니다. 흥미롭게도 다양한 톤 변형(음높이)이 올바른 타이밍(리듬)과 섞여 음악을 만듭니다.
소리가 스피커를 통해 재생되려면 아두이노가 출력 신호를 생성하고 디지털 핀 3을 통해 전송합니다. 그런 다음 핀에 연결된 스피커가 생성된 소리를 재생합니다.
의심할 여지 없이 쉬운 프로그래밍으로 다양한 노래를 재생할 수 있습니다. 또한 아두이노 프로그램은 Tone() 함수를 사용하여 소리를 생성합니다.
프로그램은 한 디지털 핀에서 주파수의 사각파를 생성할 수 있습니다. 또한 이 주파수에 지속 시간을 설정할 수 있습니다.
하지만 지속 시간을 설정하지 않으면 noTone() 함수를 활성화할 때까지 사각파를 계속 생성합니다.
Tone() 함수 사용 기초
Tone() 함수는 아두이노에서 사용할 핀과 헤르츠 단위로 지정한 주파수 두 값으로 작동합니다.
주파수는 0~65,535 사이의 부호 없는 정수 값입니다. 하지만 사람 귀에 들리는 주파수는 2000~5000 사이여야 합니다.
Tone() 함수 테스트를 위한 간단한 코드 예제는 다음과 같습니다:
또한 Tone()의 두 번째 값을 100, 1000, 10000, 65000으로 변경하여 출력 소리에 미치는 영향을 실험해 볼 수 있습니다. 값이 높을수록 스피커가 더 높은 음높이를 생성합니다.
아두이노 스피커 만드는 방법
아두이노 스피커 만드는 방법에 들어가기 전에 이 프로젝트에 필요한 구성 요소를 살펴봅시다:
단계
아두이노 스피커 만들기는 쉽습니다. 피에조 부저나 스피커를 아두이노의 핀 3에 연결하기만 하면 됩니다. 한 와이어는 스피커를 핀 3에 연결하고, 다른 와이어는 그라운드 핀에 연결합니다.
아두이노 스피커를 구성한 후 다음 코드를 아두이노 우노에 업로드하세요:
이제 pitch.h 파일을 만들어야 합니다. Pitches.h 파일은 음표의 모든 음높이 값을 포함하는 추가 파일입니다. 예를 들어 NOTE_FS4는 F#이고 NOTE_C4는 미들 C를 나타냅니다.
피치 파일을 사용하면 tone() 함수에 주파수 대신 음표 이름을 쓸 수 있습니다. 흥미롭게도 Brett Hagman이 원래 피치 파일을 작성하여 tone() 과정을 사용할 때 소리 추가를 더 쉽게 만들었습니다.
파일을 만들려면 'Ctrl+Shift+N' 또는 Mac의 경우 'Cmd+Shift+N'을 입력하고 다음 코드를 입력하세요:
아두이노 스피커 테스트
메인 코드를 아두이노 스피커에 업로드하면 코드의 노래가 재생되는 것을 들을 수 있습니다. 시리얼 모니터를 열면 출력 톤 주파수도 볼 수 있습니다.
브레드보드를 사용한 아두이노 피에조 스피커 만들기
회로 설계
이 프로젝트에 필요한 것:
- 아두이노 보드
- 피에조 스피커
- 납땜 없는 브레드보드
- 100옴 저항
- 점퍼 와이어 두 개
단계
- 먼저 브레드보드에 부저를 설정하여 리드가 별도 행에 있도록 합니다.
- 양극 리드(보통 빨간 와이어나 + 표시가 있는 와이어)를 아두이노 디지털 핀 8에 연결합니다.
- 음극 리드를 옴 저항에 연결한 후 그라운드 핀에 연결합니다.
아두이노 스피커로 비트 만들기
톤 사이에 지연을 추가하여 비트를 만들 수 있습니다. wait() 함수와 밀리초 단위 지속 시간을 사용하여 고유한 순간을 만들 수 있습니다.
Tone() 함수가 아두이노의 내장 타이머 중 하나를 사용하므로 tone() 함수의 세 번째 값으로 500밀리초를 사용할 수 있습니다.
1000밀리초 지연이 뒤따르면 500밀리초 지연이 생성됩니다. 이제 프로그램은 시간을 더하지 않습니다. 대신 지속 시간과 일시 정지를 동시에 시작합니다. 따라서 톤이 500밀리초 동안 실행되면 500밀리초 지연이 남습니다. 즉, 500밀리초 소리와 500밀리초 침묵을 얻습니다.
아두이노 스피커로 비트 만들기는 복잡한 과정일 수 있습니다. 하지만 익숙해지면 효과적으로 고유한 소리를 만들 수 있습니다.
Tone() 함수 사용 시 제한사항
Tone()을 사용하여 소리를 생성할 때 겪을 수 있는 단점을 살펴봅시다.
- Tone() 함수는 두 개의 별도 핀에서 동시에 작동할 수 없습니다. 예를 들어 두 개의 개별 스피커가 있고 두 개의 다른 핀에 연결되어 있다면. 두 스피커는 동시에 재생할 수 없습니다. 대신 Tone() 함수 때문에 한 번에 하나만 재생할 수 있습니다.
또한 다른 핀에서 Tone() 함수를 사용하려면 noTone() 함수로 마지막 핀의 함수를 비활성화해야 합니다.
- 또한 핀 3과 11에서 Tone()을 analogWrite() 함수와 함께 사용할 수 없습니다. 바람직하지 않은 결과만 얻을 수 있습니다. 이 함수들은 핀 3 또는 11에 같은 내장 타이머를 사용하므로 호환되지 않습니다. 그러나 어떤 소음이 생성되는지 들어보려고 시도해 볼 수 있습니다.
- Tone() 함수로 생성할 수 있는 가장 낮은 톤 값은 31Hz입니다. 또한 31과 다른 낮은 값을 함수에 입력할 수 있지만 좋은 출력 표현을 얻지 못합니다.
마지막 말
아두이노 스피커는 누구나 만들 수 있는 가장 쉬운 아두이노 프로젝트 중 하나입니다. 과정은 프로젝트를 완전히 구축하기 위해 단 하나의 추가 구성 요소만 포함합니다(브레드보드를 사용하지 않는 경우).
최고의 점은 아두이노 스피커가 회로를 어떻게 프로그래밍하느냐에 따라 다양한 소리를 생성할 수 있다는 것입니다. 아두이노 스피커는 또한 Tone() 함수를 사용하여 소리를 생성합니다. 동시에 제한사항이 있지만, 여전히 아두이노 스피커에서 소리를 생성하는 최고의 코드 중 하나입니다.
질문이 있으신가요? 주저하지 말고 물어보세요. 기꺼이 도와드리겠습니다.