Raspberry Pi Pico로 버저 톤 명령

Raspberry Pi Pico로 버저 톤 명령

Raspberry Pi Pico는 초보자가 전자 프로젝트를 쉽게 시작하고 코딩 방법을 배울 수 있는 저가형 마이크로 컨트롤러 보드입니다.

이 프로젝트에서는 전위차계에서 아날로그 신호를 읽고 이를 PWM(펄스 폭 변조) 신호로 변환하여 MicroPython 코드를 사용하여 버저의 주파수 또는 톤을 조작하는 방법을 배웁니다.

어떤 부품이 필요합니까?

이 프로젝트는 Kitronik Inventor’s Kit for Raspberry Pi Pico를 기반으로 합니다. 필요한 모든 전자 부품이 키트에 포함되어 있습니다. 그러나 다음은 주변에 있을 수 있는 일반적인 구성 요소입니다.

  • 피에조 소자 버저
  • 회전식 전위차계
  • 7x 수-수 점퍼 와이어
  • 납땜된 GPIO 헤더 핀이 있는 Raspberry Pi Pico
  • 브레드보드

PWM(펄스 폭 변조) 및 전위차계를 처음 사용하는 경우 먼저 Raspberry Pi Pico에서 전위차계를 사용하는 방법에 대한 가이드를 확인하세요. 이 가이드는 PWM으로 LED의 밝기를 조정하는 데 사용하는 방법을 설명합니다.

필수 조립

Breadboard의 전자 장치 및 배선

하나의 점퍼 와이어(사진의 노란색)는 전위차계의 왼쪽을 브레드보드의 양극(+) 레일에 연결합니다. 또 다른 점퍼 와이어는 전위차계의 오른쪽을 브레드보드의 음극(-)에 연결합니다. 전위차계의 중간 핀에서 점퍼 와이어를 Pico의 GP26/A0 핀에 연결해야 합니다.

피에조 버저는 네거티브 레그에서 네거티브 브레드보드 레일로 가는 와이어 하나가 있어야 하고 포지티브 레그에서 라즈베리 파이 피코의 GP15 핀으로 또 다른 연결이 있어야 합니다.

또한 접지하려면 Pico의 GND 핀에서 브레드보드의 음극 레일로 점퍼 와이어를 연결해야 합니다. 다른 점퍼 와이어는 Pico의 3V3 출력 핀을 브레드보드의 양극 레일에 연결하여 구성 요소에 전원을 공급합니다.

코드 만들기

MUO GitHub 리포지토리에서 코드를 가져올 수 있습니다. piezo-buzzer.py라는 MicroPython 파일을 다운로드한 다음 Thonny IDE를 실행하는 USB 연결 컴퓨터를 통해 Pico에 로드합니다. 자세한 내용은 Raspberry Pi Pico에서 MicroPython을 시작하는 방법을 확인하십시오.

코드의 다양한 부분은 다음을 수행합니다.

  • 상단에서 필요한 machine , mathtime MicroPython 모듈을 가져옵니다.
  • 부저 변수는 PWM 출력으로 핀 GP15에 할당됩니다 .
  • 전위차계 변수는 Pico 의 GP26/A0 핀에 있는 ADC(아날로그-디지털 변환기)에 할당됩니다.
  • 전위차계 이동 범위를 부저 출력으로 변환하기 위해 수학 함수를 사용 하는 scale() 함수를 정의합니다 .
  • while: True 무한 루프는 전위차계 입력을 읽은 다음 스케일 기능을 사용 하여 변환 합니다. 이전 주파수와 크게 달라지지 않았는지 확인한 후 계산된 주파수 를 PWM(Pulse-Width Modulation)을 이용하여 버저로 보냅니다.
Pico 버저 프로젝트의 코드 목록

요약하면 초당 수백 개의 펄스가 전송되고 전위차계를 시계 방향 또는 시계 반대 방향으로 돌릴 때 버저 톤이 120Hz와 5kHz 사이에서 이동합니다. 전위차계를 회전하면 Pico의 아날로그 입력 핀에서 읽은 전압이 변경되고 PWM을 사용하여 버저 주파수를 조정하는 데 사용됩니다.

Thonny의 코드를 실행하고(재생 아이콘을 클릭하거나 키보드에서 F5 를 누름) 직접 사용해 보십시오. 첫 번째 실행 후 코드 변경이 물리적 결과에 영향을 미칩니까? 예를 들어 범위 (0 ~ 65535) 를 변경하면 어떻게 됩니까 ? 코드의 이 부분은 빈도가 정의된 while True: 바로 아래 있습니다 .

톤 설정

모험심을 느끼고 있다면 버저를 사용하여 GitHub에서 martinkooij의 pi-pico-tones 라이브러리를 사용하여 음악 톤을 생성해 볼 수 있습니다. 기본적으로 이 라이브러리는 사인파를 생성합니다. 4개의 톤 제너레이터는 선택에 따라 4개의 서로 다른 Pico 핀에서 실행할 수 있습니다. 이 프로젝트는 MicroPython이 아닌 Raspberry Pi Pico SDK를 사용하는 C++를 기반으로 하지만 전체 지침은 GitHub 추가 정보에 제공됩니다.

Pico Electronics의 버즈

축하합니다. 전위차계에서 아날로그 입력을 읽고 이를 PWM 신호로 변환하여 버저 톤을 제어하는 ​​방법을 배웠습니다. 전위차계는 전자 장치를 위한 다용도 입력 장치입니다. 피에조 버저는 또 다른 편리한 구성 요소입니다. 예를 들어 PIR 적외선 동작 센서를 추가하면 침입자의 존재를 감지하고 경보를 울릴 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다