초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

[지니어스키트 블록] 4. 피에조부저로 멜로디 만들기

2020-05-07 14:27:39

[이전 학습가이드] 스위치로 조명 제어하기

 

 

 

피에조 부저란?


 

피에조 부저 (piezo buzzer)는 피에조 효과를 이용하여 소리를 내는 작은 스피커입니다.

피에조 효과란 수정이나 세라믹 같은 결정체의 성질을 이용하는 것으로 압력을 주게되면 변형이 일어나면서 표면에 전압이 발생하고, 반대로 전압을 걸어주면 응축,신장을 하는 현상을 말하며 압전효과라고도 합니다.

여기에 얇은 판을 붙여주면 미세한 떨림으로 인해 소리가 나게 됩니다.

피에조 부저는 코드 상에서 소리의 음량을 제어할 수 없고 자칫 잘못하면 소음을 일으킬 수 있지만, 값이 싸고 사용이 단순하기 때문에 장난감이나 휴대용 게임기, 버스 부저 등에서 사용됩니다.



 

 

 

 

피에조 부저 사용방법


 

피에조 부저는 2개의 전극단자로 구성되어 있으며, 각 단자는 극성을 가지고 있습니다.

커버 윗면을 확인하면, (+)라고 써져 있거나옆에 조그만 홈이 파져있는 의 단자에 +전극을 연결하면 됩니다.

 

피에조 부저는 능동부저 수동부저가 있으며 가장 쉽게 구분하는 법은 피에조부저에 전원을 공급했을 때 소리가 난다면 능동부저이고, 소리가 나지 않는다면 수동부저입니다.

그리고 다리 길이로도 구분할 수 있는데 서로의 다리길이가 다르면 능동부저이고 다리길이가 서로 같다면 수동부저입니다.

 

능동부저는 단일음으로 단순하게 경보음을 출력할 때 적합하고, 수동부저는 음계를 사용하여 멜로디를 출력하는데 적합합니다.

 

피에조부저는 주파수를 활용하여 음계를 출력합니다.

아래의 사진은 옥타브 및 음계별 표준 주파수를 나타내는 표입니다.

피에조 부저에 주파수에 맞는 신호를 줌으로써 원하는 음계의 소리를 낼 수 있습니다.

우리에게 익숙한 음계는 4옥타브에 해당됩니다. 즉, ‘도’라는 음은 4옥타브의 C 261.6256Hz의 주파수를 가지는 소리입니다.
 

 

 

지니어스키트 쥬니어팩에서는 아래와 같이 생긴 피에조 부저 모듈을 사용합니다.

 

 

 

 

 

 

부품 목록

NO 부품명 수량 상세설명
 1 오렌지보드 나노 + 확장 쉴드  
피에조 부저 모듈  
3 점퍼 케이블   

 

 

부품명 오렌지보드 나노 + 확장쉴드 피에조 부저 모듈 점퍼 케이블
파트

 

 

 

 

 

하드웨어 making


 

브레드 보드

1. 피에조 부저 모듈의 S핀을 오렌지보드 나노 확장쉴드 D3번핀에 연결합니다.

2. 피에조 부저 모듈의 가운데핀을 오렌지보드 나노 확장쉴드 V라인핀에 연결합니다.

3. 피에조 부저 모듈의 -핀을 오렌지보드 나노 확장쉴드 G라인핀에 연결합니다.

 


 

 

 

 

소프트웨어 coding


 

피에조부저 소리제어

전체코드

 

 

 

오렌지보드에 연결된 피에조 부저에서 4옥타브 도부터 5옥타브 도까지 1초 마다 한 음계씩 연주하는 코드입니다.

 

 

 

블록 설명

 

 

 

디지털 핀에 연결된 피에조 부저에서 특정 음을 연주하는 블록입니다.

 

음계는 도 ~ 시까지 옥타브는 1옥타브 ~ 6옥타브 까지 연주 가능하며 각 음계별로 연주 시간을 조정하여 박자를 맞출 수 있습니다.

 

 

 

반복 구조

 

 

선택 구조와 마찬가지로 소프트웨어 코딩에서 가장 기본이 되는 문법 중 하나인 반복 구조입니다.

 

반복되는 동작들을 묶은 뒤 지정된 횟수만큼 반복하게 하거나 조건이 만족 될 때까지 반복하도록 만든 것을 말합니다.

 

 

 

 

 

위 이미지와 같이 프로그램이 같은 일을 반복해서 해야하는 경우 반복 블록을 사용합니다.

 

왼쪽 블록과 같이 같은 블록들을 여러번 사용하는 대신 오른쪽 블록처럼 반복 블록 1개로 반복되는 동작을 실행할 수 있습니다.

 

위에 두 코드의 동작은 동일하지만 오른쪽 코드가 훨씬 간단한 것을 볼 수 있습니다.

 

 

 

함수

 

함수는 프로그램에서 결과값을 만들기 위한 다양한 기능을 하나로 묶어놓은 묶음을 말합니다.

 

함수를 한번 만들어 두면 다양한 기능을 매번 길게 호출할 필요없이 함수만 한번 호출하면 다양한 기능들을 반복해서 사용할 수 있기 때문에 효과적입니다.

 

엔트리에서는 이 함수 기능을 사용하기 위해서는 '함수'탭에 있는 블록을 사용해야합니다.

 

지금은 선언된 함수가 하나도 없기 때문에 함수 만들기 버튼 한개만 보입니다.

 

 

 

함수를 만들기 위해 함수 만들기 버튼을 눌러보겠습니다.

 

 

 

사진과 같이 화면이 검은색으로 바뀌면서 함수 정의하기 블록 하나가 나와있습니다.

 

왼쪽에 있는 블록 4개의 기능은 아래와 같습니다.

* 함수 블록을 제외하고 현재 노란색 함수 블록 옆에 하나씩 추가 가능합니다.

 

함수 : 함수 정의할 때 제일 기본이 되는 블록

이름 : 함수의 이름을 정하는 블록

문자/숫자값 : 함수안에서 사용할 문자 / 숫자 값을 넣는데 사용

판단값 : 함수안에서 사용할 참 / 거짓 조건을 넣는데 사용

 

 

노란색 배경에 함수라고 써있는 부분에 함수의 이름을 넣어주시면 되고, 빈칸에 위에서 사용한 피에조 부저 제어 블록을 이용하여 멜로디를 만들어보겠습니다.

 

 

 

반짝반짝작은별 이라고 함수 이름을 정하고 아래 반짝반짝 작은별 멜로디를 추가하였습니다.

 

작성이 완료되었으면 확인 버튼을 눌러줍니다.

 

그럼 아래와 같이 함수 만들기 버튼 아래 방금 만든 함수 블록이 생깁니다.

 

 

 

그럼 이제 만든 함수 블록을 실행해보면 함수 블록안에 넣어둔 멜로디 블록이 실행됩니다.

 

 

 

한번 다양한 멜로디를 각각 함수로 만들어 재생해봅시다!!

* 함수를 수정할려면 함수 블록을 더블클릭하면 됩니다.

 

 

 

[다음 학습가이드] 조도센서로 빛의 밝기 측정하기

 

kocoafab

안녕하세요. 코코아팹 운영자입니다.

코코아팹, kocoafab, 튜토리얼, tutorial, SW코딩, 피지컬컴퓨팅, 블록코딩, EPL, 엠블럭, Mlbock, 피에조, 부저