블록쌓기 프로그래밍

브로클리프롭 로봇카 프로그래밍

브로클리 로봇S3 - 2. 불빛과 소리

Contents

브로클리 로봇S3 실습 세부목차


1. 브로클리 로봇S3 시작하기

2. 브로클리 로봇S3 - 불빛과 소리

3. 브로클리 로봇S3 - 간단한 동작 모터블록으로

4. 브로클리 로봇S3 - 센서 주행하기

5. 브로클리 로봇S3 - 외부장치 확장


본 페이지의 내용은 패럴렉스(Learn.Parallax.com)사의 공식 홈페이지에서 제공되는 자료를 참고하여 작성되었습니다.


브로클리프롭(BlocklyProp) 프로그래밍 방법으로 Parallax사의 스크리블러3(Scribbler 3 : S3) 로봇을 교육활동에 사용할 수 있습니다. 로봇S3 에는 여러 가지 종류의 센서가 이미 내장되어 있어서, 초등학생들도 전자회로 구성의 어려움없이 로봇 프로그래밍을 고급 수준까지 시도할 수 있는 특징이 있습니다.


약간의 소리를 만들어 봅시다 (그리고 몇몇 LED를 깜박임)!


브로클리 로봇S3에 미리 프로그래밍된 8 개의 데모 모드를 사용해 보셨을 것입니다. 그렇다면 대부분의 데모 프로그램에는 소리나 음악이 들어 있습니다. S3 로고 아래에 있는 3 개의 LED를 독립적으로 프로그래밍할 수 있다는 것을 알고 계셨습니까? 이 섹션에서는 S3 로봇의 3 색 2 색 LED 및 내장 스피커를 소개합니다. 


아래 세부 내용들을 살펴볼 수 있습니다. 

1) LED 불빛의 켜짐과 꺼짐

2) 다양한 소리 만들기

3) 더 다양한 소리 만들기


그림입니다. 원본 그림의 이름: mem000003c45662.png 원본 그림의 크기: 가로 480pixel, 세로 425pixel 사진 찍은 날짜: 2016년 08월 29일 오후 11:05


아래 내용을 따라가려면 브로클리프롭(BlocklyProp) 웹 사이트 창 또는 탭을 열어야합니다.

학습을 시작하기 전에 이미 “브로클리 로봇S3 시작하기”를 완료했어야 합니다.


1) LED 불빛의 켜짐과 꺼짐


이제 S3 로봇을 프로그래밍하기 위해 브로클리프롭(BlocklyProp) 설정을 완료했으므로, 앞으로 진행할 수 있습니다! 프로그래밍과 새로운 프로그램을 변경하고 작성하는 능력은 로봇 공학을 매우 놀라운 것으로 만듭니다. 우리는 S3의 조명 또는 LED를 제어하는 방법을 배움으로써 브로클리프롭(BlocklyProp) 사용법을 배우기 시작할 것입니다.


모든 LED 찾기

S3의 여러 가지 표시등이 있음을 이미 알아챘을 것입니다. 특히 S3의 미리 프로그래밍된 8 가지 데모 프로그램을 살펴본 경우 특히 그렇습니다. 이러한 각 표시등은 LED입니다. 쉘 안에는 볼 수없는 것이 더 있습니다. 그것들은 무엇입니가? 그들이 의미하는 것은 무엇이며 어떻게 사용하는 법을 배울 수 있습니까?


다음은 S3의 LED 중 일부 사진입니다. 우리는 가장 쉽게 찾을 수 있는 것으로 시작합니다. 또한 S3의 다른 부분에 레이블을 지정하는 섹션이 있는 로봇과 함께 제공된 S3 시작 설명서를 따라할 수 있습니다.

그림입니다. 원본 그림의 이름: mem000003c40001.png 원본 그림의 크기: 가로 484pixel, 세로 366pixel 사진 찍은 날짜: 2016년 08월 30일 오후 5:12


