전자부품쇼핑몰 아이씨뱅큐 - 전자부품, 오픈소스 하드웨어의 모든 것

국내최대 전자부품쇼핑몰로 아두이노, 마이크로비트, 라즈베리파이, LCD부품, 코딩교육키트 등 판매 및 PCB/SMT주문임가공 서비스를 제공.

www.icbanq.com

 

TPBot Car Kit : 마이크로 비트 용 스마트 카 로봇 키트 (마이크로 비트 보드 미포함) : 마이크로비

TPBot micro : bit 프로그래밍이 가능한 스마트 카는 아이들의 상상력과 창의력을 자극하는 교육 도구입니다! - 65100원 국내 최대 전자부품 전문 쇼핑몰 - 아이씨뱅큐

www.icbanq.com

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

 

드디어 자유 미션인 TPBot으로 '미로찾기'를 만들어 볼게요!.

TPbot 사용기에서 사용했던 코드에 약간에 수정과
서보 모터를 추가하고 네오픽셀을 사용하기 위해 TPBot 연결
단자를 직접 만들었어요.

 

TPBot에 레고블록을 이용하여 서보 모터 장착

레고블록과 연결 가능한 서보 모터가 있어 TPBot에 나름 멋져 보여요.

 

직접 만든 네오픽셀을 서보 모터에 장착

링으로 된 네오픽셀이 없어서 주사위 모양으로 만들어 서보 모터쪽에 장착!
집안에서 인두기 사용하기 싫어서 밖에서 했는데 날씨가 별로였지만
열심히 만들었어요^^.

 

밖에서 큐브 모양의 네오픽셀 만들기

 

나름 로봇처럼 보이는 TPBot^^

열심히 블록코딩과 자바스크립트를 이용하여
1. 마이크로비트 LED에 현재 위치 보여 주기
2. 네오픽셀과 서보 모터로 특수 효과 나타내기
3. 네오펙셀로 현재 상태 나타내기(준비, 정상 작동, 실패)
4. 라디오 기능으로 조이스틱:비트를 이용하여 TPBot 조종하기
4. 앞으로 가기, 오른쪽으로 돌기, 왼쪽으로 돌기
기능을 구현 했어요.

TPBot에 구현된 기능 설명

제가 가지고 있는 TPBot의 경우 같은 값으로 모터를
작동 시킬 경우 한쪽으로 비스듬하게 기우는데, 정확하게
값을 찾지 못했어요. 배터리 잔량에 따라서도 원하는 데로
조종이 안되더라구요(정말 많이 시도 시도했어요) ㅠㅠ.

 

그래도 시연 영상이 있으니까 한번 보시죠!.

구현된 코드는 공유되어 있어서, 아래의 링크로 확인할 수 있어요.

 

bonghanwith.tistory.com/200

 

[미로찾기] 가상의 미로에서 동작 구현하기

가상의 미로를 만들고 현재 방향에 따른 '앞으로 가기', '왼쪽으로 돌기', '오른쪽으로 돌기'를 구현해야 한다. 어렵다면 어렵고, 쉽다면 쉬울 수 있다. 코드를 작성하면서 어려웠던 건 블록코드

bonghanwith.tistory.com

makecode.microbit.org/_AfTJzyWozWUi

 

미로찾기_tpbot

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

makecode.microbit.org/_AUuAkvbAt1y9

 

조이스틱비트V2_tpbot

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

이제야 체험단 마무리가 된거 같아 기분이 좋아요.

아이들과 게임을 같이 하려고, 이것 저것 준비하고 만드는 과정에서 여느 때보다
많은 것들을 했어요. 생각과는 다르게 아이들의 호응이...... 다음에는
모든 과정을 아이들과 함께 할 수 있게 준비를 해야 겠어요.
여담으로 아이들에게 '포켓몬 X'를 2시간 정도 하게끔 해줬는데, 정말
좋아 했어요. 저는 보고만 있었지만, 같이 하고 싶었어요^^.

그럼 이만~ 안녕~

 

이전글 - 2021/02/10 - [EDU/TPBOT(TianPeng)] - [ICBANQ] 나도체험단 체험단 54기] TPBot Car Kit 사용기

 

마이크로비트 TP봇 공식 구입처 : 아이씨뱅큐 https://www.icbanq.com/
아이씨뱅큐 공식 카페 : https://cafe.naver.com/icbanq
아이씨뱅큐 공식 블로그 : https://blog.naver.com/icbanq
마이크로비트 공식 카페 : https://cafe.naver.com/bbcmicro
나도메이커 유튜브 채널 : https://www.youtube.com/user/ICbanQ

반응형
블로그 이미지

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

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

가상의 미로를 만들고 현재 방향에 따른 '앞으로 가기',
'왼쪽으로 돌기', '오른쪽으로 돌기'를 구현해야 한다.
어렵다면 어렵고, 쉽다면 쉬울 수 있다. 코드를 작성하면서
어려웠던 건 블록코드를 이용하여 2차원 배열을 만들고
사용하는데 많이 불편했다. 아래 사진들을 보면 알 수 있다.


