본문 바로가기
핸드이노 (아두이노 의수)

핸드이노 엔트리 음성인식 활용

by SwMaker_Jun 2024. 7. 28.
728x90
반응형

이번에 소개할 엔트리를 활용한 핸드이노 작동법은

엔트리에 있는 음성인식 기능을 활용해서

핸드이노를 움직이게 해보려고 합니다.

여러분의 목소리를 인식해서 핸드이노가 잘 알아듣고 움직일 수 있는 블록코딩을

이번 시간에 만들어보겠습니다.

 

먼저 블록에서 인공지능 블록으로 들어가서

인공지능 블록 불러오기를 눌러주세요

인공지능 블록 불러오기를 누르면

다양한 인공지능 블록을 선택할 수 있습니다.

이 중에서 맨 하단의 음성인식을 누르고

상단 오른쪽의 불러오기를 눌러주세요

 

적용이 되었다면 인공지능 블록에서 오른쪽 이미지와 같은 블록을

보실 수 있습니다.

이제 본격적으로

블록을 만들어보겠습니다.

먼저 흐름블록에서 계속 반복하기 버튼을 드래그해서 붙여줍니다.

코딩에서 루프를 만들어주는 블록과 동일합니다.

이후에는 한국어를 음성할 수 있는 환경을 만들어주기 위해서

인공지능 블록에서 한국어 음성 인식하기를 드래그래서 계속 반복하기 블록 밑에 바로 놓아줍니다.

그리고 음성을 인식하기 위해서는 마이크가 필수적으로 필요합니다.

노트북을 사용하시는 분들은

자체 내장 마이크가 존재하기 때문에 문제가 없지만

데스크탑을 이용하시는 분들은 마이크를 별도로 구매하셔서

컴퓨터와 연결을 해주셔야 합니다.

흐름블록에서 만일 참이라면 블록을 끌어 당겨와서

한국어 음성 인식하기 바로 밑에 놓아주세요

이제는 판단블록에서 10 != 10이라는 블록을 참 대신 바꿔주세요

드래그해서 참 블록에 갖다 놓으면 바로 대체가 됩니다.

이 블록은

10은 10과 같지 않다는 뜻을 의미합니다

주로 이 블록은 두 값이 서로 다른지 파악하는데 사용됩니다.

이제는 계산 블록에서

안녕 엔트리! 에서 엔트리의 시작 위치라는 블록을

10 != 10의 왼쪽에 위치한 10 자리에 놓아주세요.

여기서 안녕 엔트리!에서 엔트리의 시작 위치라는 블록은

안녕 엔트리!에서 엔트리가 위치하는 번호는 무엇인지

알려주는 역할을 합니다.

컴퓨터에 정보가 저장될 때 저장되는 장소에 따른 번호가 있습니다.

이를 인덱스라고 합니다.

예를 들어 [1, 2, 3, 4]라는 정보가 컴퓨터에 있고

1을 도출하고 싶은데 이 자리의 인덱스는 0입니다.

2는 인덱스 1번

3은 인덱스 2번

4는 인덱스 3번입니다

모든 시작은 인덱스 0번으로 시작합니다.

이 처럼 안녕 엔트리!라는 정보를 입수했을 때 엔트리의 인덱스가 무엇인지 알려줄 수 있는 블록입니다.

이제는 인공지능 블록에서 음성을 문자로 바꾼 값을

안녕 엔트리!의 자리에 놓아주세요

그리고 엔트리를 안녕으로 바꿔주세요.

그리고 10을 0으로 바꿔주세요.

이렇게 바뀐 블록은

마이크를 통해서 우리가 안녕이라는 단어를 말하면

그 안녕이라는 단어의 위치를 인덱스를 말해줍니다.

그런데 이 때 이 인덱스의 위치가 0이 아니라는 조건이 발생하면

이 조건을 만족해서 우리가 핸드이노에게 명령을 내릴 수 있습니다

핸드이노가 컴퓨터와 연결되어 있는 상태에서 하드웨어 블록에서 가위바위보를 활용해서

이렇게 블록을 만들어 보았습니다.

이렇게 만들어진 블록은

우리가 컴퓨터에 목소리로 안녕이라는 말을 인식하면

안녕이라는 말을 듣고

핸드이노가 저희들을 반기며

손 인사를 할 거예요.

 
 
 
00:1600:16
 
  •  
  •  

 

음성인식으로 핸드이노 움직이기

그리고 제가 아까 !=에 대해서 설명해드렸는데 이 부분에 대해서

헷갈리는 분들이 아마 있을거예요

안녕이라는 단어가 저장된 위치가 0이 아니라면

이라는 조건이 맞아 떨어지면 핸드이노가 움직인다는 상황은

안녕이라는 말을 인식할 때 마다 핸드이노가 움직이게 끔 하는 조건이기 때문입니다.

우리가 계속 안녕을 입력하면

그 단어들은 인덱스가 0이 아닌 위치에서 저장되기 때문에

항상 안녕이라는 단어를 인식해 움직일 수 있는 조건이 되기 때문입니다.

다시말해서 안녕이라는 단어를 매번 잘 이해할 수 있는 조건을

코딩블록으로 만들었다는 것을 알 수 있어요.

처음에 배웠던 블록을 응용해서 가위, 바위, 보라는 말에 반응할 수 있도록 코딩을 만들었습니다.

여기에서 중요한 것은

핸드이노가 인식될 수 있는 단어를 노란색 타원형 블록의 왼쪽에 기입하는 거예요.

그래서 저는 가위, 바위, 보로 바꿔쓰고

그 명령어에 따른 핸드이노 블록을 가져와서 코딩을 해봤습니다.

한번 작동을 시켜볼게요.

 

 
 
 
 
00:0000:18
 
  •  
  •  

 

가위, 바위, 보라고 음성인식

이번 시간에 배웠던 방식과 동일하지만 단어와 블록만 수정하면

여러분이 원하는데로 핸드이노를 작동시킬 수 있어요.

이번에는 다른 블록을 만들어 보려고 합니다.

저희 핸드이노 하드웨어블록에서는 다양한 블록을 이렇게 볼 수 있습니다.

가위바위보 블록,

숫자세기블록,

손 제스처 블록,

손가락을 천천히 접는 블록,

랜덤하게 가위, 바위, 보 중에 하나가 나오는 블록,

그리고 여러분들이 임의로 손가락을 펴고 접힐 수 있는 블록

총 6가지로 구성되어 있습니다.

이번에는 손 제스처 블록을 활용해서 코딩을 만들어 보았습니다.

손 제스처 블록에는 따봉, 피스, 약속, 브이 4가지 명령어가 있습니다.

이번에 제가 음성인식을 통해서 어떻게 손 제스처 블록들이 움직이는지

보여드리겠습니다.

그리고 참고로 음성인식시 "브이"는 한국어로 인식이 잘 안되어서

영어 소문자 "v"로 대체했습니다.

 
 
 
00:0000:25
 
  •  
  •  

 

핸드이노로 브이, 약속, 따봉, 피스 음성인식하기

이렇게 핸드이노를 활용하면

재밌게 엔트리를 통해서

코딩을 배울 수 있어요.

뿐만 아니라 파이썬이나 아두이노를 통해서도 핸드이노를 작동시켜 볼 수 있답니다.

728x90
반응형