2 색 표시기 LED - S3 로고 바로 아래에 로봇의 후면에 있는 3 개의 LED입니다. 이 자습서에서는 프로그래밍을 얼마나 간단하고 유용하게 하는지 배우게 됩니다. 가장 간단한 용도로, 빨강, 황색, 또는 녹색을 나타낼 수 있습니다. 두 가지 색상을 방출하는 기능 (이 경우 LED를 통해 전류가 흐르는 방향에 따라 빨간색 또는 녹색)을 결합하기 때문에 두 가지 색상이라고 합니다. 이 두 색상이 혼합되어 황색 색상을 형성할 수도 있습니다.


전원 LED - S3의 전원이 켜지면 파란색 전원 LED에 불이 들어오고 계속 켜져 있습니다. 깜박이면 배터리 잔량이 적어서 충전해야 함을 의미합니다. S3를 끄면 전원 LED가 꺼집니다. 이 특정 LED는 파란색 / 빨간색의 2 색입니다.


참고: 매우 짧은 프로그램이 S3에 로드된 경우 이 표시등이 켜지지 않을 수 있습니다.


충전 LED - 이 LED는 전원이 켜져있을 때 파란색으로 켜져 있고, 충전 중에는 빨간색으로 켜져 있으며, 충전 오류가 있거나 로봇에 이상이 있을 때 파란색 / 빨간색으로 깜박입니다. 이 LED는 S3 충전용 배터리 충전에 대한 유용한 피드백을 제공합니다. 당신이 추측할 수 있듯이, 그것은 파란색 / 빨간색의 이중 색상입니다.


USB TX / RX LED  - 이것은 USB 포트가 송신 또는 수신 중임을 나타내는 황색 LED입니다.


그림입니다. 원본 그림의 이름: mem000003c40002.png 원본 그림의 크기: 가로 286pixel, 세로 240pixel 사진 찍은 날짜: 2016년 08월 30일 오후 5:13

다른 LED – S3에는 보기어려운 다른 LED가 있습니다. 우리는 나중에 튜토리얼에서 그들을 발견하고 배울 것입니다.


알고 계셨습니까?

발광 다이오드 (LED)는 또한 반도체 광원입니다. 리드에 전압이 가해지면 빛을 냅니다.


첫 번째 LED는 1962 년에 사용되었으며 저 강도 적외선을 방출했습니다. 적외선 LED는 오늘날에도 여전히 자주 사용되고 있으며 그 어느 때보다 일반적입니다. 수신기와 쌍을 이루면 센서로 사용됩니다. TV 리모컨이 이에 대한 좋은 예입니다. 첫 번째 가시광선 LED는 또한 강도가 낮았고 붉은 색으로 제한되었습니다. 현대의 LED는 밝기가 크게 변하는 모든 모양과 크기의 단일, 이중 색상 (2 색) 또는 다중 색상 유형의 거의 모든 시각적 (일부 보이지 않는) 색상으로 사용할 수 있습니다.


초기의 LED는 주로 전자 장치의 표시등으로 사용되었고 작은 백열전구를 대체했습니다. 디지털시계 나 전자레인지와 같은 멀티 세그먼트 디스플레이에서 볼 수 있습니다. 요즘, 거의 모든 장치에는 LED 표시기 또는 디스플레이가 있어 우리가 가정에서 사용하는 전구에 대한 저렴한 대체품이 되고 있습니다. LED는 신뢰할 수 있으며 수명이 길기 때문에 교체 빈도가 줄어 듭니다.


이중 색상 LED 사용

브로클리프롭(BlocklyProp)을 사용하면 S3의 세 가지 색상 표시기 LED를 쉽게 프로그래밍 할 수 있습니다. 이 LED는 로봇 프로그래머에게 시각적 피드백을 제공하는데 유용합니다. 예를 들어, 세 개의 LED를 사용하여 S3의 광센서 중 가장 빛을 잘 감지하는 센서를 표시 할 수 있습니다. 방향 지시등과 백업 등으로도 유용합니다. 오른쪽 우회전시 오른쪽 녹색 LED를 사용하고 반대 방향 우회전시 빨간색 LED를 사용합니다.


- ACTIONS> LED 카테고리에서 change LED 블록을 찾습니다. 기본 구성에서는 세 개의 LED가 검은색 (꺼짐)입니다. 블록을 사용하면 왼쪽, 가운데 및 오른쪽 표시기 LED를 각각 설정할 수 있습니다.