미로 = [[1, 0, 1, 1, 1], 
        [1, 1, 1, 0, 1], 
        [1, 0, 0, 0, 1], 
        [1, 1, 1, 0, 1], 
        [0, 0, 1, 1, 1]]
        
if (현재위치[0] - 1 >= 0 && 미로[현재위치[0] - 1][현재위치[1]] == 1) {
    LED끄기()
    현재위치[0] = 현재위치[0] - 1
    LED켜기()
    return
}

 

그래서 큰 틀은 블록코드로 작성하고, 복잡하거나 반복적인 부분은
자바스크립트 또는 파이썬 코드로 작성하면 좋다.

 

가상의 미로(5X5)는 2차원 배열로 지나다닐 수 있는 곳은 1로, 벽은 0으로
만들고 '현재위치'와 '현재방향'을 저장할 수 있는 변수도 만든다.

 

여기서 현재 방향에 따른 '앞으로 가기', '왼쪽으로 돌기', '오른쪽으로 돌기'를
구현하는 게 핵심이다. 방향은 동, 서, 남, 북이 있다.

남, 북 방향은 행 방향으로 이동하고
동, 서 방향은 열 빙향으로 이동한다.

 

현재 방향이 남쪽이 경우
'왼쪽으로 돌기'를 하면, 서, 북, 동, 남 순으로 방향이 변하고
'오른쪽으로 돌기'를 하면 동, 북, 서, 남 순으로 방향이 변한다.

 

북, 동, 남, 서 -> 0, 1, 2, 3

if (현재방향 == 0) {
    // 북쪽 위로 이동
    if (현재위치[0] - 1 >= 0 && 미로[현재위치[0] - 1][현재위치[1]] == 1) {
        LED끄기()
        현재위치[0] = 현재위치[0] - 1
        LED켜기()
        return
    }
}

위 코드를 설명하자면, 현재 방향이 북쪽이고, 앞으로 가기 동작을 할 경우
"앞으로 가야 할 곳이 미로 경계선 안에 있어야 하고,
앞으로 가야 할 곳이 길이면 현재 방향으로 이동 한다."를
코드로 작성한 것이다.

 

아래의 링크에서 블록코드와 자바스크립트&파이썬 코드를 확인할 수 있다.

makecode.microbit.org/_eqy7dH6xiTMq

 

미로찾기_구현하기

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

반응형
블로그 이미지

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

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

나의 체험단 자유 미션은 '미로 찾기'다.
단순하게 입구에서 시작해서 출구를 찾는 것이다.

 

동작은 단순하다. '앞으로', '왼쪽으로 돌기', '오른쪽으로 돌기'다.
캄캄한 미로가 한 치 앞을 볼 수 없기 때문에 '앞으로' 동작 시
갈 수 없다면, 다른 방향으로 동작을 해야 한다.

 

- 게임 시나리오 1 -

1 - 가상의 미로 입구에 있는 TPBot!
2 - 앞으로 전진 : 벽이 없어 전진한다. 이동+
3 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

4 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

5 - 앞으로 전진 : 벽이 있어서 전진할 수 없다. 이동+, 벽에 쿵+
6 - 왼쪽으로 돌기
7 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

8 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

9 - 앞으로 전진 : 벽이 있어서 전진할 수 없다. 이동+ 벽에 쿵+

10 - 오른쪽으로 돌기

11 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

12 - 왼쪽으로 돌기
13 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

14 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

15 - 출구에 도착하여 미로 찾기 성공

 

- 게임 시나리오 2 -
1 - 가상의 미로 입구에 있는 TPBot!
2 - 마법의 링을 사용하여 가상의 미로 전체를 스캔한다.
3 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

4 - 왼쪽으로 돌기

5 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

6 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

7 - 왼쪽으로 돌기

8 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

9 - 오른쪽으로 돌기

10 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

11 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

12 - 오른쪽으로 돌기

13 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

14 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

15 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

16 - 앞으로 전진 : 벽이 없어 전진한다. 이동+

17 - 출구에 도착하여 미로 찾기 성공

 

간단하다! 그러나 구현해야 할 것들이 많다.

 

- 구현해야 할 것들 -

* 5 X 5 미로
자동 생성 기능을 넣으면 좋겠지만, 패스! 직접 그려서 넣는 걸로

 

* 앞으로 가기, 왼쪽으로 돌기, 오른쪽으로 돌기
위,  아래, 오른쪽, 왼쪽(동서남북)등 방향이 있으므로 방향에
맞게 이동 되게 해야 함. 동장에 따른 효과음 및 RGB LIGHT 넣기

 

* 출구에 도착했을 때
승리 동작 또는 효과음 구현

 

* 벽에 쿵 했을 때
효과음 및 RGB LIGHT 넣기

 

* 마법의 링 사용할 때
일정 시간동안 가상의 미로를 LED에 표시, 
네오픽셀 효과 구현

 

큰 그림은 이 정도로 하고 실제 코딩하면서 필요에 따라서
기능들을 넣고 뺄 생각이다.

반응형
블로그 이미지

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

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

