치즈 스틱 터치 피아노를 사용해 보아요

치즈 스틱의 새로운 액세서리 터치 피아노 활용 코드를 작성합니다.

터치 피아노의 건반과 버튼을 활용하는 코드를 작성합니다.

음악 블록으로 연주 시 배경으로 깔리는 비트를 추가해 연주을 더욱 풍성하게 만들어 보아요.

부품을 준비해 주세요.

필요 재료수량
치즈 스틱 본체1개
터치 피아노1개
USB 동글1개
컴퓨터1대 (로봇 코딩 소프트웨어 설치 필요)

하드웨어를 준비해요.

1. 치즈 스틱의 HAT 포트에 터치 피아노를 연결합니다. 치즈스틱의 위 아래 방향에 관계 없이 연결 가능합니다.

2. 컴퓨터 USB 포트에 USB 동글을 꽂은 후 치즈 스틱 본체의 전원을 켜 페어링 하세요.

3. 로봇 코딩 소프트웨어를 실행한 후 프로그래밍 할 프로그램을 선택해 주세요.

4. 자, 이제 프로그램을 시작합니다!

코딩을 해요.

알고 가기

코딩을 시작하기 전 터치 스크린 원리에 대해 알아보아요!

터치 스크린에는 정전식, 감압식, 적외선, 초음파 방식이 있습니다.

그 중 정전식은 정전기를 이용해 터치를 인식하는 방식입니다.

액정에 계속해서 전류가 흐르고 화면 위에 손가락이 닿으면 전자가 접촉지점으로 끌려가는 방식으로 터치를 감지합니다.

이 방식은 멀티 터치 인식이 가능하다는 장점이 있습니다.

하지만 전기를 유도할 수 있는 물질이 아닌 경우 작동하지 않습니다.

코딩 하기

터치 피아노 실행 전 아래 버튼을 클릭해 절차에 따라 치즈 스틱의 펌웨어를 업데이트해 주시기 바랍니다.

1. 코드에 사용할 블록을 추가합니다.

프로그래밍 실행 전 로봇 코딩의 버전이 2.0 이상인지 확인하시고 아닐 경우 아래 링크에서 다운 받으시길 바랍니다.

https://hamster.school/ko/download/

스크래치 화면 왼쪽 하단 ‘확장 기능 추가하기’에서 ‘음악’과 ‘HAT-022 터치 피아노’를 추가합니다.

2. 코드에 활용할 변수를 추가합니다.

Fn 버튼을 누르는 횟수를 세고 저장할 변수를 만듭니다.

3. 시작 깃발을 클릭했을 때 코드를 작성합니다.

터치 피아노를 사용하기 위해 ‘HAT-022 터치 피아노 시작하기’ 블록을 가져옵니다.

이전 실행에서 남아 있는 데이터가 있으면 Fn 변수가 눌러진 횟수를 제대로 셀 수 없습니다.

Fn 변수의 값을 ‘Fn을(를) 0로 정하기’ 블록을 사용해 변수의 값을 0으로 정합니다.

4. 터치 피아노 건반을 눌렀을 때 블록을 작성합니다.

터치 피아노의 건반을 눌렀을 때 누른 음을 치즈 스틱에 내장된 피에조 스피커로 연주하는 블록입니다.

‘HAT-022 누른 음을 연주하기’ 블록은 음의 박자를 지정하는 파라미터가 없어 연주가 계속 이어집니다.

이를 해결하기 위해 터치 피아노의 건반을 누른 손가락을 뗐을 때 소리가 멈추게 하는 코드를 추가합니다.

아래와 같이 떼었을 때를 감지하는 코드를 활용하면 손가락을 누르고 있는 동안에만 음을 연주하고 손을 떼면 연주를 하지 않습니다.

손을 떼었을 때는 누른 음이 없으므로 아무런 소리를 내지 않습니다.

5. 터치 피아노 버튼을 눌렀을 때 블록을 작성합니다.

◀, ▶ 버튼 코드

터치 피아노 오른쪽 상단에는 기능을 추가해 활용할 수 있는 버튼이 3개 있습니다.

방향 버튼을 사용해 건반의 옥타브를 변경하는 코드를 작성합니다.

◀ 버튼을 누르면 전체 건반의 옥타브가 1만큼 낮아집니다.

▶ 버튼을 누르면 전체 건반의 옥타브가 1만큼 높아집니다.

Fn 버튼 코드

Fn 버튼을 눌렀을 때 코드를 작성합니다.

버튼이 눌러졌는지 확인하기 위해 삐소리를 재생합니다.

누를 때마다 Fn 변수의 값을 1씩 더하고 저장합니다.

메시지1 신호를 보내 음악 블록 코드를 작성할 준비를 합니다.

음악 블록을 추가하면 생기는 블록들입니다.

원하는 악기와 연주 속도를 지정할 수 있습니다.

메시지1 신호를 받았을 때 코드를 작성합니다.

배경음을 켜고 끄기 위해 ‘만약 ~이라면 아니면 ~’ 조건문을 사용합니다.

상위에서 추가한 Fn 변수의 값을 나누어 나머지가 1일 때, 즉 변수의 값이 홀수일 때에는 배경음을 켭니다.

이 경우 Fn 버튼을 한 번 더 눌러 Fn 변수의 값이 짝수가 되면 배경음이 꺼집니다.

계속해서 연주할 수 있도록 조건문 내에 ‘무한 반복하기’ 블록을 사용했습니다.

배경으로 쓰이는 타악기 소리는 자유롭게 작성해 보세요.

응용하기

터치 피아노를 활용한 여러분들 만의 코드를 작성하고 직접 작곡도 해 보아요.