이 수업을 진행한 3명의 교사는 연구자의 기술 지원을 받았음에도 여러 기술
관련 어려움을 호소하였다. 피지컬 컴퓨팅과 사물 인터넷은 과학 탐구를 잘하기
위한 보조적인 도구임에도, 기술 관련 문제가 크게 드러나면서 기술 문제의 해결이
과학 탐구의 성패를 가로 짓는 가장 큰 요소가 되어버렸다.
교사 B : 기술적으로 좀 더 깊게 파고드는 것도 의미가 있지만 이런 과학 탐구 활동을 애들이 직접 해보고 사회적 실천해 보는 게 더 의미가 있다고 생각했거든요. 기술 은 약간 보조로 지원해주는 역할이고… 물론 기술을 깊게 이해할수록 좋긴 해요.
근데 일단은 지원 역할이니까 … 하지만 이게 생각보다 프로젝트의 성패에 큰 영 향을 미치는 만큼 이거를 빠르게 해결해 줄 수 있는 방편이 있으면 좋겠다고 생각
했고 … (교사 B의 사후 인터뷰)
수업의 전반적인 과정에서 기술 관련 문제가 크게 발생한다면 교사와
학생들은 기술 문제 해결의 모든 에너지를 소비하여, 수업의 본질적인 목표인 과학
탐구에 집중할 수 없게 된다. 하지만 기술 문제를 제대로 해결하지 않으면 과학
탐구의 근간이 되는 원시 데이터 (raw data)의 신뢰성 문제가 초래되기 때문에 기술
문제를 가볍게 다룰 수도 없다. 따라서 탐구 과정에서 어떠한 기술 관련 문제들이
야기되었는지 살펴보고 이를 최소화하여, 학생과 교사 모두 과학 탐구에 집중할 수
있도록 지원할 필요가 있다. 본 연구에 참여한 3명의 교사는 피지컬 컴퓨팅과 사물
인터넷을 과학 탐구 수업에 적용하는 과정에서 다음과 같은 4가지 유형의 어려움을
호소하였다 (표 6). 각 어려움 간은 서로 상호배타적이지 않으며, 상호연관적이다.
(1) 적합한 기술 선정 문제
개발 보드, 프로그래밍 언어, 통신 모듈, 센서 등을 고를 때, 어떠한 것을
선택하는 것이 적합한지 판단하는 데 많은 시간이 소요되었다. 그중 센서를
선택하기가 가장 쉽지 않았다. 학생이 설계한 과학 탐구에 따라 다양한 종류의
센서가 필요하다. 같은 대상을 측정하는 센서라 하더라도 측정 원리 (전기적,
광학적, 화학적), 정확도, 측정 범위, 작동 전압, 데이터 전송 방식 (Analog, PWM,
표 6 교사에 따른 유형 별 기술 관련 어려움
유형 교사 A 교사 B 교사 C
(1) 적합한 기술 선정 문제
CO2 센서를 고르는 데
어려움을 겪음
연구자가 제시한 기술 구성을 그대로 이용하여 문제를 겪지 않음
(2)
인터넷으로부터 수집한 정보의 신뢰성 문제
새로 구매한 CO2
(MG811) 센서를
사용하기 위해 인터넷에서 얻은 여러 종류의 예제 코드를 이용했으나 제대로 작동하지 않음
연구자가 제공한
mBlock 확장 블록을
이용했기 때문에 인터넷에서 자료를 찾을 필요가 없었음
새로 구매한 CO2
(MG811) 센서를
구현하기 위해 구글링을 했으나, 사이트마다 알려주는 내용이 다름
(3) 많은 변수의 개입으로 인한 복잡성 문제
문제가 발생해도 원인을 찾아내기가 어려웠다.
Wi-Fi 모듈로 LTE
라우터에 접속하였는데, 일부 기기에서 접속이 실패함.
블록 코딩 자체에는 전혀 문제가 없는데도 오류가 발생한다.
(4) 법과 제도의 문제
보안 문제로 학내의 Wi- Fi를 이용할 수 없었음
LTE 통신 모듈을
이용하는 과정에서 통신 서비스 방식, 전파법에 따른 적합성 평가, 유심 발급 등 법과 제도로 인한 어려움을 겪음
UART, SPI, I2C)이 달라서, 탐구의 환경에 맞추어 적합한 센서를 선택해야 한다.
교사 A는 학생들이 직접 자신의 탐구에 사용할 센서를 선택하게 했다. 센서
선택에 대한 별다른 지침은 제공해 주지 않았다. 학생들은 인터넷 검색을 통해 국내
온라인 쇼핑몰에서 판매하는 센서를 골랐다. 해당 쇼핑몰에서 판매하는 이산화
탄소 센서는 MH-Z19B, MH-Z14, MH-Z16, MG811, SH-300-NDC로 총 5종이었다.
학생들은 인터넷에 정보가 많은 센서를 선택해야 추후 아두이노로 코딩을 하기가
편하리라 판단하고, 인터넷 검색을 통해 MH-Z19B 센서의 정보가 많다고 판단하고
해당 센서를 선택하였다. 하지만 배송된 센서에는 핀 헤더가 납땜이 되어있지
않았고, 인두가 없는 학생들은 이를 사용하지 못했다. 교사는 다시 MG811 센서를
구매해서 학생들에게 발송해주었다.
교사 A : 딱히 무슨 정보가 있어서 그 센서를 선택한 건 아니고 … 저도 써본 게 없어 서 아이들 보고 그냥 고르라 했어요. … 가격이 수용할 수 있는 범위면 그냥 사줬 어요 … (그런데) 센서를 배송받았는데 납땜이 안 되어있더라고요. 그게 안 되어 있는지 생각을 못 해서 … (교사 A의 사후 인터뷰)
교사 A 또한, 아두이노 사용이 처음이었기 때문에 센서 선택에 관한 특별한
조언을 줄 수 있는 상황이 아니었다. 가격이 합리적인지에 대해서만 판단하였을 뿐
아이들이 고른 센서를 그대로 구매해주었다. 판매사 사이트에서는 핀 헤더가
납땜이 되지 않은 사진이 그대로 나타나 있었으나, 교사 A는 경험 부족으로 이를
알아채지 못했다. 핀 헤더가 납땜이 안 되어있다는 단순한 문제는 센서를 전혀
사용하지 못하게 만드는 원인이 되었고 교사 A는 학생들에게 다른 센서 (MG811)를
추가로 구매해 주었다. 아주 사소한 문제였지만 새로운 센서를 구매해서
학생들에게 다시 제공되기까지 상당한 시간이 소요되었다.
연구자는 교사 A에게 아두이노를 통해 미세먼지나 이산화 탄소 농도 측정이
가능하다는 것을 알려주면서 이에 대한 정보를 얻을 수 있는 사이트, 부품을 구매할
수 있는 업체 등을 알려주었다. 교사 A는 연구자의 추천에 따라 라즈베리파이,
마이크로비트 등 다른 선택지에 대한 고민 없이 아두이노를 선택하였다. 하지만 그
이외의 센서 선택이나 코딩 구현에 관한 구체적인 안내를 받지 못해 이 부분에 대한
선택에서 어려움을 겪었다. 연구자는 이러한 문제를 해결하기 위해 센서, 통신 모듈,
코딩 구현 방식 등에 대해 더욱 자세한 가이드를 제공하는 것이 좋겠다고
판단하였고, 교사 B, C에게는 권장하는 기술 구성을 구체적으로 제시해 주었다 (표
7).
반면, 교사 B, C는 개발 보드, 센서, 통신 모듈 등 기술 구성에 대해 연구자가
추천해준 것을 그대로 이용하였기 때문에 적합한 기술을 선택하는 과정에서의
문제는 겪지 않을 수 있었다.
표 7 교사에게 제공된 기술 구성
교사 B 교사 C
개발 보드 아두이노 UNO 아두이노 UNO 개발 도구 mBlock 3 mBlock 5
Wi-Fi 통신 모듈 ESP-01S ESP-01S
LTE 통신 모듈 LTE 라우터를 이용 SIM7600E
센서 ZH03B (미세먼지) ZH03B (미세먼지)
MH-Z19B (이산화 탄소)
기타 mBlock 3에 맞는 확장 블록을
개발해서 제공
mBlock 5에 맞는 확장 블록을 개발해서 제공
(2) 인터넷으로부터 수집한 정보의 신뢰성 문제
모듈이나 센서를 아두이노와 잘 연결했다면, 이후에는 이들과의 통신을
소프트웨어로 구현해야 한다. 동체 감지 센서 (PIR 센서, passive infrared sensor)는
사물이 있거나 없는 경우를 1과 0으로 단순하게 출력 해내기 때문에, 단순한 디지털
신호로 읽어 들이면 된다. 근접 센서 (proximity sensor)는 사물이 인접한 정도를
0~5V 범위에서의 세기로 전압을 출력하므로, 단순히 아날로그 신호로 읽어 들이면 된다. 하지만 우리가 과학 탐구에서 사용하는 센서는 이렇게 간단한 센서들이
아니다. 미세먼지 센서인 ZH03B는 PM1.0, PM2.5, PM10 등 여러 데이터를 동시에
출력해야 하므로, 일정한 규칙에 따라 0과 1로 조합된 디지털 신호의 형태로 값을
출력해낸다. 일반적으로 피지컬 컴퓨팅에서 사용되는 통신 프로토콜은 UART, I2C,
SPI 방식의 통신이 이용되는데, 사용자가 이러한 신호들을 직접 처리해서 우리가
원하는 값으로 산출해내기는 어렵다. 아두이노는 매우 사용자층이 두텁기 때문에,
시중에 나와 있는 대부분 센서에 대해 라이브러리와 예시 코드가 구현되어 있다.
따라서 인터넷 검색을 통해 이를 구현할 수 있는 코드를 쉽게 찾을 수 있다. 하지만
인터넷에 게시된 정보에는 상당수의 오류가 존재했고, 이는 기술 문제 해결에 많은
시간을 소비하게 만드는 주요 원인이었다.
교사 A의 학생들은 처음엔 센서를 구매한 업체의 블로그에서 코드를 받아서
사용하였다. 하지만 정상적으로 작동하지 않아서, 인터넷 검색을 통해 센서들의
다른 예제 코드를 찾아 코딩하였는데 또 정상적으로 작동하지 않았다. 교사 A와
학생들 모두 프로그래밍에 대한 지식이 많지 않다 보니 정상적으로 작동하지 않는
원인을 파악할 수 없었고, 정상적으로 될 때까지 인터넷에 있는 새로운 예제를 찾아
시도를 해보았다.
교사 A : 그 센서는 전혀 써본 적도 없고… 문제는 그 ○○○○○ (블로그)에서 나온 센서의 코드를 써도 잘 안 돼서… 메카솔루션에서 제공한 코드로도 잘 안 됐어요.
( … ) 라이브러리가 없다고 뜨면 라이브러리를 다시 찾아서 넣고… 라이브러리를 이걸 가져왔다가 저걸 가져왔다가 막 그냥 정말 닥치는 대로 해 봤어요.
(교사 A의 사후 인터뷰)
교사 C는 교육협력센터의 수업을 진행하기에 앞서, 연구자가 진행하는
4주간의 교사 연수에 참여했었다. 해당 연수에서는 Arduino IDE를 통한 텍스트
코딩으로 프로그래밍하였는데, 당시 교사 C는 앞으로 어떤 수업을 자신이 맡게 될
줄 모르는 상황이었기 때문에, 미래에 자신도 텍스트 코딩으로 학생을 가르쳐야 할
것으로 판단하고 교육 내용을 충분히 숙지하기 위해 노력했다. 연구자의 수업에
맞추어 단계별로 따라가는 것은 어렵지 않았으나, 홀로 연구자의 도움 없이
프로그래밍하는 상황에서 발생하는 문제는 전혀 대처해낼 수 없었다. 연수에서는
DHT11 센서로 온도와 습도를 측정하여 IoT 플랫폼에 전송하는 활동을 했었는데, 교사 C가 연수 이후, MG811 센서를 이용하여 이산화 탄소를 측정할 수 있는 장치를
만들려 했다. 새로운 센서를 접했을 때 어떻게 이 센서를 구현하는 방법을
인터넷에서 찾을 수 있는지에 대해 연수 시간에 배웠기 때문에, 교사 C는 인터넷에
나온 MG811에 관한 정보, 예제 코드 등을 이용하여 코딩을 수행했다. 하지만
사이트마다 알려주는 정보의 내용이 달라서, 어떤 내용을 따라가야 할지
혼란스러웠다. 무조건 하나씩 따라 해보고 되는 것을 찾다 보니, 무언가 값이 나와도
제대로 작동하고 있는 것인지에 대한 확신하지 못했다.
교사 C : 그때 제가 이제 CO2 센서 달아서 텍스트 코딩했었을 때, 블로그에 있는 자