그림입니다. 원본 그림의 이름: mem000003c40003.png 원본 그림의 크기: 가로 273pixel, 세로 88pixel 사진 찍은 날짜: 2016년 08월 30일 오후 6:01


- 변경할 LED를 선택하려면 check mark 를 사용하십시오. check mark 를 제거하면 블록을 실행할 때 프로그램이 unchecked LED를 무시합니다. 수정할 LED에 check mark 가 있는지 확인하십시오.

- check mark 아래의 상자를 클릭 하여 사용하려는 색을 선택하십시오. 예를 들어 아래 표시된 블록을 보십시오. 왼쪽 LED 만 빨간색으로 변경하려면 가운데 및 오른쪽 LED 의 확인란을 선택 취소하고 왼쪽 LED 아래의 색상 블록에서 빨간색을 선택하십시오 (이 프로그램을 실행할 때 다른 LED가 꺼져 있음을 확인하십시오).


그림입니다. 원본 그림의 이름: mem000003c40004.png 원본 그림의 크기: 가로 272pixel, 세로 65pixel 사진 찍은 날짜: 2016년 08월 30일 오후 6:12


- 왼쪽 , 중앙 , 그리고 우측 LED를 빨간색으로 설정하려는 경우, 모든 상자가 확인 체크 표시되고, 색상을 빨간색으로 설정해야 합니다.

그림입니다. 원본 그림의 이름: mem000003c40005.png 원본 그림의 크기: 가로 271pixel, 세로 65pixel 사진 찍은 날짜: 2016년 08월 30일 오후 6:17

 


대기 및 타이밍

모든 조명을 빨강, 황색, 마지막으로 녹색으로 바꾼 프로그램을 만들고 싶다고 가정해보십시오 (반대 신호등과 같은). 첫 번째 생각은 다음과 같이 구축하는 것입니다.

그림입니다. 원본 그림의 이름: mem000003c40006.png 원본 그림의 크기: 가로 274pixel, 세로 169pixel 사진 찍은 날짜: 2016년 08월 30일 오후 6:47



이 프로그램을 작성하고 다운로드하면 녹색 LED 만 표시됩니다. 왜? LED 색상의 각 변경은 단지 1 밀리 초 또는 그 이하의 시간이 소요되므로 적색 또는 황색 상태의 LED를 볼 수 없습니다. 이것은 S3 내부의 프로펠러 마이크로 컨트롤러가 프로그램을 얼마나 신속하게 실행하는지에 대한 것입니다. CONTROL 카테고리에서 대기 블록을 추가하여 이를 해결할 수 있습니다. 대기 블록은 여러 단위 프로그램을 늦추기 위해 지연을 추가하는데 사용할 수 있는 선택들을 가지고 있습니다 - second(s), tenth(s) of a second, and millisecond(s). 드롭다운 메뉴에서 원하는 유닛을 선택하십시오. 해당 상자를 클릭하고 숫자를 입력하여 대기 시간을 변경하십시오. 간단합니다!


- 각 변경 LED 블록 사이에 대기(wait) 블록을 추가하면 LED 에서 색상 변경을 볼 수 있습니다. 시도해보세요!


그림입니다. 원본 그림의 이름: mem000003c40007.png 원본 그림의 크기: 가로 261pixel, 세로 233pixel 사진 찍은 날짜: 2017년 05월 13일 오후 1:50


- 5 초 후에 LED를 모두 끄려면 위의 프로그램에 다음 두 개의 블록을 추가하면 됩니다.


그림입니다. 원본 그림의 이름: mem000003c40008.png 원본 그림의 크기: 가로 261pixel, 세로 321pixel 사진 찍은 날짜: 2017년 05월 13일 오후 1:52


알고 계셨습니까?

위에서 보았듯이 대기 블록의 시간 단위 중 하나는 밀리 초입니다. 밀리 초 (ms)는 1/1000 초입니다. 프로그램은 사용자가 설정한 시간 동안 일시중지됩니다. 프로그램이 당신이 원하는 것을 당신이 원하는 시간에 할 수 있게 하고 싶을 때, 얼마나 오래 기다릴지 결정해야 합니다. 사용자가 wait (또는 delay)5 tenth(s) of a second 로 설정한 경우, 즉 500 밀리 초 또는 1초의 절반과 동일합니다. 로봇의 Propeller Multicore가 매우 신속하게 (수 밀리 초 이내로) 프로세스하기 때문에 대기 또는 지연은 이러한 작은 단위로 측정됩니다.


