허스키렌즈로 TAG를 인식하여 랜덤으로 효과를 적용시키기

마리오 카트 게임을 보면 중간중간에 아이템이 있는데, 그걸 먹으면 속도가 빨라진다던가 상대방에게 물방울을 던진다. 마퀸 플러스와 허스키렌즈를 이용하여 비스한 상황을 만들어 보려고 한다.

 

허스키렌즈 태그 인식에 필요한 블록

태그 인식을 하려면 먼저 [시작하면 실행] 블록에 위 두 블록을 추가하고 'Tag Recognition'값으로 설정한다.

 

어떻게 인식할 것인가??

TAG와 거리가 멀던 가깝든 인식을 한다. 그래서 이 부분을 필수 미션에서는 검정색 패드(정지선)를 라인 트래킹 센서를 이용했다. 자유 미션에서는 허스키렌즈로 한다. 

적절한 거리에서 TAG 인식 방법

TAG를 인식하면 TAG를 인식한 범위의 가로, 세로 크기를 알 수 있다. 정당한 거리에서 인식할 수 있는 크기를 확인 하니 50정도가 됐다. 편의상 이 블록에 랜덤효과 적용을 다 하지 않고, 함수로 따로 만들었다.

 

랜덤 효과 적용하기

랜덤효과 적용 함수

각각의 함수들을 따로 만들었다. 지금은 TAG를 지나칠때 동작하는지만 확인하는 차원에서 만들었고, 실제 마퀸 카트에 들어갈 효과는 다시 만들 예정이다.

 

실제 마퀸 플러스에 다운로드해서 확인한 결과, 잘 동작된다. 

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

당근에서 겟한 10만원 갤럭시 노트8

노트8 & preppy 만년필 홀더

오랫만에 당근에서 유쾌한 챗을 통해 설레는 거래를 했다. 개인적으로 삼성 제품보다는 LG 제품을 좋아한다. 몇년 동안 LG페이를 사용가능 하지만, LG가 모바일 사업부를 접어서 그것을 대체할 수 있는 삼성페이 가능한 제품인 노트8을 당근했다. 노트8을 필기를 할 수 있다는 큰 장점이 있지만, 기본 S펜으로는 별루라 집에 있던 preppy 만년필을 개조해서 S펜 홀더로 만들었다. 느낌 최고다. ^^

반응형

'일상다반사' 카테고리의 다른 글

버거킹 상품권  (0) 2021.05.29
양동근(YDG) 골목길  (0) 2021.05.27
노인 차량이동 서비스  (0) 2021.05.10
[음악] 괴물 OST 내 이름은 이동식  (0) 2021.04.29
[음악] 모범택시 OST SILENCE : YB  (0) 2021.04.29
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

마퀸 & 마퀸 플러스 그리고 마이크로비트 마퀸으로 배우는 AI 세상

마이크로비트 마퀸으로 배우는 AI 세상

유튜브 나도메이커 채널에서 '마이크로비트 마퀸으로 배우는 AI 세상' 책으로 라이브 방송을 진행할 예정이다. 마퀸, 블록코딩, AI, 마이크로비트에 관심이 있는 친구들이라면  재미있게 배워 볼 수 있는 좋은 기회다. 책 전부를 라이브 방송으로 전부 소화할 것인지는 모르겠지만, 같은 주제를 가지고 친구들끼리 소통을 할 수 있는 게 좋다. 물론 나도 참여할 거다.

 

참여하고 싶은 친구가 있다면 아래의 링크를 통해서 얻으면 된다. 

 

나도메이커

안녕하세요! 나도메이커입니다! 저희 채널은 전자엔지니어와 Maker, DIY 매니아들을 위한 다양한 정보를 제공합니다! 또한 반도체 전자부품, 로봇, 오픈소스하드웨어, 아두이노, 라즈베리파이, AVR,

www.youtube.com

 

 

코딩교육을 위한 BBC 마이크로비트... : 네이버 카페

코딩교육을위한 BBC microbit(micro:bit) 한국 총판인 element14 공식 후원 사용자모임 카페입니다.

cafe.naver.com

 

 

마이크로비트 마퀸으로 배우는 AI세상

