' + re_word; if(data.autoList[i].PROD_NAME != ''){ html += ' '+data.autoList[i].PROD_NAME+''; } html += '
' html += '' + comma(Math.floor(data.autoList[i].PROD_PRICES)) + ' 원'; html += '' + re_word + '
'; html += '' + comma(Math.floor(data.resultList[i].prod_priceS)) + ' 원'; html += ''+data.catgStep1List[i].split('@@')[1]+'
'; html += '안녕하세요 나도메이커입니다!
초중고 소프트웨어 교육 현장에서 학생들의 집중력과 흥미를 끌어올리기 위해 많은 코딩 강사님과 선생님들께서 피지컬 컴퓨팅 교구를 찾고 계십니다. 오늘은 레고형 블록을 직접 조립하고 프로그래밍하여 구동시키는 마이크로비트 기반의 스포츠 코딩 키트를 소개해 드리고자 합니다.

단순히 컴퓨터 화면 안에서만 결과가 출력되는 것을 넘어, 레고 블록을 결합하여 로봇의 뼈대를 만들고 코딩으로 모터와 센서를 제어하는 융합형 스팀(STEAM) 교육 프로젝트입니다. 이 키트 하나만 있으면 수영, 자전거, 농구, 축구, 양궁 등 다양한 스포츠 테마의 로봇을 단계별로 제작해 볼 수 있어 자유학기제나 방과후 수업 커리큘럼으로 매우 적합합니다.
본격적인 실습에 앞서 하드웨어 준비물을 꼼꼼히 점검해야 합니다. 스포츠 코딩 키트 본품 외에도 핵심 두뇌 역할을 하는 제어 보드가 필수적으로 요구됩니다.
주의사항: 스포츠 코딩 키트에는 마이크로비트 메인 보드가 포함되어 있지 않습니다. 따라서 정상적인 코딩 및 프로젝트 구동을 위해서는 별도의 마이크로비트 보드를 반드시 추가로 준비해 주셔야 합니다.
필수 준비물
마이크로비트(Micro:bit) V2 1개, 스포츠 코딩 키트 세트 (Nezha V2 확장 보드, 모터 및 레고 브릭 포함)
장비가 구비되어 있지 않으신 분들은 아래에서 자세한 스펙과 부품 구성을 확인해 주시길 바랍니다.
준비물을 모두 갖추셨다면, 마이크로비트에 알고리즘을 심어줄 개발 환경을 세팅해야 합니다. 우리는 설치가 필요 없는 웹 기반의 블록 코딩 플랫폼인 메이크코드(MakeCode)를 활용할 예정입니다.

웹 브라우저를 열고 플랫폼에 접속한 뒤, 화면 중앙에 위치한 [새 프로젝트] 버튼을 클릭하여 새로운 작업 공간을 생성해 줍니다.

이번 실습에서는 로봇의 다관절을 움직이기 위해 키트에 동봉된 전용 확장 보드를 사용합니다. 따라서 메이크코드에 해당 보드의 제어 명령어를 추가해 주어야 합니다. 좌측 메뉴 탭의 [확장] 메뉴로 진입한 후, 검색 창에 "nezha2"를 검색하여 전용 라이브러리 패키지를 다운로드합니다.
소프트웨어 준비가 끝났으니, 이제 수영 선수의 형태를 갖춘 로봇의 외형을 조립해 보겠습니다. 매뉴얼의 순서에 따라 레고 브릭을 결합하며 기계적 구조를 이해하는 단계입니다.
먼저 동력을 발생시키는 모터 축에 수영 로봇의 팔 역할을 할 브릭을 단단히 연결하고, 그 상단에 시스템을 제어할 Nezha 확장 보드를 안정적으로 부착합니다.


부품이 흔들리지 않게 고정되었다면, 모터의 케이블과 Nezha 확장 보드의 포트를 전선으로 연결해 줍니다. 이 결합 과정을 통해 마이크로비트에서 내린 전기적 신호가 보드를 거쳐 모터의 물리적 회전 운동으로 변환됩니다.

