과거의 교육과 지금의 교육에서 찾아볼 수 있는 가장 큰 차이점은 단연 소프트웨어 교육의 활성화 일 것이다.
미국, 영국 등 여러 선진국에서 코딩의 조기교육의 중요성을 인지하여 이미 실천하고 있고, 그렇기에 다른 나라에서도 선진국에 발을 맞추어 소프트웨어 코딩교육을 활성화 하고 있는 것이다.
세계의 움직임과 트렌드에 맞춰서 우리나라 또한 지속적으로 소프트웨어 코딩교육의 중요성을 강조하고 매년 코딩교육의 시장이 커지고 있는 추세이다.
그렇다면 아이들이 코딩교육을 받고 100%이해하는 것이 가능할까? 90%의 학생은 그러지 못할 것이다. 코딩교육의 조기교육의 중요성이 대두되기전까지 프로그래밍 코딩은 최소 특성화고 아니면 대학교 학부 이후에 배워왔던 기술이자 교과목이다. 그만큼 저학년 아이들이 이해하고 활용하기는 정말 어려운 교과목이 소프트웨어 코딩이다. 물론 개중에는 타고난 수학능력과 창의력으로 충분히 코딩을 활용할 수 있는 학생들이 있겠지만 그것은 1%미만의 소위말해 천재들을 말하는 것이다.
교육안을 만들고 계획할 때 1%의 천재들에 포커스를 맞춰 교과목을 개발하는 경우는 절대로 없다. 무조건 나머지 99%학생들을 생각하며 교육안을 만들기 마련이다.
소프트웨어 코딩 또한 예외는 아니다. 꼭 필요하지만 어려운 이 과목을 조금이라도 아이들에게 쉽고 재밌게 다가가기 위해 전 세계적으로 개발과 연구가 지속되고 있다.
국내 코딩시장도 예외는 없다. 수많은 로봇업체가 코딩교육을 위한 교재를 개발해 판매중이며 아직까지도 개발되고 있다. 어느 회사는 10년전만 해도 국내 최고의 성능을 가진 모터를 제작 판매하는 회사였고 이때까지만 해도 이 회사의 포커스는 산업용 로봇에 들어가는 성능 좋은 모터의 개발이였다. 하지만 시간이 지나면서 지금도 모터의 성능은 여전히 국내 정상급이지만 회사의 시장 포커스는 산업용 로봇에서 교육용 로봇으로 완전히 바뀐 상황이다. 이 사례만 보더라도 국내 코딩교육 시장이 얼마나 커졌는지 알 수 있다.
오늘 소개할 로봇 교구는 영국에서 코딩교육에 사용하고 있는 마이크로비트란 무엇일까.
BBC는 2015년 3월 ‘메이크 잇 디지털’이라는 프로젝트를 공개하며 디지털 교육에 앞서겠다고 발표했다. 마이크로비트는 메이크 잇 디지털 프로젝트의 일환으로 개발되었다.
마이크로비트는 ‘아두이노’나 ‘라즈베리파이’와 비슷한 초소형 컴퓨터다. 이를 이용하면 사용자가 직접 소스코드를 작성해 원하는 디지털 기기를 만들 수 있다. 최종 공개된 마이크로비트의 크기는 가로 4cm 세로 5cm다. 25개 빨간색 LED, 프로그래밍 할 수 있는 버튼 2개, 모션 인식기, 나침반, 블루투스 모듈, 입출력 I/O포드 등으로 구성되어있다. 사용자는 이러한 기능들을 활용해 다른 기기나 센서, 물체와 마이크로비트를 연결할 수 있다.
BBC는 올해 여름 안에 마이크로 비트 홈페이지를 열고 온라인 코딩 개발도구도 함께 공개할 예정이다. 그리고 온라인 코딩 개발도구는‘블록크리’, ‘파이썬’, ‘터치디벨로프’ 같은 플랫폼이 제공된다.
BBC는 마이크로비트를 만들기 위해 ARM, 삼성, 마이크로소프트, 프리스케일 같은 여러 기업과 파트너십을 맺었다. BBC와 파트너사는 마이크로비트 100만개를 생산하고 11~12살 영국 학생들에게 무료로 배포할 예정이다.
그리고 마이크로비트는 조만간 오픈소스 기술 형태롤 공개할 것이라고 설명했다.
1. Block Editor
Micro:bit 및 개발도구에 관한 사항은 영국에서 비영리단체로 운영하고 있는 Microbit.org 사이트를 통하여 이용할 수 있다. 사이트의 모습은 그림[Ⅰ-2]와 같고, 현재 지원하는 언어는 영어, 중국어, 네덜란드어, 노르웨이어이다. 현재 Micro:bit을 활용할 수 있는 개발도구는 Block Editor, Touch Develop, JavaScript, MicroPython이 있고 Mbed환경에서도 C/C++등을 쉽게 이용할 수 있도록 제 공하고 있다.
각각의 개발도구의 장‧단점이 있지만, 컴퓨팅사고력 향상을 위한 우리나라의 SW교육과정 을 고려하였을 때, Block Editor가 좋은 방안이라고 생각된다. Block Editor는 블록형태의 시각화 개발도구로 코딩블록을 Drag&Drop방식으로 프로그 래밍을 할 수 있다. 또한 Touch Develop, JavaScript 등의 텍스트 기반 언어로 변환시킬 수 있어 SW교육의 연계성을 살릴 수 있는 장점이 있다.
2. PXT.IO
PXT(Programming Experience Toolkit)는 Block Editor와 JavaScript를 지원하며, 라디오통신 기능을 추가한 Beta버젼의 에디터로 기존의 Block Editor에 비해 확장성이 커 졌다.
3. pin 설명
마이크로 비트는 보드에 25개의 외부 연결 포트(핀)을 가지고 있다. 위의 그림에서 오른쪽애 회식 영역이 바로 그 핀이다.
우선 5개의 대형 확장핀이 있으며 0부터 각각 0, 1, 2, 3v, GND로 표시가 되어 있다. 그리고 동일한 가장자리에 마이크로 비트를 에지 커넥터에 꽂을 때 사용할 수 있는 20개의 작은 핀이 있다.
5개의 대형 핀은 악어 클립이나 4mm바나나 플러그를 부착하여 쉽게 사용 할 수 있다. 처음 세 개의 레이블은 0, 1, 2로 표시되어 있으며 여러 가지 다른 용도로 사용할 수 있다. 즉 범용 입출력으로써 사용이 가능하게 된다. 또한 이 세 개의 핀은 아날로그to디지털 컨버터 로써의 기능도 수행 할 수 있다.
0~2번핀 : ADC기능이 포함된 범용 입출력 장치, 3V : 3V전압 출력, GND : 전압을 넣을 때 회로에 전원이 흐르도록 연결하는 접지 그라운드이다.
3~22에서 순서대로 번호가 매겨진 20개의 작은 핀은 외부 연결에 사용되는 3개의 큰 핀과 달리, 작은 핀 중 일부는 마이크로비트 보드의 다른 구성 요소와 공유된다. 예를 들어 핀 3은 마이크로비트 화면의 일부 LEDh아 공유되므로 화면을 사용하여 메시지를 스크롤하는 경우 이 핀을 사용할 수 없다.
●. 핀. 3 : GPIO는 LED 스크린의 LED Col 1과 공유합니다.
LED 화면이 꺼지면 ADC와 디지털 I / O에 사용할 수 있습니다.
●핀4 : GPIO는 LED 스크린의 LED Col 2와 공유합니다.
LED 화면이 꺼지면 ADC와 디지털 I / O에 사용할 수 있습니다.
●핀5 : GPIO는 버튼 A와 공유합니다. 이 기능을 사용하면 버튼 "A"클릭을 외부에서 트리거하거나 감지 할 수 있습니다. 이 핀에는 기본적으로 3V의 전압을 유지하는 풀업 저항이 있습니다. micro : bit의 버튼 A를 외부 버튼으로 바꾸려면 외부 버튼의 한쪽 끝을 핀 4에 연결하고 다른 쪽 끝을 GND에 연결하십시오. 버튼을 누르면 핀 4의 전압이 0으로 내려 가서 버튼 클릭 이벤트를 생성합니다.
●핀6 : LED 스크린의 LED 9 번과 공유되는 GPIO; LED 화면이 꺼지면 디지털 I / O에 사용할 수 있습니다.
●핀7 : GPIO는 LED 스크린의 LED Col 8과 공유합니다. LED 화면이 꺼지면 디지털 I /O에 사용할 수 있습니다.
●핀8 : 디지털 신호를 전송하고 감지하기위한 전용 GPIO.
●핀9 : LED 스크린의 LED 7 번과 공유되는 GPIO; LED 화면이 꺼지면 디지털 I / O에 사용할 수 있습니다.
●핀10 : GPIO는 LED 스크린의 LED Col 3과 공유합니다. LED 화면이 꺼지면 ADC와 디지털 I / O에 사용할 수 있습니다.
●핀11 : GPIO는 버튼 B와 공유됩니다. 이 버튼을 사용하면 외부에서 버튼 "B"클릭을 트리거하거나 감지 할 수 있습니다.
●핀12 :이 GPIO 핀은 접근성을 지원하기 위해 예약되었습니다.
●핀13 : 3-wire SPI (Serial Peripheral Interface) 버스의 직렬 클록 (SCK) 신호에 일반적으로 사용되는 GPIO.
●핀14 : SPI 버스의 MISO (Master In Slave Out) 신호에 일반적으로 사용되는 GPIO.
●핀15 : SPI 버스의 MOSI (Master Out Slave In) 신호에 일반적으로 사용되는 GPIO.
●핀16 : 전용 GPIO (일반적으로 SPI '칩 셀렉트'기능에도 사용됨).
●핀17 및18 :이 핀은 대형 '3V'패드와 같이 3V 전원에 연결됩니다.
●핀19 및20 : I2C 버스 통신 프로토콜의 클럭 신호 (SCL) 및 데이터 라인 (SDA) 구현. I2C를 사용하면 여러 장치를 동일한 버스에 연결하고 CPU와 메시지를주고받을 수 있습니다. 내부적으로 가속도계와 나침반은 i2c에 연결됩니다.
●핀21과핀22 :이 핀은 GND 핀에 연결되며 다른 기능은 제공하지 않습니다.
'mandle.Making > 로봇' 카테고리의 다른 글
로봇의 역사 (2) (0) | 2017.07.22 |
---|---|
소프트웨어 생명 주기 (0) | 2017.07.21 |
미래를 준비하는 소프트웨어 코딩교육 (0) | 2017.07.20 |
로봇의 역사 (1) (0) | 2017.07.17 |
로봇의 정의 (0) | 2017.07.15 |