'마퀸과 함께라면 어디든 갈 수 있어요!'여러분은 ‘코딩’ 하면 어떻게 생각이 드시나요? 예전에는 마냥 어렵고 다가가기 어려웠겠지만, 요즘 시대엔 ‘코딩’이라면 남녀노소 할 것 없이 한없

www.yes24.com

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

A, B 버튼 이벤트 전달하기

조종기와 마퀸카트 간의 통신 중 이벤트를 전달해야 할 경우가 있다. 예를 들어 조종기에서 A버튼을 누루면, 마퀸카트에서 A버튼 누른 것처럼 동작해야 한다. 간단한 방법이 있다.

 

[고급 > 고급제어 > 이벤트 생성] 블록

d이벤트 생성 블록
사용 예

이렇게 블록을 만들면 마퀸카트에서 A, B버튼 누른 것처럼 할 수 있다.

 

 

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

기존 R/C CAR 구현의 문제점

가속도 센서를 감지하면 실행 블록 사용하여 간단하게 구현을 할 수 있다는 장점은 있다. 대신 빠르게 동작(제스처)을 하다 보면 조종기와 R/C CAR가 다를게 동작한다. 예를 들자면 조정기는 왼쪽 기울기 동작을 하고 있는데 R/C CAR는 오른쪽을 동작을 한다. 이유는 이벤트 감지 시 딱 한번 이벤트를 실행하기 때문이다. 또한 한 동작 구현이 5가지로 제한되어있다. 

업그레이드된 R/C CAR 구현하기

기존 5가지의 동작에서 대각선 방향이 추가된 9가지 동작을 구현했다. 한번 더 업그레이드 한다면 방향의 크기를 구현할 생각이다. 여기까지 하면 해야 할 것들이 많아져서 자유 미션은 9가지 동작으로 할 것이다.

 

코드 비교

동작(제스처) 감지하면 실행 블록 이용 - 5가지 동작
가속도센서 X. Y출을 이용하여 9가지 동작(제스처) 구현 블록 코드

FC(앞으로) , FL(왼쪽 앞으로), FR(오른쪽 앞으로), CL(외쪽), BL(왼쪽 뒤로), BC(뒤로), BR(오른쪽 뒤로), CR(오른쪽), CC(정지) 9가지 동작(제스처)에 맞게 R/C CAR에서 구현해 주면 된다. 특이한건 boundray 변수를 이용하여 가속도센서가 반응하는 크기를  조절한다. 보통 boundary과 -boundary을 코드로 표현할 때는 그대로 사용하면 되는데, 블록은 [0 빼기(-) boundary] 로 해야 한다.

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

메이크코드 블록 에디터에서 배열에 함수 넣기

아마도 처음 프로그램을 배우는 사람들은 뭔 소리야 할 것이다. 왜냐면 숫자 또는 문자만 넣은 것만 봤기 때문일 거다. 하지만 배열에 다 넣을 수 있다. 그래서 블록에서는 할 수 없어서 자바스크립트 에디터에서 해봤다. 된다.

 

문제는??

문제는 블록 에디터로 변경할 경우 에러가 난다. 어쩌고 저쩌고, 무시하고 블록 에디터로 변경하면 함수 이름들이 다 바뀐다. 원하지 않은 코드들이 추가된다.

 

왜 배열에 함수를??

자유 미션이 마퀸 카트를 만드는 것이다. R/C CAR 기능에 마리오 카트처럼 중간중간에 허스키렌즈로 아이템을 인식하면 랜덤으로 효과를 적용하는 것이다. 그 효과를 적용하기 위해서 여러 개의 함수를 만들어 배열에 넣고 랜덤으로 실행하려고 했다. 새로운 효과가 추가되면 함수 만들고 배열에 넣으면 끝이다. 이렇게 하지 않을 경우 함수를 만들고, 제어문을 추가하고, 자잘한 코드를 추가 또는 수정을 해야 한다. 

 

이번 자유미션은 후자의 방식으로

전부를 스크립트 코드를 쓰지 못하기 때문에 귀찮더라도 후자의 방식으로 해야겠다.

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

무상체험단 활동하면서 해야 할 숙제 중 하나인 문서작업

블로그와 카페에 활동 컨텐츠를 포스팅하는 것 이외에 숙제가 하나 더 있다. 문서 작업이다. 항상 하는 게 아니라서 더딘 작업이다. 블록코딩 책들을 찾아보고 눈에 띄는 스타일을 찾아서 익혀야 될 거 같다. 그래야 앞으로도 나에게 시간 적로나 PDF 책 만들 때도 많은 도움이 될 듯하다.

 