모든 조립이 무사히 끝났습니다! 위풍당당한 수영 로봇의 하드웨어 세팅이 완료되었습니다.
로봇에 생명력을 불어넣기 위한 알고리즘을 설계해 보겠습니다. 메이크코드 프로젝트를 처음 실행하면 바탕 화면에 '시작하면'과 '무한반복' 두 가지 기본 블록이 놓여 있습니다.

본 실습에서는 버튼 클릭에 따라 반응하는 이벤트 기반 프로그래밍(Event-driven Programming) 방식을 사용합니다. 따라서 무한반복 블록은 선택하여 삭제해 주셔도 무방합니다.
1. 모터를 제어하기 위해 좌측 메뉴의 [nezhaV2] 카테고리로 진입합니다. 왼쪽 모터를 지정하고, 모터 속도를 설정하며, 모든 모터를 멈추는 세 가지 주요 제어 블록을 클릭하여 작업 공간으로 꺼내옵니다.

2. 사용자 입력을 받기 위해 메뉴에서 [입력] 탭을 선택하고 A 버튼 누를 때 조건 블록을 찾아 클릭합니다.

이 제어 시스템에서는 동작(시작)과 정지(멈춤) 두 가지 명확한 명령을 내려야 하므로, 해당 입력 블록이 총 2개 필요합니다. (하나는 A버튼, 다른 하나는 B버튼으로 설정 변경)

3. 전원이 인가되었을 때 초기 설정을 담당할 시작하면 기본 블록 안에, 앞서 꺼내둔 왼쪽 모터를 연결하는 블록을 삽입하여 하드웨어 포트를 인식시켜 줍니다.

4. 이제 로봇을 전진시키는 명령입니다. A 버튼 누를 때 조건 블록 안쪽에 모터 속도를 제어하는 블록을 결합해 줍니다. 속도 수치를 조절하여 로봇의 수영 템포를 변경할 수 있습니다.

5. 로봇의 동작을 중지시키는 명령입니다. 복사해 둔 입력 블록을 B 버튼 누를 때로 변경한 뒤, 그 안쪽에 모든 모터 멈추기 블록을 결합합니다. 이를 통해 제어의 안정성을 확보합니다.

코드가 성공적으로 보드에 업로드된 후 마이크로비트의 A 버튼을 누르면, 모터가 회전하며 로봇이 힘차게 양팔을 저으며 수영하듯이 전진하게 됩니다!

알고리즘 설계가 끝났다면, 평평한 바닥이나 매트 위에 로봇을 올려두고 실제 코딩된 값에 따라 수영 로봇이 목표한 대로 움직이는지 테스트를 진행해 봅니다.
오늘은 마이크로비트와 전용 스포츠 코딩 키트를 활용하여 교실에서 바로 적용해 볼 수 있는 수영 로봇 실습 과정을 상세히 알아보았습니다.
딱딱한 화면 속 텍스트 코딩을 벗어나, 레고 블록을 손으로 직접 결합하고 자신이 짠 짧은 코드가 즉각적인 물리적 움직임으로 나타나는 과정을 경험해 보세요. 학생들은 센서와 모터의 작동 원리를 직관적으로 깨우치며, 컴퓨팅 사고력과 문제 해결 능력을 동시에 기를 수 있습니다.
학교 현장에서 지도하시는 코딩 강사님들과 코딩의 세계에 첫발을 내딛는 초중등 학생 여러분 모두에게 유익한 레퍼런스가 되기를 희망합니다. 프로젝트를 따라 하시다가 막히는 부분이나 추가로 응용하고 싶은 아이디어가 생기신다면 언제든지 하단 댓글로 질문을 남겨주세요!
해당 프로젝트에서 나온 상품은 아래에서 확인가능합니다 ▼