무선통신-소통

<매체탐구 Playful Learning 피지컬 컴퓨팅> 수업 3주차에서는 사람과 사람 간의 대화에 해당하는 ‘통신’을 배워볼 수 있는 시간을 가졌다. 학생들은 사람과 기계 사이에서 소통하기 위해서는 ‘통신’이 필요하다는 것에 대해서 생각하고, 그 방법에 대해서도 여러 가지가 존재한다는 것을 이해할 수 있었다. 또한, 그런 ‘소통’의 방식 중에서 블루투스 모듈과 LCD 모듈을 사용해봄으로써 통신을 경험했으며, 4주차 수업에서 완성할 로봇을 위한 밑그림을 그려나갔다.

인간과 로봇이 공생하는 세계 - 디트로이트: 비컴 휴먼

3회차 수업에서 본 영상은 지난 두 번의 수업과 달리 영화가 아닌 로봇과 관련한 게임 영상 중 하나로 게임 <디트로이트: 비컴 휴먼>이다. <디트로이트: 비컴 휴먼>은 인간 형상을 한 로봇인 안드로이드가 보편화된 2038년의 미국 도시 디트로이트를 배경으로, 사용자는 게임 속에서 안드로이드가 되어 플레이한다. 사용자는 어떠한 상황에서 주어진 선택지를 통해 어떠한 행동을 취할 것인지 선택할 수 있으며, 이를 통해 로봇과 인간이 공존하는 세계에서 자신만의 스토리를 만들어갈 수 있다. 우리는 이 게임을 플레이하는 영상을 보면서 로봇과 인간이 함께 했을 때 나타날 수 있는 상황을 상상할 수 있었고, 인간과 로봇을 둘러싼 담론에 대한 메시지를 게임 플레이를 통해 알 수 있었다.

아두이노랑 대화해볼까?

생각을 말하고, 그에 대해 반응하는 것을 우리는 소통이라고 하며, ‘대화’를 통해 우리는 다른 사람과 소통할 수 있다. 그렇다면 기계와 인간은 과연 어떻게 소통할 수 있을까? 3회차 수업에서는 바로 이 ‘기계와 대화하는 방법’에 대해 이야기했다. 사람과 기계가 대화하기 위해서는 ‘통신’이라는 것이 필요하다. 그리고 우리는 그러한 통신을 위한 장치로 블루투스 모듈과 LCD 모듈을 사용해보기로 했다.

무선통신? 그건 어떻게 하는 걸까?!

앞서 우리는 기계와 인간이 소통하기 위한 방법으로 통신을 이야기했고, 그중에서도 아두이노를 이용한 대표적인 무선통신 장치에 대해 알아보는 시간을 가졌다. 먼저 로우데이터 통신에 적합한 지그비(ZigBee)는 작은 전력으로도 데이터를 송수신할 수 있다는 점이 유용하다. 하지만 XBee 모듈을 갖추고 있어야 사용 가능하다는 점에서 범용적이지 않다는 것을 알 수 있었다. 두 번째로 블루투스 모듈은 통신거리가 짧으나 와이파이 모듈보다 적은 전력을 소모하고, 저렴하기 때문에 많은 기기에서 통용되고 있는 것이 장점으로 작용한다는 점을 소개했다. 마지막으로 와이파이 모듈은 높은 전력을 사용하기에 용량이 큰 데이터 통신에 유용하다는 것을 알 수 있었다. 이렇게 지그비(ZigBee), 블루투스 모듈, 와이파이 모듈의 세 가지를 소개하고, 각각의 장단점을 이해함으로써 어떤 경우에 어떤 모듈을 사용하는 것이 가장 적합한지 알 수 있었다.

아두이노와 대화할 수 있는 방법: 블루투스