필수 미션을 하면서 느낀 점

블록을 가지고 프로그래밍을 하기 때문에 문서로 블록 표현하는 게 꽤 까다롭다. 글 대신 그림으로 넣기엔 손이 많이 가고, 글로 하기엔 전달이 잘 안되는 거 같다. 자유 미션에는 실험삼아 손이 많이 가더라도 블록 표현을 그림으로 해볼까??

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

노인학대로 XX요양원 영업정지 처분 예정

지인 엄마가 요양원에 계신다. 지인 차로 엄마를 모시고 이동 하기에는 너무 힘들다. 나중에 쓸 얘기지만, 해당 요양원이 노인학대로 영업정지 처분이 내려질 예정이다. 그래서 엄마를 다른 곳으로 모셔야 해서 병원에서 검사를 받으셔야 한다. 요양원 측에 차량서비스 되냐고 물어보니 없다고 한다. 

주민센터에 노인 차량이동 서비스 요청하기

그래서 지인이 주민센터에 알아 봤는데, 다행히도 휠체어 차량이동서비스가 있다고 한다. 너무나 다행이다 ㅠㅠ. 주민센터 또는 시청 노인복지과에 연락해 보면 시마다 다르지만, 비슷한 서비스가 있을거라 생각한다. 

 

당일 차량지원으로 정말 편하고 힘들지 않게 검사를 받고 왔다.

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

집에서 직접 만든 인절미

집에서 만든 인절미

지난 주에 어버이날이 있어서 동생 식구들이 집에 왔다. 종종 집에서 엄마가 인절미 를 만드신다. 내 최근 기억의 엄마표 인절미는 짰다^^. 이번엔 동생이 떡메치기를 했다. 가정집이라 작은 절구를 사용했다. 시중에서 기계로 하는 것보다는 쫄깃함이 덜하지만 그래도 간편하게 해 먹을 수 있다.

식어야 제맛

며칠 지나고 먹었더니, 식으니 훨씬 쫄깃하고 맛났다. 인절미에 쓰인 콩가루는 지인이 준 것이다. 미숫가루 용으로 주스를 해먹을 용도였는데 엄마가 잘 쓰신듯!

반응형

'일상다반사 > 음식' 카테고리의 다른 글

냉동 딸기와 우유!  (0) 2021.06.14
맛있게 라면 먹기  (0) 2021.05.28
조각 치킨과 데리버거  (0) 2021.02.08
라이스페이퍼를 이용한 김부각  (0) 2020.11.23
스파게티땅  (0) 2020.10.02
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.

|| 필수 미션 : 마퀸 플러스가 정지선 앞에 정지하여 정해진 TAG가 인식되면,  경적을 울리고 전진하기

틈틈히 마퀸플러스 & 허스키렌즈 튜토리얼 문서를 보고 연습한 끝에 필수 미션을 할 수 있게 되었다. 영어로된 문서이지만, 그림들만 봐도 의미는 대충 알 수가 있다. 최근에 아이씨뱅큐에서 '마이크로비트 마퀸으로 배우는 AI세상' 책을 출판했다. 한글로 된 책이 필요하다면 '마이크로비트 마퀸으로 배우는 AI세상'이 제격인거 같다.

마이크로비트로 배우는 AI세상

처음에는 복잡해 보였지만 필요한 기능을 정리해 보니 몇 개의 블록으로 간단하게 필수 미션을 완료하게 되었다. 필수 미션 시작하자!

|| 준비물

필수 미션을 위한 준비물

  • TAG : apriltag

허스키렌즈에서 인식 할 수 있는 TAG는 apriltag중 tag36h11이다. 어느 정도의 흰색 바탕이 필요하다. 프린터로 출력하여 여백을 충분히 주고 자른다. 사진에서는 TAG를 고정하기 위해 샤오미 배터리와 USB LED램프롤 사용 했다. TAG를 고정할 수 있는 것이면 어떤것이든 좋다.

 

AprilRobotics/apriltag-imgs

Pre-generated AprilTag images. Contribute to AprilRobotics/apriltag-imgs development by creating an account on GitHub.

github.com

  • 마퀸 플러스, 허스키렌즈

