본문 바로가기
AI교육/마이크로비트(Micro:bit)

마이크로비트(micro:bit) 라디오 기능 활용 '폭탄 돌리기(텔레폭탄) 게임' 만들기

by 조크리 2023. 7. 5.
반응형

 

 

마이크로비트(micro:bit)는

영국의 방송사인 BBC, 마이크로소프트, 삼성전자, ARM 등의 회사가 함께 개발한

가로 5cm, 세로 4cm의 초소형 교육용 보드입니다. 

 

마이크로비트(micro:bit)에는 다양한 입력장치와 출력장치가 포함되어 있는데요. 

기울기 센서, 방위센서, 마이크, 블루투스(라디오), LED, 스피커, 확장 핀 등이 이 작은 보드 안에 포함되어 있죠. 

 

마이크로비트(micro:bit)에 코딩을 하면

온도계, 만보기, 무전기, 로봇 청소기, 자동문, 스마트팜 자동 물주기 장치 등 다양한 작품을 만들 수 있습니다. 

 

마이크로비트(micro:bit)를 사용해 어떤 작품들을 만들 수 있는지는

아래 글을 통해 확인해보세요!

'마이크로비트로 정글 탐험' 책

 

'마이크로비트로 정글 탐험' 책 추천 감사합니다!

마이크로비트는 초중등 교육 현장에서 가장 많이 사용되는 피지컬 컴퓨팅 도구입니다. '마이크로비트로 정글 탐험' 책은 지난 2020년 저와 서울교육대학교 전석주 교수님이 집필진으로 참여하여

creatorjo.tistory.com

 

 

이미지 출처: https://smartstore.naver.com/marusysedumall/products/5419736998

 

 

 

 

 

 

혹시 폭탄 돌리기 게임을 해보셨나요?

폭탄 돌리기 게임은 말그대로 언제 터질지 모르는 폭탄을

전달하는 게임입니다.

 

시간은 랜덤으로 정해져 있고 친구에게 폭탄을 전달합니다.

폭탄은 차례대로 전달되다가 정해진 시간이 끝나면 팡 터지죠!

폭탄이 팡 터졌을 때 폭탄을 갖고 있는 친구는 벌칙 당첨이겠죠. 

 

이미지 출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=superrang&logNo=222082559637

 

 

이 폭탄 돌리기 게임을 마이크로비트로도 만들 수 있습니다. 

 

마이크로비트의 라디오 통신을 활용하면 마이크로비트끼리 서로 소통할 수 있는데요. 

이 기능을 활용하면 

LED 폭탄을 친구에게 전달할 수 있죠. 

랜덤으로 설정된 시간 안에 LED 폭탄을 서로에게 전달하다가

시간이 다 되면 LED 폭탄이 터지게 됩니다!!

터진 폭탄을 가진 친구는 벌칙을 수행해야 겠죠~

 

 

 

 

그럼 지금부터 '텔레폭탄' 게임을 만들어 보겠습니다. 

 

 
 