2014 년 MIT의 연구는 인간의 두뇌는 13 밀리 초 (밀리 초 두 번째의 1 / 1000 있음을 유의)의 짧은 시간동안 눈 앞에서 번쩍인 이미지를 보고 인지할 수 있다는 것을 발견했습니다. 그것은 과학자들이 이전에 생각한 것보다 8 배 더 빠릅니다. 이전에는 약 100 밀리 초가 걸렸다고 합니다. 인간의 처리 속도가 매우 빠름에도 불구하고 S3의 "두뇌"인 Propeller Microcontroller는 상당히 빠릅니다.


시도해 보세요!

그림입니다. 원본 그림의 이름: mem000003c40009.gif 원본 그림의 크기: 가로 320pixel, 세로 240pixel


빨간색 LED를 좌우로 바운스하는 연속적인 "스캐너"를 만듭니다. 다음과 같이 빌드하는 간단한 프로그램입니다. 이 작업을 수행하려면 루프 블록 이라고 하는 다른 블록 및 프로그래밍 도구를 사용하십시오. 


두 개의 기본 루프 블록이 있습니다.


드롭다운이 있는 첫 번째 루프 블록은 forever, x times, until 또는 while을 포함하는 블록을 반복 할 수 있습니다. forever 예외를 제외하고, 다른 옵션은 루프가 종료해야하는 조건을 추가해야 합니다.

두 번째 루프 블록에는 숫자 값 블록, 변수 또는 특정 연산 블록을 삽입할 공간이 있으며, 삽입된 블록에 지정된 횟수만큼 반복합니다.


나중에 튜토리얼에서 복잡한 루프를 반복하고, 루프를 벗어나는 방법에 대해 알아보겠습니다.


그림입니다. 원본 그림의 이름: mem000003c4000a.png 원본 그림의 크기: 가로 307pixel, 세로 408pixel 사진 찍은 날짜: 2017년 07월 06일 오후 4:47


- 꺼진 LED가 이제 황색이 되도록 프로그램을 변경하십시오.

- 대기(wait) 블록에서 다른 값으로 실험해보십시오. 변경사항을 볼 수 없으려면 얼마나 빨리 실행해야 합니까?


당신 차례 !

- 적색과 꺼짐을 번갈아가며 모든 LED를 깜박이는 프로그램을 작성하십시오. LED가 꺼지지 않는 것처럼 보일 때까지 1 초의 대기 또는 지연으로 시작하고 대기 시간을 더 짧고 짧게 설정하십시오. 그 설정은 무엇입니까? MIT 연구가 위에 인용 한 13 밀리 초와 어떻게 비교됩니까?

- 왼쪽 LED를 가능한 모든 색으로 순환시킨 후 꺼서 (원하는 대기 시간으로) 프로그램을 작성한 다음 중앙 LED와 동일하게하고 마지막으로 오른쪽 LED와 동일하게 프로그램을 작성하십시오. 다했으면 프로그램을 루프 안에 넣으십시오. 객실의 조명을 끄고 쇼를 즐기십시오.

- 세 개의 LED로 "교통 신호등"을 만드십시오. 진행 또는 초록 불빛으로 시작하고, 주의 또는 황색을 다음으로 표시하고, 마지막으로 정지 또는 빨간색을 표시하십시오. 프로그램을 루프로 반복하십시오. 재미있는 사실 : 이것은 실제 교통 신호등이 프로그래밍되는 것과 같습니다. 빨간불이 S3의 적색 켜기 / 끄기 버튼에 가장 가까운 LED인지 확인하여 도전에 추가하십시오. 프로그램 중 (예 : 실제 교통 신호등이 야간에 늦은 경우가 많음) 일정한 횟수 동안 황색으로 깜박이기만하면 트래픽 표시등을 프로그래밍한 다음 정상적인 기능으로 되돌릴 수 있습니까?


2) 다양한 소리 만들기