최신 펌웨어 버전 V0.53은 tag 인식이 안되는 부분이 있어 V0.51로 사용한다.

  • 마이크로비트 V1, V2, 휴대용 배터리
  • 정지선 

검정패드를 이용하여 정지선으로 사용한다.

 

|| 전체적인 프로그램 구상을 순서도로 표현하기

반응 프로그램(이벤트)을 순서도로 표현하기에는 조금 부족한다. 프로그램을 순서도로 그리는게 함정이지만(힘들지만)^^ 순서도 대로 프로그램을 작성하니 헤매지 않고 좋다. 

전체적인 프로그램 순서도

| 주행

2개의 마이크로비트를 가지고 라디오 기능을 이용하여 R/C CAR 프로그램을 작성한다. 가속도 센서의 'XXX 감지하면 실행' 블록을 사용하여 '앞으로', '뒤로', '왼쪽으로', '오른쪽으로', '정지' 기능을 리모트 컨트롤에 구현하고 '라디오 수신하면 실행' 블록을 이용하여 마퀸플러스에 구현한다.

| 정지선인식

마플 플러스에 있는 적외선 센서(2개 이상)를 이용하여 정지선(검은색 패드)을 인식한다. 

read line-tracking sensor XX block

| 정지

| TAG 인식

아래의 블록을 이용하여 TAG가 인식되었는지 알 수 있다. 

HuskyLens check if ID X frame is on screen from the result block

| 경적 울리기

도솔도레미레도솔 라파라도파미레도 시솔시레솔파미레 미솔레솔도~ 이걸로 정했다. 서울메트로 승강장 내 열차 진입음이다. 

|| 마퀸 플러스 & 허스키렌즈 & 마이크로비트 조립하기




 

초음파 센서 자리에 허스키렌즈를 조립한다. 그리고 I2C포트에 색을 맞춰서 꽂는다. 

 

|| 메이크코드로 블록코딩 하기

순서도에 맞게 하나씩 하나씩 만들어 보자.

| R/C CAR 블록코딩

조종기 블록코딩

1) 새 프로젝트 만들기

새 프로젝트 만들기

'마퀸조종기' 이름으로 새 프로젝트를 만든다. 조종기는 '라디오 그룹을 '1'로 설정하고, '가속도 센서 감지하면 실행' 블록만 사용한다. '무한반복 실행' 블록은 필요 없으니 삭제 한다.

 

2) 앞으로, 뒤로, 왼쪽으로, 오른쪽으로, 정지 이벤트에 대한 블록코딩 하기

마퀸조종기 전체 블록코드

각각의 이벤트에 맞게 '가속도 센서 감지하면 실행', 'LED 출력' , '라디오 전송 문자열' 블록을 이용하여 블록코딩을 한다. 실제 동작을 해보면 반응이 느리다. LED 출력 블록의 갱신 주기(400ms)가 있어서다. 반을을 빠르게 하려면 갱신 주기를 0 또는 LED 출력을 사용하지 말이야 한다. 블록 편집기에서는 할 수 없기 때문에, 그 부분은 자바스크립트 편집기에서 추가하여 갱신 주기를 0으로 만든다.

 

LED 출력 갱신 주기 설명

블록 편집기에서 자바스크립트 편집기로 변경하고 ', 0'을 basic.showLeds 함수에 추가한다.

갱신 주기 0으로 만들기
마퀸조종기 최종 블록코드

마이크로비트 시뮬레이터로 테스트를 한다. 이상 없이 화살표가 표시 되면 마이크로비트에 다운로드를 한다.

마이크로비트에 마퀸조종기 다운로드

마퀸 플러스 블록코딩

1) 새 프로젝트를 만들기

'마퀸카트' 이름으로 새 프로젝트를 만든다. 

 

2) 마퀸 플러스 & 허스키렌즈 확장 프로그램 추가하기

고급 > 확장 메뉴를 이용하여 마퀸 플러스와  허스키렌즈 확장 프로그램을 추가한다. 

   

 

3) I2C 및 라디오 기능 초기화

I2C 및 라디오 기능 초기화

마퀸 플러스 & 허스키렌즈를 사용하기 위해 I2C 초기화를 하고, 허스키렌즈 알고리즘은 Tag Recognition로 설정한다. 마이크로비트 통신을 위한 라디오그룹을 1로 설정한다. 

 

