Quick

    마이크로비트로 농구하는 레고 로봇 만들기: 스포츠 코딩 키트

 

목록으로

안녕하세요 나도메이커입니다!

학생들의 창의력을 쑥쑥 키워주는 피지컬 컴퓨팅과 블록 코딩의 결합, 교육 현장에서 어떻게 활용할지 고민하고 계신가요? 지난 시간에 소개해 드린 레고형 스포츠 코딩 키트의 수영 로봇 프로젝트에 이어서, 오늘은 교실이나 집에서 박진감 넘치는 스포츠 경기를 직접 구현해 볼 수 있는 '농구 로봇 만들기' 실습 가이드를 소개하겠습니다.

■ 1. 프로젝트 개요 및 필수 준비물

이번 실습은 단순한 화면 속 코딩을 넘어, 센서의 물리적 입력값을 바탕으로 모터를 제어하는 물리적 컴퓨팅(Physical Computing)의 핵심 메커니즘을 학습하는 과정입니다. 코딩 강사님이나 선생님들께서 초등학생부터 고등학생까지 수준별로 난이도를 조절하여 자유학기제 및 방과후 수업 교구로 활용하기에 아주 훌륭한 프로젝트입니다.

스포츠 코딩 키트는 마이크로비트 보드가 세트에 포함되어 있지 않으므로, 메인 두뇌 역할을 할 마이크로비트 보드를 반드시 별도로 구매 및 준비하셔야 합니다.

필수 준비물
마이크로비트(Micro:bit) V2 1개, 그리고 스포츠 코딩 키트(Nezha V2 확장 보드, 충돌 센서, 서보 모터 포함)가 필요합니다! 장비가 아직 없으신 분들은 아래에서 스펙을 확인해 주세요.

■ 2. 메이크코드 개발 환경 및 확장 프로그램 설정

마이크로비트를 제어하기 위해서는 전용 웹 기반 컴파일러인 MakeCode에 접속해야 합니다. 별도의 소프트웨어 설치 없이 브라우저에서 바로 코딩이 가능하여 학교 환경에서 특히 유용합니다.

MakeCode 접속하기


화면 중앙의 새 프로젝트를 클릭하여 빈 화면을 열어줍니다.

이제 이번 실습의 핵심 부품인 네자 V2 보드와 플래닛 X 센서들을 인식시키기 위해 전용 라이브러리를 추가해야 합니다. 좌측 메뉴 탭에서 [확장]을 클릭한 후, 검색 창에 "nezha2"를 검색하여 패키지를 추가해 줍니다.

동일한 [확장] 메뉴 창에서 이번에는 센서 제어를 위한 "planetX"를 검색하여 추가합니다. 이 과정을 누락하면 이후 단계에서 모터와 센서를 구동할 수 있는 블록이 활성화되지 않으므로 정확한 스펠링으로 검색하여 두 가지 모두 설치하는 것이 가장 중요합니다.


■ 3. 하드웨어 조립 및 센서 연결 가이드

소프트웨어 초기 설정이 끝났다면, 레고형 블록을 활용하여 로봇의 외형을 조립할 차례입니다. 제공된 매뉴얼을 참고하여 정교하게 부품을 결합해 줍니다.


농구 골대와 슛을 던질 농구 로봇 본체를 모두 완성하셨나요? 그렇다면 기계의 감각 기관 역할을 할 하드웨어를 연결해야 합니다. 사용자의 누름을 인식하는 충돌 감지 센서(Collision Sensor)와, 농구공을 투척할 강력한 힘을 발생시키는 서보 모터(Servo Motor)를 확장 보드의 알맞은 포트에 딸깍 소리가 나게 연결하면 모든 하드웨어 세팅이 완료됩니다.

이제 코딩을 위한 완벽한 준비를 모두 마쳤습니다!

■ 4. 블록 코딩 실습 및 알고리즘 설계

본격적으로 농구 로봇의 두뇌에 알고리즘을 심어보겠습니다. 처음 프로젝트를 시작하면 캔버스에 두 가지 기본 블록이 나타나 있습니다.

