악기 없이 손으로 연주해요

비디오 감지를 활용해 손동작만으로 원하는 곡을 연주해요.

엔트리 인공지능 탭의 비디오 감지 블록을 사용해 보아요.

생활 속에서 영상 감지가 사용될 수 있는 분야에 대해서도 생각해 보아요.

부품을 준비해 주세요.

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

하드웨어를 준비해요.

1. 치즈 스틱의 HAT 포트에 5X5 LED 매트릭스를 연결합니다. 위 아래 방향에 관계 없이 연결 가능합니다.

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

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

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

코딩을 해요.

관련 분야

코딩을 시작하기 전 비디오 감지를 활용하는 분야에 대해 먼저 알아보아요!

카메라나 CCTV를 통해 얻은 영상 분석은 다양한 영역에서 활용 가능합니다.

‘경찰청’에서는 전과자 정보, 범죄 발생 시간, 범죄가 주로 일어난 지역의 특징 등 범죄 관련 정보들을 수집하여 저장하고 있어요.

범죄 정보뿐만 아니라 유동 인구수, 유흥업소 위치, 경찰서와의 거리 등 범죄에 영향이 큰 요소를 분석해

특정 지역에서 범죄가 일어날 가능성을 예측한답니다.

영상 분석은 마케팅에 활용할 수도 있어요.

백화점이나 상점에서는 매장 내 CCTV로 고객의 이동경로를 파악합니다.

이를 통해 특정 성별과 나이대의 고객이 어느 구역의 어떤 물건에 관심이 있는지 알 수 있답니다.

이런 정보들을 모아 매장 환경을 변화시킬 수 있고 관련 쇼핑정보를 해당 고객들에게 전달해 수익을 높일 수 있어요.

코딩 하기

1. 엔트리 인공지능 탭에서 ‘비디오 감지’ 블록을 불러옵니다.

‘비디오 감지’ 블록들을 사용해 여러분의 움직임을 연주를 위한 입력 값으로 활용할 수 있어요!

2. 코딩에 사용할 오브젝트들을 추가합니다.

오브젝트 이미지 다운은 필수가 아니므로 이미지를 직접 만들거나 엔트리에서 제공하는 이미지를 사용해 코드를 작성해도 됩니다.

시작, 연주, 도, 레, 미, 파, 솔 오브젝트를 추가합니다.

음정(도~솔) 오브젝트들은 실행화면에 오른쪽 그림과 같이 배치합니다.

3. 코딩에 사용할 속성을 추가합니다.

상단의 속성탭에서 ‘변수’를 클릭하고 아래와 같이 변수를 추가합니다.

각 음정의 변수 값을 확인할 수 있는 음정 변수만 화면에 보이도록 설정합니다.

상단의 속성 탭에서 ‘신호’를 클릭해 ‘go 신호’를 추가합니다.

4. 시작 오브젝트에 코드를 작성합니다.

‘시작 오브젝트’에 초기값 설정과 연주 신호를 보내는 코드를 작성합니다.

먼저 프로젝트에 사용할 카메라를 선택합니다.

음정의 변수의 값을 ‘0’으로 정하고 연주 시작을 의미하는 ‘go 신호 보내기’ 블록을 더해줍니다.

5. 음정 오브젝트 별로 코드를 작성합니다.

시작 오브젝트로부터  ‘go 신호’를 받은 뒤 수행할 내용을 입력합니다.

‘자신에서 감지한 움직임 값’은 실행 화면 위 음정 오브젝트 주변에서 감지되는 움직임을 의미합니다.

‘만일 ~ 이라면 ‘블록과 ‘>’ 블록을 사용해 실행 화면에 위치한 오브젝트들 주변의 움직임이

여러분이 설정한 값을 초과하면 해당 변수의 값을 ‘1’로 정하는  코드를 작성합니다.

음정 변수들을 구별할 수 있도록 ‘도~솔’에 각각 ‘1~5’의 숫자를 할당합니다.

6. 연주 오브젝트의 코드를 작성합니다.

* 아래의 블록들은 연결해서 작성해야 하지만 설명을 위해 분리해 놓았어요.

완성된 코드는 아래에서 확인할 수 있습니다.

반복문 테두리 작성하기

‘go 신호’를 받고 음정 오브젝트에서 동작이 감지 되었을 때 치즈 스틱이 동작하는 코드를

‘연주 오브젝트’에 작성합니다.

음정의 알파벳을 5×5 매트리스로 표현할 것이므로 ‘5×5 매트릭스 시작하기’ 블록을 넣어줍니다.

연주와 관련 코드를 작성하기 전 여러분의 동작을 계속해서 감지할 수 있도록 ‘계속 반복하기’ 블록을 사용합니다.

내부 코드 작성하기

바로 위에 작성한 ‘계속 반복하기’ 코드 안에 ‘만일 ~이라면 아니면 ~’ 블록을 5개 삽입하여

‘음정’ 변수의 값(0~5)들이 변할 때마다 치즈 스틱이 연주할 음정을 입력합니다.

오브젝트 주변에 움직임이 없는 상황은 ‘0’으로 정합니다.

각 음정 별로 5×5 매트릭스에 나타낼 글자와 색을 지정해 주고 연주할 음정과 박자도 정해줍니다.

음정을 한 번 연주한 뒤에는 값을 ‘0’으로 정해 이어서 재생할 소리와 겹치지 않도록 합니다.

같은 블록 조합을 음정 값이 ‘2~5’인 경우에 대해서도 작성해 줍니다.

7. 완성된 연주 오브젝트의 코드는 아래와 같습니다.

자 이제 인공지능 블록의 비디오 감지로 악기 없이 여러분의 손동작만으로 좋아하는 곡을 연주해 보아요!

응용하기

라, 시 등 음정을 더하기 위해서 어떤 오브젝트와 블록을 추가해야 하는지 친구들과 논의해요.

비디오 감지에 있는 사람 인식 기능을 활용하면 어떤 활동을 할 수 있을지 생각해 보아요.