4) 주행을 위한 마퀸 플러스 블록코딩하기

주행을 위한 마퀸 플러스 블록코드

'라디오 수신화면 실행' 블록을 이용하여 forward(앞으로), backwards(뒤로), left(왼쪽으로), right(오른쪽으로), stop(정지) 수신문자열에 동작할 수 있게 블록코딩을 한다. 각각의 동작은 빈 함수로 만들어 놓는다. 

 

5) 앞으로, 뒤로, 왼쪽으로, 오른쪽으로, 정지 함수 블록코딩

앞으로, 뒤로, 왼쪽으로, 오른쪽으로, 정지 함수 블록코드

'LED 출력' 블록을 추가하여 화살표를 그린 후 자바스크립트 편집창에서 ', 0'을 추가하여 LED 표시 갱신 주기를 0으로 만든다. 

 

6) 정지선 인식 블록코딩

정지선인식 블록코드

* 라인트레킹 센서 L2, R2를 이용하여 검은색이 인식되면(정지선)

* 마퀸 플러스 모터의 동작을 멈춘다.

* 허스키렌즈를 이용하여 정해진 Tag를 인식하면 경적을 울리고 앞으로 전진한다.

이것을 findStopLine 함수로 만들어 '무한반복 실행' 블록에 추가한다. 

 

7) 경적 울리기 블록코딩

경적 울리기 블록코드

'도솔도레미레도솔 라파라도파미레도 시솔시레솔파미레 미솔레솔도' 음계만으로 이 노래가 무엇있지 않다면 대단! 들으면 누구나 알 수 있는 노래다. 처음에 음악 블록에 있는 '다다둠'을 사용했다. 그러나 'program too big by' 오류가 났다. 마퀸 플러스 & 허스키렌즈의 차지하는 용량이 꽤 되는거 같다.

 

8) 완성

마퀸카트 전체 블록코드

|| 완성된 블록코드

드디어 완성했다. 부족한 부분이 있어 채우면 좋지만, 어렵게 하는 것 보다 단순한 편이 더 좋은 것 같다.

makecode.microbit.org/_Hmy8W9gF2V4J

 

마퀸조종기

Microsoft MakeCode for micro:bit에서 ❤️ 으로 만들었습니다.

makecode.microbit.org

makecode.microbit.org/_5hu075X3p97P

 

마퀸카트

Microsoft MakeCode for micro:bit에서 ❤️ 으로 만들었습니다.

makecode.microbit.org

|| 동작 영상

필수 미션 동작 영상

중간 중간쯤 보면 마퀸 플러스가 벽을 뚫고 바닥으로 떨어질뻔 했다 ㅠㅠ. 자유 미션 할 때는 넓은 곳에서 해야 겠다. 이제 자유 미션이 남았다. 열심히 공부해서 자유 미션도 열심히 하자!

 

이전글 - 2021.04.30 - [EDU/마퀸 플러스 & 메카닉 파츠] - [마퀸 플러스 & 메카닉 파츠 무상체험단] 개봉기

 

[마퀸 플러스 & 메카닉 파츠 무상체험단] 개봉기

본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다. | 마퀸 플러스 & 메카닉 파츠 개봉기 드디어 무상체험단 제품이 마퀸 플러스(Maqueen Plus)와 마퀸 메카

bonghanwith.tistory.com

다음글 - 2021.05.13 - [EDU/마퀸 플러스 & 메카닉 파츠] - [마퀸 플러스 & 메카닉 파츠 무상체험단] 자유 미션 : 마퀸 카트

 

[마퀸 플러스 & 메카닉 파츠 무상체험단] 자유 미션 : 마퀸 카트

본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다. 자유 미션 : 마퀸 카트 드디어 자유 미션인 마퀸 카트를 다 만들었다^^. 마퀸 카트로 달려 보자 처

bonghanwith.tistory.com

 

마이크로비트 마퀸 공식 구입처 : 아이씨뱅큐 www.icbanq.com/

아이씨뱅큐 공식 카페 : cafe.naver.com/icbanq

아이씨뱅큐 공식 블로그 : blog.naver.com/icbanq

마이크로비트 공식 카페 : cafe.naver.com/bbcmicro

나도메이커 유튜브 채널 : www.youtube.com/user/ICbanQ

 

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,