먼저 소개된 세 가지 무선통신 중 수업에서는 블루투스 모듈을 사용했다. 블루투스 모듈은 특정 주파수 대역을 사용하여 데이터를 주고받는 것으로, 앞선 수업에서도 그랬듯이 먼저 tinkercad를 통해 아두이노와 블루투스를 연결하는 과정을 시뮬레이션해보고, 블록 코딩을 통해 쉽게 시각화된 코드를 이해할 수 있었다. 이후 tinkercad에서 설계한 대로 실제 아두이노와 연결해보았으며, 잘 연결되었는지 확인하기 위해 시리얼 모니터에서 ‘AT’라고 보냈다. 그 결과 학생들은 아두이노로부터 ‘OK’라는 답을 들을 수 있었다.

그렇게 연결 상태를 눈으로 확인한 뒤, 스마트폰에서 Arduino Bluetooth Controller 어플을 설치하고 블루투스를 통해 텍스트가 아두이노로 전달되는 것을 실습해보았다. 학생들은 어플에서 자신의 블루투스 장치를 검색하고, 연결하여 텍스트를 입력했다. 그러자 아두이노의 시리얼 모니터에 자신이 입력한 텍스트가 수신되었다. 자신이 작성한 텍스트가 아두이노에서 나타나는 것을 보며 학생들은 사람과 기계가 데이터를 주고받는 방식에 대해 생각해볼 수 있었다.

내가 적은 텍스트가 작은 디스플레이에서 빛나고 있어!: LCD 모듈

블루투스 모듈에 이어 이번에는 자신이 입력한 텍스트를 LCD 모니터에서 볼 수 있는 시간을 가졌다. LCD 모니터는 우리가 평소 쉽게 접할 수 있는 액정 디스플레이를 말하며, tinkercad에서 먼저 LCD 모듈을 사용할 수 있는 방법을 설계하고, 시뮬레이션했다. LCD 모듈에서는 전원 공급에 해당하는 5V와 GND를 연결하고, SDA, SCL 핀을 아날로그 핀에 꽂은 뒤 코드까지 입력을 마침으로써 아두이노와 통신할 준비를 끝냈다. 이때, 코드에서 LCD와 관련된 코드 중 커서 함수를 사용함으로써 출력할 위치를 정할 수 있었으며, 프린트 함수를 통해서는 원하는 문자를 입력할 수 있었다. 이러한 LCD 모듈을 통해 내가 입력한 텍스트가 작은 디스플레이에서 빛나는 것을 보며 학생들은 만들 로봇에 어떤 텍스트를 넣을 수 있을지 고민했다.

블루투스와 LCD 모듈을 함께 써본다면?

블루투스 모듈과 LCD 모듈을 이용해 아두이노에서 통신하는 방법을 알아보았고, 그러한 과정이 사람과 기계와의 소통이라는 것에 대해서도 생각해볼 수 있었다. 또한 우리는 이 두 가지 모듈을 함께 사용하여 텍스트를 표현해보았다. 블루투스 모듈을 통해 학생들이 보내는 텍스트를 아두이노에서 받은 뒤 이를 다시 LCD 모듈로 보내어 텍스트가 디스플레이에서 보일 수 있게 만들었다. LCD 모듈만 사용해서 텍스트를 나타낼 때와는 다르게 직접 코드를 수정하는 것이 아닌 어플에서 입력하는 방식을 가지고 있어 LCD 모듈 속 텍스트를 빠르고 쉽게 바꿔나갔다.

어떤 센서를 써볼까? 모양은 어떻게 하지?

이번 3주차 수업에서는 아두이노와 ‘통신’하는 방법에 관해서 이야기했으며, 이외에 마지막 4주차 때 여러 센서를 이용해서 완성해볼 나만의 로봇을 위한 밑그림 작업을 진행했다. 터치 센서를 이용해서 손가락으로 만질 때마다 네오픽셀이 반짝이는 로봇, 초음파 센서를 이용해서 특정 거리 이상이 되면 네오픽셀의 색깔이 달라지는 로봇 등의 아이디어를 제시된 활동지를 통해 구체화했다. 이렇듯 나는 어떤 로봇을 만들 것인지, 특히 어떤 형태로 제작할지, 어떤 센서를 사용해볼지에 대해서 고민하면서 학생들은 자신의 아이디어를 글과 그림의 형태로 표현해나갔다.