이 워크숍에서는 피지컬 컴퓨팅 플랫폼인 Arduino를 과학 측정 활동에 활용하기 위한 방법을 공유할 것입니다.
Arduino는 여러가지를 포함하고 있는 용어입니다.
Hardware: Arduino Development Board - 장치의 몸통입니다. 다양한 센서들이 여기에 연결되고, 사용자가 개발한 프로그램이 여기에 탑재됩니다.
Software: Arduino IDE - 사용자가 Arduino 장치를 위한 프로그램을 개발하는 도구입니다. C언어를 기반으로 하고 있기 때문에, C의 문법을 따릅니다.
학교에서 다양한 프로젝트 기반 탐구 활동이 증가함에 따라, 학생들이 다루는 탐구의 주제 또한 매우 다양해지고 있어, 다양한 측정 장치가 필요한 상황입니다. 하지만 수만가지의 측정 장치를 학교가 모두 구비하는 것에는 많은 비용이 듭니다. Arduino는 센서의 교체만으로 다양한 측정 장치를 대신할 수 있습니다.
기성품(ready made) 측정 장치는 다양한 탐구 상황에 이용되는데 어려움이 따릅니다. 예를 들어, 학생들은 일주일 간 미세먼지를 측정한다고 가정합시다. 시중에 판매되는 장비로 이를 수행하기 위해서는, 사용자가 일주일 간 측정 장비 옆에서 장치를 핸들링해야 합니다.
Arduino는 장치의 소프트웨어 또한 사용자가 직접 개발하기 때문에, 측정에 관한 상세한 설정을 조정할 수 있습니다. 또한, Wi-Fi나 Cellular 모듈을 이용하여 원격으로 인터넷을 통해 측정 데이터를 전송할 수 있습니다. 물론 원격으로 장치의 데이터를 실시간으로 확인하는 것 또한 가능합니다.
맞습니다. 학생들은 텍스트 기반의 코딩을 수행하는데 많은 어려움을 겪습니다. 그래서 우리들은 mBlock이라는 블록 기반 프로그래밍 도구를 이용합니다. mBlock은 Scretch를 본따 만들어졌습니다. 이미 많은 학생들이 Scretch, Entry와 같은 블록 코딩 도구를 접해본 적이 있습니다. mBlock을 이용할 경우 학생들은 보다 익숙한 환경에서 Arduino 코딩을 시작할 수 있습니다.
우리는 학교 과학 측정 활동에 필요한 여러 모듈과 센서들에 대한 mBlock 확장 블록을 개발하여 배포하였습니다. 현재 LTE, Wi-Fi, 미세먼지, 이산화탄소, 오존, 일산화질소 센서 등의 확장 블록이 개발되어 있습니다.
하루의 세미나를 위해 많은 키트를 구입하기는 어렵습니다. 오늘은 기술을 소개하는데에 초점을 맞추고 있습니다. 추후 이를 이용한 현장 연구를 진행한다면 좀 더 많은 키트를 구입하고 자세한 워크숍을 추가로 진행할 것입니다.
키트를 직접 다룰 분들은 다음 내용을 준비하기 바랍니다.
개인 노트북 (Windows 권장, Mac이나 Linux도 가능)
DHT11이라는 온습도 센서를 이용하여 가장 간단한 장치를 만들어 볼 것입니다.
LTE 모듈을 이용하여 측정된 데이터를 인터넷을 통해 IoT 플랫폼으로 전송할 것입니다. 그리고 이 데이터를 IoT Platform에서 시각화(visualization)할 것입니다.
온습도에 이어서 이산화 탄소, 미세먼지 측정 센서를 추가해볼 것입니다.
그리고 이를 다시 IoT Platform에서 시각화(visualization)할 것입니다. 그래프를 보다 정교하게 그리는 법을 추가로 다룹니다.