소리는 언제나 스크리블러(Scribbler) 로봇의 중요한 특징이었습니다. 내장된 하드웨어를 사용하여 다양한 소리를 쉽게 만들 수 있으므로 Scribbler 로봇이 독특하고 사랑스럽고 개성있는 성격을 유지하게 됩니다.


알고 계셨습니까?

영화에서 로봇을 위한 사운드 디자인은 로봇이나 컴퓨터에 화면의 개성을 부여하는데 도움이 됩니다. 영웅적이고 강인한 Transformers의 Optimus Prime의 소리에 대해 생각해보십시오. 스타워즈 (Star Wars)의 R2-D2 및 WALL-E의 친절하고 사랑스러운 사운드. 소리는 정말로 중요합니다.


WALL-E의 음향 설계에 관한 몇 가지 YouTube 동영상이 있습니다. 약간의 시간이 있을 때 살펴보세요. 뭔가 깔끔하게 배울 수 있습니다!


애니메이션 사운드 디자인 : Ben Burtt가 Wall-E pt 1 사운드 생성

애니메이션 사운드 디자인 : Ben Burtt가 Wall-E pt 2의 사운드 생성


S3 로봇을 위해 선택한 소리도 중요합니다. 인간은 의미를 갖는 소리와 매우 밀접하게 연관됩니다. S3 프로그램의 특정 사운드 또는 음악을 사용하여 센서 조건에 대한 피드백과 같은 간단한 것을 제공하거나 슬픔이나 행복과 같은 인간의 감정적 상태를 모방하는데 사용할 수 있습니다.


S3 GUI 프로그램 작성기

Parallax의 모든 Scribbler 로봇 (원래 파란색 (1), 빨간색 (2) 및 녹색 (3))은 사용이 간편한 GUI 소프트웨어 (GUI - 구식 GUI는 그래픽 사용자 인터페이스를 의미 함)로 프로그래밍할 수 있습니다. 그 재미있고 유용한 기능 중 하나는 "사운드 타일"입니다. 모든 GUI 버전은 Windows 운영 체제에서만 실행됩니다.


그림입니다. 원본 그림의 이름: mem000003c4000f.png 원본 그림의 크기: 가로 341pixel, 세로 355pixel 사진 찍은 날짜: 2016년 09월 08일 오후 6:43


GUI에서는 곡, 트럼펫 사운드, 피아노 음표, 음향 효과, 모스 코드, 전화 음색 등을 만들 수 있습니다. 재생 템포와 음표 길이도 제어할 수 있습니다. 이 리소스는 Windows 사용자가 Scribbler S3 GUI Software를 다운로드하여 사용할 수 있습니다.


브로클리프롭(BlocklyProp)은 사운드 생성 블록을 사용하여 작업할 때 실용적인 접근 방식을 필요로 합니다. 이 튜토리얼의 나머지 부분에서는 브로클리프롭(BlocklyProp)을 사용하여 S3 로봇으로 사운드를 생성하는 방법을 중점적으로 다룹니다.


어 오 (Uh Oh) !

보편적으로 인식할 수 있는 사운드는 "어" 입니다. 어떤 시각적 표시없이, 우리는 이 투톤 사운드 조합을 듣는 것만으로 간단하게 일어난 일을 직관적으로 이해할 수 있습니다. 모두가 가끔씩 (심지어 로봇) 문제가 발생하기 때문에 S3를 프로그래밍하여 "어" 소리를 내는 법을 배우도록 합시다.


브로클리프롭(BlocklyProp)에서는 ACTIONS> SOUND 카테고리에 있는 재생 톤 블록을 사용하여 단일 톤을 재생합니다. 첫 번째 음색 바로 아래에 두 번째 음색을 설정할 수 있는 옵션이 있음을 알 수 있습니다. 이 프로그램에서는 두 번째 톤 값을 0으로 유지합니다. 이 재생 톤 블록은 주파수 (Hz 톤) 및 지속 시간 (ms 단위의 시간 )을 설정하여 정의됩니다. 대기 블록은 톤 사이의 "나머지"나 (MS)에 침묵 일시 정지입니다. 또한 볼륨 설정이 이 블록에 있어서, 일반적으로 당신이 바로 여기에 0에서 100 사이의 숫자를 입력 할 수 있는 숫자 값을 가집니다. 여기서는 볼륨을 설정하는 다른 방법을 도입했습니다. : 변수로