체험단 그림

무상체험단에 어찌어찌 선정됐다.
배송은 2021.01.18부터 된다.
아직 시간이 있어,
이것저것 준비해 본다.

 

활동 일정은 조정이 되어 2021.02.15일까
하면 된다. 설날도 포함! 설날에 조카들과
TPBot을 이용한 게임을 생각해 봤다.

 

길을 만들어 TPBot 조종하기 

이번 체험단 이벤트에는 처음에는 없었던
조이스틱이 포함되었다. 없었다면 생 마이크로비트
또는 다른 조이스틱 또는 핸드폰을 이용해야 한다.
조이스틱이 추가되면서 쉽게 다양한
체험 활동이 될거라 생각된다.

 

조카가 둘이라 한 명은 길을 만들고,
한명은 만들 길을 조이스틱을 조종하면
된다. 그런 나는 길을 만드는 게임판을
만들면 된다.

 

근처 알파문구에서 우드락을 사 와서 바로 제단을 했다.

게임판에 사용될 우드락 조각

필요한 길을 프린터를 이용하여 출력하고, 조각판 양쪽에
붙이면 끝!

 

게임판

밑판에 조각판을 올려서 길을 만들면 되는데,
아무래도 TPBot 움직이면 조각판도 같이
움직일 거 같은 생각이 든다. 

 

1. 벨크로를 사용해 볼까??
2. 사각 귀퉁이 부분을 잘라서 고정할 수 있게
밑판에다가 틀 같을걸 붙일까?

 

1번은 벨크로 자체 두께 때문에 두께가 생기고,
2번은 하면 하겠는데 귀찮다 --.--.

 

네오디움 자석! 글을 쓰면서 바로 주문 완료!

 

집중력이 짧은 조카들에게 블록 코딩 자세하게
해줄 수 없기 때문에 단순하게 움직이는 것만
알려 주고, 하고 싶은 것들을 얘기하면
그때 알려 줘야겠다.

 

14. Joystick:bit V2 — micro bit tutorial

14.1. Introduction Joystick:bit V2 is a game board based on micro:bit. It contains a 4-direction joystick and 4 undefined buttons. At the same time, it enhances the game experience with its on-board buzzer and vibration motor. Joystick:bit V2 can also be u

www.elecfreaks.com

 

정해진 길을 블록 코딩을 이용하여 도착점까지 가기

위는 조이스틱으로 도착점까지 이동하여 게임을 한다.
이번에는 게임판 위에 그려진 길을 보고 '앞으로', '오른쪽 돌기',
'왼쪽 돌기' '반복하기' 블록을 이용하여 게임을 하면 된다.

 

TPBot 기본 기능인 라인트레이서를 이용한 게임.

위에서 만든 게임판과 TPBot만 있으면 된다.
한 명은 랜덤으로 몇개의 조각판을 골라 출발 ~ 도착
점까지 길을 만들고, 한명은 정해진 숫자까지 세고
게임판 위에 TPBot을 올려놓으면 된다.

랜덤으로 몇 개의 조각판으로 게임을 하기 때문에
출발 ~ 도착점까지 길을 못 만들 수 있다. 이 때는
TPBot 지나간 조각판을 사용할 수 방법을
알려 주면 된다.

 

방식은 '파이프 드림'이라는 게임과 같다. 

 

파이프 드림 - 나무위키

2002년작 코미디 영화. 국내에서는 쇠구슬 연주로 알려져있다. 처음부터 끝까지 전부 쇠구슬이 악기를 연주한며 쓰이는 악기들은 다음과 같다. 베이스, 봉고 반조, 봉고 드럼 킷비브라폰튜불라벨

namu.wiki

PC게임도 좋지만, 이쪽이 더 머리도 쓰고 더 움직여야 해서
좋은 거 같다.

 

라이트레이서 기능을 직접 구현하기

직접 구현하게 되면 좋은 점이 있는데! TPBot이 움직이면서
음악 연주를 한다 든 지, 특정 조건에서 특별한 것들을
할 수 있다. 함께 제공된, 네오픽셀, 컬러 센서, 트림포트,
제스처 센서를 이용하면 된다. 

 

 

 

TPBot(TianPeng) — micro bit tutorial

© Copyright 2020, ELECFREAKS Team

www.elecfreaks.com

 

 

Planet X Sensors — micro bit tutorial

© Copyright 2020, ELECFREAKS Team

www.elecfreaks.com

 

가상의 미로 찾기 게임

이번 체험단 활동에서 내가 해야 할 미션이다.
5X5 게임판에서 가상으로 만들어진 미로를 찾는 게임이다.

이미 만들어진 미로를 가지고 랜덤으로 선택해서 게임을
할 수 있다. 그러나 랜덤으로 미로를 생성하려면......

 

고민의 시간......


게임판 하나와 TPBot만으로도 재미있게 할 수 있는 것들이
많은 거 같다. 

 

생각보다 해야 할 것들이 많아졌다. 일단 게임판부터 잘 만들자!

 

 

 

 

반응형
블로그 이미지

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

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,