본문 바로가기

5기 IT어린이기자단 자료

아두이노와 스크래치의 만남 'S4A 프로그램'

아두이노와 스크래치의 만남 'S4A 프로그램'

둔원초 변윤지기자

 

최근 아두이노를 응용한 기술들이 많이 등장하고 있는 추세이다. 따라서 미래에 달라질 세계 즉 인공지능이 발달할 상황에 대비해야 하는데 그 중 하나가 아두이노로 아두이노는 이미 우리나라 IT에 자리잡아 정착하고 있는 상태라고 할 수 있다.

 

아두이노는 아두이노 프로그램이 따로 있고 스크래치도 마찬가지인데 아두이노 프로그램을 직접 이용하면 영어로 코드를 작성해야 한다는 어려움이 있어서 이용하기가 쉽지 않다. 하지만 아두이노를 제어하는 것을 스크래치 블록을 통해 이용하면 어떨까? 더 쉽지 않을까?하는 생각에서 나온 프로그램이 바로 'S4A 프로그램'이다.

[출처 : 네이버 티스토리] 다음 사진은 S4A 프로그램의 무대와 블록의 사진이다.

 

아무리 스크래치를 이용한 아두이노가 쉬울지라도 스크래치를 이용하는 방법을 모르면 코딩을 할 수 없다. 이 때 필요한 것이 code.org라는 프로그램으로 모든 학생들이 공평하게 정보과학 즉 스크래치를 배울 수 있도록 영화 저작권을 이곳에 내놓는 영화제작사도 있어 신규 영화 모아나 캐릭터를 이용한 스크래치도 있다. 기초적인 스크래치를 배울 수도 있고 캐릭터와 재미있게 배울 수 있어 1석 2조의 프로그램이다.

[각 프로그램마다 단계별로 미션이 주어지고 미션을 수행하면 다음 단계로 넘어갈 수 있다.]

 

이렇게 스크래치의 기본을 배운 뒤에 S4A 프로그램을 이용할 수 있다. 실제 아두이노 보드와 다양한 장치들(저항, 부저, LED등)을 이용해서 프로그래밍을 할 수 있다. 아두이노 보드는 디지털과 아날로그로 제어할 수 있는데 디지털은 0과 1 두 숫자만을 이용할 수 있고 아날로그는 0과 1 사이의 미세한 숫자들까지도 이용할 수 있다.

[ 아두이노 보드와 컴퓨터와 연결하는 전선의 사진이다.]

 

제어를 할 때에는 아날로그와 디지털을 이용하는데 둘다 input과 output이 가능하다. input은 컴퓨터 스크래치 블록으로 코드를 작성해서 명령을 내리는 것이고 output은 보드 내에서 장치를 누르거나 돌려서 다른 장치에 명령을 내리는 것이다. 예를 들면 output을 할 때에는 스위치를 눌러서 LED를 켜거나 끌 수 있고 가변저항을 돌려서 미세하게 LED의 밝기까지 조절할 수 있다. input은 컴퓨터로 가변저항에 돌린 위치에 따라 아날로그 숫자를 조절해 LED의 밝기를 조절하라는 명령을 내릴 수 있어 가변저항을 input device라고 부르기도 한다.

 

디지털을 이용할 때에는 LED를 스위치를 눌렀냐 안 눌렀냐에 따라 켜지고 꺼지고를 결정하는 코드를 작성한 뒤 연결할 수 있다. 이 과정은 디지털로 스위치에 명령을 내리고(input) 스위치를 누르면 LED를 켜는 것이다.(output)

아날로그를 이용할 때에는 가변저항의 값을 아날로그(0~1023)의 값으로 전환시켜서 컴퓨터에서 계산해서 가변저항에 명령을 내리는 것이다. 가변저항의 값은 0~255여서 아날로그 값의 반값은 가변저항의 값도 반값이 돼서 이 둘이 같이 활동하게 되는 것이다.

 

이렇게 우리는 S4A와 아두이노 보드를 통해 다양한 코드를 작성해서 장치들을 움직여볼 수 있다. 이 외에도 RC 모터를 방향키나 블럭을 돌려볼 수도 있고 부저의 소리도 조절할 수 있다. 우리나라 IT의 미래는 아두이노와 함께 꾸준히 발전해서 더 나은 미래를 개척할 수 있을 것 같다는 생각이 들었고 나중에도 아두이노와 스크래치를 이용해서 새로운 코드를 창의적으로 작성해보고 싶다. 아두이노와 스크래치의 융합의 가능성을 이용해 미래에 달라질 인공지능에 대비해야 겠다는 생각도 들었다.