- 새 프로젝트를 시작하고 이름을 Uh Oh로 지정하고 아래에 표시된 브로클리프롭(BlocklyProp) 코드를 함께 스냅합니다.

그림입니다. 원본 그림의 이름: mem000003c40010.png 원본 그림의 크기: 가로 215pixel, 세로 327pixel 사진 찍은 날짜: 2017년 05월 20일 오후 0:08


설정된 변수 블록에 첨부된 숫자 값 블록을 사용하여 볼륨 (0-100) 을 설정함으로써 이 프로그램에 나타나는 모든 곳에서 제어합니다. 여기서는 set variable 블록을 사용하여 "vol" 변수의 값을 40 으로 초기화합니다. 이제는 프로그램에 use variable 블록을 삽입할 때마다 모든 " vol "변수 블록이 실제로 숫자 40을 입력한 것처럼 동작합니다.


힌트 : 변수 이름을 설정하려면 변수설정(set variable) 블록을 사용하십시오 (드롭 다운에서 "항목"을 클릭한 다음 "변수 이름 바꾸기 ..."를 클릭하십시오). 선택한 이름이 사용 변수(use variable) 블록이 드롭다운 메뉴에 자동으로 나타납니다. 또한 당신이 사용하는 변수를 설정 변수 블록을 사용해서 작성하는 경우, 사용 변수 블록이 variables 메뉴 블록 리스트에 나타납니다.


이와 같은 짧은 프로그램에서는 입력된 숫자를 변수로 바꾸는 것이 항상 필요한 것은 아니지만 더 긴 프로그램에서 많은 시간을 절약하고 문제 해결을 단순화할 수 있습니다.


- 설정된 변수 를 사용 하는 데 아직 익숙하지 않고 (아래) 변수 블록을 사용 하는 경우 계속하기 전에 배우는 데 시간을 할애해야합니다.


그림입니다. 원본 그림의 이름: mem000003c40011.png 원본 그림의 크기: 가로 199pixel, 세로 43pixel 사진 찍은 날짜: 2016년 09월 12일 오후 4:57


- 저장하고, 컴파일하고, EEPROM에 로드하고, 프로그램을 실행하여 "어"소리를 재생하십시오.


이제는 들었으므로 이 소리가 메시지나 경고등을 쓰지 않고 오류나 문제를 전달하는 방법으로 이해할 수 있습니다. 그것이 바로 강력한 소리입니다. 우리는 설명없이 메시지를 직관적으로 이해할 수 있습니다. 브로클리프롭(BlocklyProp) 프로그램과 S3에서 문제를 나타낼 수 있는 사운드를 만들었습니다! 이 소리와 다른 소리는 문제 해결이나 자율적 탐색에 매우 유용한 도구가 될 수 있습니다.


"주요" 성취 (A “Major Accomplishment)

S3 데모 프로그램에서는 음악을 다른 기능과 함께 사용하여 프로그램을 더 매력적이고 재미있게 만들었습니다. 브로클리프롭(BlocklyProp)의 사운드 생성을 위한 다른 블록인 재생 음조(play note) 블록을 살펴보겠습니다. ACTIONS> SOUND 카테고리에서 찾을 수 있습니다.


참고: 음표나 어휘에 익숙하지 않은가요? " Piezospeaker로 악보 연주"라 불리는 PBASIC 언어 프로젝트의 한 부분인 "낱장 악보의 교훈"을 읽으십시오.


- 새 프로젝트를 시작하고 "S3 Piano C Maj Scale"이라고 이름을 짓고 아래 표시된 브로클리프롭(BlocklyProp) 코드를 함께 스냅합니다. ( 참고 : 드롭다운 창을 사용하여 옥타브, 음표, 카운트 값 및 볼륨을 선택할 수 있습니다. 여기에 각각 나열할 수 있는 옵션이 너무 많습니다. 각각의 기능을 배우기 위해 실험 해보십시오.)


그림입니다. 원본 그림의 이름: mem000003c40012.png 원본 그림의 크기: 가로 481pixel, 세로 225pixel 사진 찍은 날짜: 2016년 09월 12일 오후 7:32

- 저장하고, 컴파일하고, EEPROM에 로드하고, 프로그램을 실행하십시오.


