드론교육 포스팅을 시작합니다
이번 드론교육 포스팅은 스크래치에 대해서 알아보겠습니다. 드론교육을 할 때 스크래치로 코딩하여 드론을 작동시킬 수 있는 방법도 설명한다면 보다 다양한 드론수업을 할 수 있습니다. 이번 포스팅이 처음인 분은 앞의 포스팅을 보면 큰 도움이 될 것입니다.
드론교육 참고 포스팅
드론교육 스크래치와 아두이노
스크래치
드론교육 포스팅에서 스크래치와 스냅에 대해서 알아보겠습니다. 미국의 MIT 대학에서는 누구나 쉽게 코딩을 배울 수 있는 프로그램이 필요하다고 생각했습니다. 프로그램을 만들기 위해선 어려운 코딩 문법을 배우고, 직접 키보드로 명령어를 써야 했습니다.
대문자를 소문자로 쓰거나, 세미콜론(;)이나 점(.)을 잘못 쓰면 프로그램이 제대로 실행되지도 않았습니다. 그래서 MIT의 미디어 랩 평생유치원 그룹(Lifelong Kindergarten Group)에서는 쉽게 코딩을 배울 수 있게 프로그램을 개발하여 2007년 5월 15일 처음 공개했습니다. 이것이 바로 ‘스크래치’입니다.
컴퓨터에 시키는 명령을 레고 같은 블록으로 만들어, 어렵게 키보드로 명령어를 쓸 필요가 없어졌습니다. 레고 블록을 쌓듯이 순서대로 블록을 연결하면 누구나 게임이나 애니메이션과 같은 멋진 프로그램을 만들 수 있습니다. 프로그래밍 앞에 놓인 ‘어려운 문법과 코드’의 장벽을 스크래치는 혁신적인 생각으로 허물었습니다.
스냅
미국 버클리 대학의 브라이언 하비(Brian Harvey)와 옌스 뫼니크(JensMönig)는 스크래치에서 영감을 얻어 블록코딩 프로그램을 만들었습니다. 이것이 바로 스냅(Snap)입니다. 블록코딩으로 더 높은 수준의 아이디어를 표현할 수 있으며 스크래치와 달리, 자기가 만든 블록을 다른 사람들이 사용할 수 있도록 쉽게 공유할 수 있습니다. 이것을 ‘라이브러리(Library)화한다’고 합니다.
도서관을 언제든 이용할 수 있는 것처럼, 여러 사람이 프로그램을 공유해서 사용할 수 있습니다. 또한, 스냅은 객체지향 프로그래밍을 할 수 있게 도와줍니다. 따라서 우리의 사고를 좀 더 유연하게 확장하고, 구조적으로 짜임새 있는 프로그램을 만들 수 있습니다.
스냅 프로그램은 누구나 사용할 수 있는 오픈 소스(Open Source) 프로그램이며 스크래치 프로그램보다 호환성과 확장성이 우수합니다. IoT 장치와 통신하거나 로봇과 드론 같은 기계를 제어할 수 있습니다. 특히 여러 기계와 통신할 때 지연시간 없어서 실시간으로 기계를 제어할 수 있으므로 드론 코딩에 적합합니다.
드론교육 아두이노
아래 그림은 아두이노(Arduino)입니다. 아두이노는 다양한 부품을 붙여서 멋진 물건을 만들 수 있는 작은 컴퓨터로 마시모 반지(Massimo Banzi) 교수가 발명했습니다.
하지만 아두이노로 작품을 만들기 위해서는 영어로 된 명령어를 직접 키보드로 써야 하고, 프로그래밍 규칙도 배워야 합니다. 이러한 어려움을 해결하기 위해, 스크래치와 스냅 같은 방식으로 아두이노 코딩할 수 있는 프로그램을 만들었습니다.
스크래치(Scratch)로 아두이노 코딩을 할 수 있는 아두이노를 위한 스크래치(Scratch for Arduino), 아두이노를 위한 스냅(Snap for Arduino) 등이 바로 그것이죠.
우리가 배울 로킷 브릭(Rokit Brick)은 스냅(Snap for Arduino)을 바탕으로 아두이노 코딩을 할 수 있도록 개발된 프로그램입니다. 여기에 로봇이나 드론 등의 다양한 기계를 제어할 수 있는 기능이 더해졌습니다. 로킷 브릭의 사용방법은 스크래치와 같으므로 앞으로는 ‘스크래치 코딩’이라고 하겠습니다.
드론교육 포스팅에서 스크래치, 스냅, 아두이노에 대해서 알아보았습니다. 스크래치로 아두이노로 코딩할 수 있는 포스팅도 많이 준비했습니다. 관심있는 분은 카테고리에서 빨간색으로 표시한 곳을 클릭해서 열심히 공부하길 바랍니다.
'스크래치 > 드론코딩' 카테고리의 다른 글
드론코딩 순차와 반복 (0) | 2020.03.12 |
---|---|
드론 배우기 로킷브릭 설치하기 (0) | 2020.03.10 |
드론만들기 드론의 구조 알기 (0) | 2020.02.15 |
어린이드론 드론을 알아봐요 2 (0) | 2020.02.14 |
드론교육 드론을 알아봐요 1 (0) | 2020.02.13 |