1. 시스템이 정상 작동하는지 시각적으로 확인하기 위해 메뉴에서 [기본] → 아이콘 출력 블록을 클릭하여 가져옵니다.


2. 다음으로 로봇 팔의 초기 위치를 잡아줍니다. 메뉴에서 [nezhaV2] → M1을 0% 속도로, M1 모터 각도를 제어하는 블록을 클릭합니다. 이는 전원이 켜졌을 때 팔이 무작위로 움직이지 않도록 고정하는 과정입니다.

3. 시작하면 블록 안에 앞서 꺼내둔 아이콘 출력 블록과 M1을 0% 속도로, M1 모터 각도를 제어하는 블록을 순서대로 합쳐줍니다.

4. 이제 로봇에게 판단력을 부여할 시간입니다. 센서가 눌렸을 때만 슛을 쏴야 하므로, 메뉴에서 [논리] 탭을 눌러 만약 참(true)이면 실행 조건문 블록을 클릭합니다.

5. 조건의 기준이 될 센서 블록을 가져옵니다. 메뉴에서 [PlanetX_Basic] → [센서] 탭으로 이동하여 충돌 센서 J1 눌림 블록을 클릭한 뒤, 방금 만든 조건문의 '참' 영역에 삽입합니다. 이는 아날로그적인 터치를 디지털 데이터로 변환해 주는 핵심 코딩 원리입니다.


6. 센서가 눌렸을 때 실행될 최종 동작을 명령합니다. 메뉴에서 [nezhaV2] → M1을 0% 속도로 제어하는 블록을 클릭하여 조건문 안쪽 실행 칸에 끼워 넣습니다. (실제 농구공이 멀리 날아갈 수 있도록 슛을 쏠 때는 모터 속도와 각도의 수치를 강하게 변경해 주셔야 합니다.)

7. 마지막으로 무한 반복 실행 블록 안에 지금까지 만든 만약 참이면 (충돌 센서 J1 눌림) 조건문과 M1 속도/각도 제어 블록을 한 덩어리로 합쳐줍니다. 이렇게 루프(Loop)를 만들어야 전원이 켜져 있는 동안 마이크로비트가 끊임없이 센서의 눌림 상태를 감시하게 됩니다.

충돌 센서를 누르면 그 즉시 신호가 보드로 전달되고, 공이 날아가요!

■ 5. 실습 결과 확인 및 동작 원리 리뷰

이제 작성한 코드를 보드에 업로드하고, 농구 로봇이 정말 농구를 잘하는지 직접 확인해 볼 시간입니다.

오늘은 스포츠 코딩 키트를 활용하여 교실 안의 작은 농구 경기를 만들어 줄 농구 로봇을 소개해 드렸습니다.

단순히 컴퓨터 화면 안에서만 결과가 출력되는 것이 아니라, 레고처럼 손으로 직접 구조물을 조립하고 간단한 코드를 통해 물리적인 슛 동작을 제어할 수 있다는 점이 정말 신기하고 매력적이지 않나요?

이러한 피지컬 컴퓨팅 실습은 복잡한 소프트웨어의 구조를 눈에 보이는 움직임으로 직관적으로 이해할 수 있게 해줍니다. 입력 장치(센서)와 출력 장치(모터)의 상호작용 메커니즘을 자연스럽게 깨우치며, 학생 스스로 알고리즘을 변형하여 더 멀리 던지거나 연속으로 던지는 심화 응용 창작물을 만들어 볼 수도 있습니다.

코딩 교육을 지도하시는 강사님들과 호기심 넘치는 학생 여러분 모두에게 훌륭한 교육 자료가 되길 바랍니다. 실습을 진행하시면서 혹시 구조 조립이 어렵거나 코드 설계에 대해 궁금한 점이 생기신다면 언제든지 아래 댓글로 남겨주세요!


해당 프로젝트에서 나온 상품은 아래에서 확인가능합니다 ▼

실습준비물

연관 컨텐츠

결제 및 주문

공지사항 목록