그것보다 훨씬 쉽지는 않습니다! 이 블록으로 거의 모든 간단한 곡을 구성할 수 있습니다.


참고: 악기에 사용되는 주어진 임의의 사운드는 플레이 톤(play tone) 블록에서 사용되는 헤르츠 (Hz) 단위의 주파수로 표현될 수 있습니다. 정말 깊은 곳으로 뛰어 들고 싶다면, 많은 온라인 리소스와 결합된 플레이 톤 블록을 사용하여 많은 매력적인 음악 프로그램을 만들 수 있습니다. 이 내용은 향후 자습서 및 브로클리프롭(BlocklyProp) 프로젝트에서 다룹니다.


시도해 보세요!

위의 "A Major Accomplishment"섹션의 코드를 사용하여 가운데 C에서 테너 C까지 오름차순으로 스케일링한 다음, 테너 C에서 중간 C까지 내림차순으로 내려가는 브로클리프롭(BlocklyProp) 프로그램을 빌드하십시오. 위쪽과 아래쪽 연주 사이에 멈춤을 삽입하십시오.


3) 더 다양한 소리 만들기


지난 학습에서 배웠듯이 브로클리프롭(BlocklyProp) 프로그래밍 도구를 사용하면 S3 로봇의 간단한 사운드를 쉽게 만들 수 있습니다. 이것은 추가 사운드와 짧은 곡의 짧은 콜렉션으로, 독자적으로 빠르게 프로그래밍하거나 다른 S3 브로클리프롭(BlocklyProp) 프로젝트에 추가 할 수 있습니다.

 

따! Ta Da!

이 소리는 어느 연령대에서나 좋아하는 소리이며 로봇이 지정된 작업을 마쳤을 때 연주하는 재미입니다.

브로클리프롭(BlocklyProp)에서 플레이 톤(plat tone) 블록과 휴식, 일시 정지를 위한 대기 블록을 톤 사이에서 사용하십시오.


- 아래의 프로젝트 코드를 연구, 빌드, 저장 및 실행하여 작동 방법을 확인하십시오.


그림입니다. 원본 그림의 이름: mem000003c40013.png 원본 그림의 크기: 가로 207pixel, 세로 302pixel 사진 찍은 날짜: 2017년 05월 24일 오후 2:15


참고: 이 프로그램에서 볼륨 변수는 play tone 블록 자체에 내장되어 있습니다. 그러나 이것이 항상 그런 것은 아닙니다. 다른 프로그램은 볼륨 레벨과 같은 변수를 제어하기 위해 때때로 set variable use variable 블록의 사용을 필요로 합니다. 숫자 값 블록 대신 변수를 삽입하는 방법에 대한 자세한 내용은 이전 자습서 : 다양한 소리 만들기를 참조하십시오.


경고음 재생하기

브로클리프롭(BlocklyProp)에서 재생 톤(play tone) 블록을 사용하여 단일 톤을 재생합니다. 이 블록에는 두 개의 톤에 대한 설정이 있습니다. 두 번째 톤을 0으로 설정했는지 확인하십시오. 이전 자습서에서와 같이 대기 블록이 나머지(rest) 또는 조용한 일시중지(silent pause)입니다. 여기에서는 경고음 사이에 일시 중지를 만드는데 사용됩니다. 루프 (X times) 블록 은 톤을 원하는 횟수 반복하는데 사용됩니다.


- 아래의 프로젝트 코드를 연구, 빌드, 저장 및 실행하여 작동 방법을 확인하십시오.


그림입니다. 원본 그림의 이름: mem000003c40014.png 원본 그림의 크기: 가로 252pixel, 세로 223pixel 사진 찍은 날짜: 2017년 05월 24일 오후 5:44


봉사 (Charge) !

다음 소리는 야구나 하키같은 경기장 스포츠 게임에서 알 수 있는 것입니다. 로봇이 작업을 시작할 때 가장 적절하게 재생됩니다. 귀하의 프로그램에 추가할 재미있는 소리입니다. 브로클리프롭(BlocklyProp)에서는 연주 톤 블록을 사용합니다. 이 블록을 사용하면 동시에 두 개의 톤을 재생할 수 있을 뿐만아니라 음악적 휴식을 위한 대기 블록을 재생할 수 있습니다.