목차

     

     

    1단계: 라디오 기능 살펴보기

     

    텔레폭탄 게임을 만들기 전에

    마이크로비트의 라디오 기능을 살펴보겠습니다. 

     

    라디오 기능을 사용하면

    마이크로비트끼리 무선으로 통신할 수 있습니다. 

     

    마이크로비트끼리 서로 문자 메시지를 보내거나, 2명 이상이 함께할 수 있는 게임을 만들 수도 있죠. 

     

     

    라디오 기능을 사용하려면 가장 기본적인 세팅을 해주어야 합니다. 

    우선 서로 소통할 마이크로비트끼리 라디오 그룹을 똑같이 설정해주어야 합니다. 

    라디오 그룹은 0~255까지 설정할 수 있는데

    서로 같은 그룹으로 코딩된 마이크로비트끼리는 서로 소통할 수 있는 상태가 되는 것이죠. 

     

    또한 마이크로비트끼리 서로 멀리서도 소통하도록 할 수 있는데

    전송 강도를 최대 강도(7)로 맞추는 방법을 사용하면 됩니다. 

    최대 강도 7로 코딩을 해두면 교실에서 운동장까지 멀리 떨어져 있어도 소통이 된답니다. 

     

    이미지 출처: 놀면서 배우는 코딩(마이크로비트로 정글 탐험)

     

     

    그럼 라디오 기능을 활용해

    어떤 소통이 가능한지 살펴보겠습니다. 

    우선 라디오 통신을 통해 '숫자'를 보낼 수 있습니다. 

    통신을 한다는 것은 보내는 마이크로비트와 받는 마이크로비트가 있다는 것이겠죠!

     

    아래처럼 보내는 마이크로비트에는

    '라디오 전송:수' 블록을 코딩하고 숫자를 입력합니다.

     

    그리고 받는 마이크로비트에는

    '라디오를 수신하면 실행: receivedNumber' 블록을 연결해줍니다. 

     

    그럼 보내는 마이크로비트에서 숫자 1을 보내면

    받는 마이크로비트 LED에 숫자 1이 나타나게 됩니다. 

     

    이미지 출처: 놀면서 배우는 코딩(마이크로비트로 정글 탐험)

     

     

    2단계: 메이크코드(마이크로비트) 접속하기

     

     

    라디오 기능도 살펴보았으니 텔레폭탄 게임을 코딩하러

    메이크코드(마이크로비트)에 접속해보겠습니다. 

     

    이 중 마이크로비트에 코딩할 수 있는 메이크코드 마이크로비트에 접속해 보겠습니다. 

    https://makecode.microbit.org/#

     

    Microsoft MakeCode for micro:bit

    A Blocks / JavaScript code editor for the micro:bit powered by Microsoft MakeCode.

    makecode.microbit.org

     

     

     

    3단계: 새 프로젝트 -  '텔레폭탄 게임' 생성

     

     

    그럼 이제 새 프로젝트를 클릭하여 프로젝트의 이름을 쓰고

    직접 블록 코딩을 해보겠습니다. 

     

    새 프로젝트를 클릭한 뒤

    '텔레폭탄 게임' 라고 제목을 쓰고 '생성' 버튼을 눌러줍니다. 

     

     

     

     

     

    4단계: 텔레폭탄 게임 코드 작성하기

     

    이제 본격적으로 텔레폭탄 게임 코드를 작성해보겠습니다. 

     

     

    4-1. 폭탄시간 변수 설정

     

    가장 먼저 랜덤으로 시간을 설정해주어야 합니다. 

    따라서 시간을 나타내는 변수를 하나 만들어 주어야겠죠. 

     

    폭탄을 돌리는 시간이니 '폭탄시간'으로 설정해주겠습니다. 

     

     

     

    4-2. 시작했을 때 변수 설정, 라디오 그룹 설정

     

    변수를 만들었다면마이크로비트에 전원이 들어왔을 때, 즉 시작하면에 해당되는 코드를 작성해보겠습니다.우선 바로 시간이 흐르면 안되기 때문에'폭탄시간' 변수에 -1를 저장해둡니다. 그리고 짝과 라디오 그룹을 맞추어 줍니다. 2명이 함께 만들어도 좋고, 3명, 4명 등 여러명이 만들어도 좋습니다.다만 라디오 그룹은 꼭 똑같이 맞춰주어야합니다. 

     

     

     

     

    4-3. A+B 버튼을 누르면 게임 시작

     

    라디오 그룹까지 맞춰주었다면 

    게임 시작 부분을 코딩해주겠습니다.

    게임 시작은 A+B버튼을 눌렀을 때 시작하도록 해보겠습니다. 

    친구와 동시에 A+B 버튼을 눌르면 같이 게임을 즐길 수 있습니다. 

     

    A+B 버튼을 누르면 LED에서 3, 2, 1 숫자가 나옵니다. 

    그리고 '폭탄시간' 변수에 시간을 설정해줍니다. 

    시간은 랜덤으로 설정되도록 5~20까지의 정수 랜덤값으로 넣어주었습니다. 

     

    시간 설정은 1~20 또는 5 ~ 50 등 원하는 숫자로 짝과 협의하여 적습니다. 

     

     

    4-4. 마이크로비트를 흔들면 친구에게 폭탄이 넘어가게 하기

     

     

    게임이 시작되면 마이크로비트에 폭탄 모양이 LED로 나옵니다.이제 마이크로비트를 흔들어서 폭탄을 친구에게 넘겨보겠습니다. 

     

    이해를 쉽게 하기 위해 친구에게 폭탄을 넘긴다고 하였지만정확히 말하면 폭탄 시간을 친구에게 넘기는 것을 의미합니다. 

     

    코드를 살펴보겠습니다. 

     

    폭탄 시간이 0보다 크다면폭탄 시간을 친구에게 라디오로 전송합니다. 

     

    폭탄 시간을 친구에게 전송하였으니 나에게는 폭탄이 없는 것이나 마찬가지입니다.그래서 내 폭탄시간에는 -1를 저장합니다.

     

     

     

    그리고 친구가 나에게 폭탄 시간을 보낸다면

    다시 나의 폭탄시간 변수에 친구가 보내준 폭탄 시간을 저장합니다. 

     

     

    4-5. 마이크로비트 LED 화면 코딩하기

     

     

    위의 단계에서는 폭탄 시간을 친구에게 전달하는 것

    친구가 나에게 폭탄시간을 보내는 것을 코딩해보았습니다. 

     

    그럼 폭탄시간 변수의 상태는 몇 가지로 나눠볼 수 있을까요?

     

    우선 폭탄시간이 다 지나서 0이 된 경우가 있겠죠. 

    그리고 폭탄시간이 -1인경우(즉 0보다 작은 경우)도 있고요.

    또 폭탄시간이 0보다 큰 경우도 있습니다. 

     

    마이크로비트 LED 화면은 이 세가지의 경우를 코딩해주면 됩니다. 

     

    폭탄시간이 다 지나서 0인 경우에는 

    폭탄이 터진 것을 의미합니다. 

    그런 경우에는 터진 LED를 출력해주면 되겠죠. 

     

    폭탄시간이 -1인 경우, 즉 0보다 작은 경우는

    나에게 폭탄이 없는 경우입니다. 

    이 경우는 LED를 지워주면 됩니다. 

     

    폭탄시간이 0보다 큰 경우라면

    폭탄을 주고 받고 있는 경우겠죠?

    그럼 해골 폭탄 그림을 LED에 나타내줍니다. 

    그리고 나한테 폭탄이 있으니 폭탄시간도 -1초 줄어들도록 코딩해줍니다. 

     

    마지막으로 이 조건문 3개를 무한반복 안에 넣어줍니다. 

    그래야 한 번만 작동하는 것이 아닌, 조건이 맞을때마다 작동하는 코드가 완성되겠죠. 

     

     

     

    4-6. 전체 코드 보기

     

     

    마지막으로 전체 코드를 살펴보겠습니다.

     

     

     

     

     

    5단계: 텔레폭탄 게임 즐기기

     

     

    그럼 텔레폭탄 게임을 마이크로비트에 다운로드해서

    게임을 즐겨보겠습니다. 

     

    친구와 함께 코딩을 한 뒤

    똑같은 코드를 각각의 마이크로비트에 다운로드해주면 됩니다. 

     

    마이크로비트에 다운로드 하는 방법은 아래 글을 참고해주세요.

    마이크로비트(micro:bit) 장치 연결하기

    https://makecode.microbit.org/_ay7F5rbD4iF6

     

    텔레폭탄 게임

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

    makecode.microbit.org

    반응형