코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2020-06-09 10:18:50
코코아팹의 지니어스키트 블록으로 기초 소자 공부를 끝내셨다면,
이제 MDF 블록을 활용해서 인공지능 프로젝트를 실습해 보겠습니다.
엔트리 AI 인식 기능을 이용하여 '청기백기 게임'을 만들어 볼까요?
아래 프로젝트로 수업하고자 하는 선생님께선
코코아팹 스쿨(Click)에서 교안 PPT 다운로드가 가능합니다.
우선, MDF블록을 어떻게 결합하고 해체할 수 있는지 가이드 영상입니다.
손으로 누구나 쉽게 결합하고, 해체해서 본인만의 프로젝트를 구상할 수 있도록 설계되었습니다.
단, 너무 힘을 세게 가하면 재질 특성 상 부서질 수 있으니
조심히 다뤄주세요.
본격적으로 엔트리 AI '사람 인식 블록'을 사용해서 게임을 만들어 보겠습니다.
청기 또는 백기 둘 중 하나가 랜덤으로 올라가는 걸 보고,
사람이 같은 쪽 방향의 손을 1초 안에 빠르게, 잽싸게! 들어야 하는 게임입니다.
제대로 손을 들었다면 성공의 축하 멜로디와 녹색 불이 켜지고,
제대로 손을 들지 못하면 실패를 알리는 멜로디와 빨간 불이 켜져요.
오브젝트가 화면에 나올 필요가 없기 때문에
작은 모양의 아이콘으로 생성 후 이름 옆에 눈 모양을 클릭하여 숨겨줍니다.
[Tip] 스프라이트에 카메라 화면이 나오기 때문에 스프라이트에 오브젝트가 나오지 않는 것이 좋습니다.
1) 전체 코드
코드가 길어 링크로 대체합니다.
링크로 들어가신 후 코드를 확인해보세요.
[Tip] 크롬으로 확인하세요!
이번 프로젝트는 엔트리 인공지능 블록에서 비디오 감지 / 읽어주기 기능을 사용합니다.
2) 청기 백기 정하기
청기와 백기 중 하나를 랜덤으로 선택하는 블록입니다.
랜덤값 범위를 0 ~ 1로 정해주면, 0이나 1 두 숫자중 하나가 나오게 됩니다.
여기선 0이 나오면 백기(왼쪽), 1이 나오면 청기(오른쪽)로 정했습니다.
3) 백기(왼쪽)를 올릴 경우
랜덤 블록에서 0이 나왔을 경우 1초 안에 왼쪽 손이 일정 높이 이상 올라갔는지 확인합니다.
손이 올라갔다고 인식하면 1점을 추가하면서 녹색 LED ON + 성공 멜로디를,
손이 올라갔다고 인식하지 못하면 점수 없이 빨간 LED ON + 실패 멜로디를 재생합니다.
4) 청기(오른쪽)를 올릴 경우
백기(왼쪽)과 동일합니다.
랜덤 블록에서 0이 나왔을 경우 1초 안에 오른쪽 손이 일정 높이 이상 올라갔는지 확인합니다.
손이 올라갔다고 인식하면 1점을 추가하면서 녹색 LED ON + 성공 멜로디를,
손이 올라갔다고 인식하지 못하면 점수 없이 빨간 LED ON + 실패 멜로디를 재생합니다.
5) 사람 인식하기
위 블록을 실행하면 카메라를 통해 사람 인식을 시작합니다.
위 블록을 실행한 후 사람이 인식되면 사람의 관절부위를 구분하는데,
이를 이용해서 인식된 사람의 손목 위치를 확인하여 손을 들었는지 확인합니다.
위 사진과 같이 왼쪽이나 오른쪽 손목이 일정이상 올라가면 손을 들었다고 판단합니다.
* 현재 기준치는 30인데 이는 환경에따라 유동적으로 변경해주시면 됩니다.
위와 같이 블록을 제작했을 경우 양손을 다 들었을 때도 성공으로 측정합니다.
그렇기 때문에 조건을 아래와 같이 좀더 추가해주면 양손이 들렸을 경우에는 실패로 측정하도록 할 수 있습니다.
6) 종료 알림
총 10번의 게임이 끝나면 모터를 처음 위치로 되돌리고 종료 멜로디를 재생합니다.
그 다음 얻은 점수를 말해줍니다.
저희 가이드를 따라해보신 후에는
직접 본인이 생각하는 결과물을 구현해서 AI블록을 접목해 보시는 건 어떨까요?
코코아팹 '프로젝트'에 올려서 다른 분들과 공유도 해 주세요.
kocoafab
안녕하세요. 코코아팹 운영자입니다.