- 아래의 프로젝트 코드를 연구, 빌드, 저장 및 실행하여 작동 방법을 확인하십시오.

그림입니다. 원본 그림의 이름: mem000003c40015.png 원본 그림의 크기: 가로 213pixel, 세로 816pixel 사진 찍은 날짜: 2017년 05월 24일 오후 4:24


면도와 이발 - 두 비트! (그리고 몇 바이트도)

때로는 곡을 통해 기억을 되찾거나 어린 시절을 상기시킬 수 있습니다. 당신이 어렸을 때부터, 어쩌면 부모님이 어렸을 때부터입니다. 이 곡은 유년기 고전의 우리의 버전일 것이지만, S3를 위한 것일 수 있습니다.


브로클리프롭(BlocklyProp)에서 ACTIONS> SOUND 영역을 따라 재생 음표 블록을 선택하십시오. 이 블록에서 옥타브, 음표, 음표 수 및 음량을 선택할 수 있습니다. 모든 설정에 특별한 주의를 기울이십시오. 원한다면 Wikipedia 나 검색 엔진을 통해 온라인으로 원본 악보를 찾을 수 있습니다.


- 아래의 프로젝트 코드를 연구, 빌드, 저장 및 실행하여 작동 방법을 확인하십시오.


그림입니다. 원본 그림의 이름: mem000003c40016.png 원본 그림의 크기: 가로 535pixel, 세로 225pixel 사진 찍은 날짜: 2017년 05월 24일 오후 4:39


참고: 점선 메모란 무엇입니까? 지속 시간이나 가치의 절반에 묶여있는 음표입니다. 우리의 목적에 따라 일을 단순화하기 위해서, 그 시간은 그 음표와 다음 음표의 중간에 있는 음표로 생각하십시오. 음악으로 쓰여진 형식에서 점선 메모는 문자 바로 뒤에 점이 있는 메모로 표시됩니다.

 

베토벤의 5 번 교향곡

이 8 개의 음표는 불길한 소리로 가장 잘 알려져 있습니다. 즉시 알아볼 수 있는, 당신이 위험에 처했을 때, S3에서 이 곡을 연주할 것입니다. 예를 들어 다가오는 장애물에 대해 경고합니다.


브로클리프롭(BlocklyProp)에서 이 곡을 컴파일하려면 ACTIONS> SOUND 카테고리의 재생 음 블록을 사용하십시오. Google 또는 위키피디아 (이 경우 베토벤 5 번 교향곡)에서 만들려는 곡의 악보를 검색하고 옥타브, 음표, 개수 및 음량을 입력하십시오.


- 아래의 프로젝트 코드를 연구, 빌드, 저장 및 실행하여 작동 방법을 확인하십시오.


그림입니다. 원본 그림의 이름: mem000003c40017.png 원본 그림의 크기: 가로 510pixel, 세로 251pixel 사진 찍은 날짜: 2017년 05월 24일 오후 5:03


대체 버전 - 베토벤의 5 브로클리프롭(BlocklyProp) 코드의 대체 버전에서, 우리는 ACTIONS > SOUND 카테고리의 play tone 블록을 사용하고, note duration count 와 볼륨을 설정할 변수를 사용합니다. 우리는 위와 동일한 길이와 옥타브와 함께 위와 같은 음표를 연주합니다.

그림입니다. 원본 그림의 이름: mem000003c40018.png 원본 그림의 크기: 가로 369pixel, 세로 706pixel 사진 찍은 날짜: 2017년 05월 24일 오후 5:35


대체 버전이 첫 번째 버전에 비교해서 어떻게 들렸는지 알아차렸습니까? 플레이 노트 블록과는 달리 플레이 톤 블록은 각각의 소리에 두 번째 톤을 추가 할 수 있도록 해줍니다. 특히 두 번째 note. 이 두 번째 음은 일종의 화음 (동시에 연주되는 조화로운 음의 그룹)을 만드는데 사용할 수 있습니다. 실제 코드는 일반적으로 3 개 이상의 음표로 연주되지만, S3는 여전히 2 개의 음표로 조화로운 음을 낼 수 있습니다.



이전 페이지로      다음 페이지로