' + re_word; if(data.autoList[i].PROD_NAME != ''){ html += ' '+data.autoList[i].PROD_NAME+''; } html += '
' html += '' + comma(Math.floor(data.autoList[i].PROD_PRICES)) + ' 원'; html += '' + re_word + '
'; html += '' + comma(Math.floor(data.resultList[i].prod_priceS)) + ' 원'; html += ''+data.catgStep1List[i].split('@@')[1]+'
'; html += '
안녕하세요, 나도메이커입니다!
초중고 소프트웨어 교육 현장에서 4차 산업혁명의 핵심 기술을 재미있게 가르치기 위해 많은 코딩 강사님과 선생님들께서 피지컬 컴퓨팅 교구를 연구하고 계십니다. 여러분은 혹시 미래 농업의 희망이라고 불리는 스마트팜(Smart Farm)에 대해 들어보셨나요? 최근 뉴스나 IT 기사에서 융합 기술의 대표적인 성공 사례로 자주 언급되는 단어입니다.
■ 스마트팜이란?
각종 IT 센서를 통해 측정한 실시간 데이터를 바탕으로 온실의 환경과 작물의 상태를 정확하게 파악하고, 최적의 성장 조건을 자동으로 유지시켜 작물의 품질과 생산성을 극대화하는 농업(Agriculture)과 공학(Engineering)의 융합 기술(AgTech)을 의미합니다.
이제는 전통적인 감에 의존하는 농업을 넘어, 첨단 센서와 빅데이터 기술의 힘으로 농작물을 더 건강하고 맛있게 키울 수 있는 세상이 도래했습니다. 그래서 우리 학생들도 교실에서 이러한 융합 기술을 직접 체험할 수 있도록 준비했습니다! 바로 마이크로비트(Micro:bit)로 만드는 나만의 스마트팜 프로젝트입니다.
식물의 성장에 있어서 빛이나 토양 수분만큼 중요한 것이 바로 '물'의 상태입니다. 특히 수경재배 시스템에서는 수온이 작물 뿌리의 영양분 흡수율을 결정짓는 핵심 요소입니다. 오늘은 농작물 성장에 필수적인 물의 온도를 실시간으로 체크하는 수온 모니터링 장치를 직접 제작해 보겠습니다. 본격적인 실습, 바로 시작해 볼까요?
성공적인 피지컬 컴퓨팅 프로젝트를 위해서는 센서의 역할을 정확히 이해하고 하드웨어를 세팅하는 것이 중요합니다. 이번 실습에 사용될 핵심 부품을 확인해 보겠습니다.
▶ 마이크로비트 (Micro:bit V2)
온도 센서가 읽어들인 아날로그 신호를 디지털 데이터로 변환하고 연산하여 OLED 화면으로 전송하는 시스템의 메인 두뇌 역할을 수행합니다.
▶ 스마트팜 키트 (Smart Farm Kit)
실제 온실 환경을 제어할 수 있는 다양한 산업용 센서들이 교육용으로 안전하게 모듈화되어 있는 키트입니다. 이번 프로젝트에서는 액체의 온도를 측정할 수 있는 방수형 온도 센서(Temperature Sensor)와 측정된 수치를 시각적인 텍스트로 보여줄 I2C OLED 디스플레이 모듈을 중점적으로 활용합니다.
부품의 용도를 이해했다면, 데이터가 정상적으로 송수신될 수 있도록 확장 보드에 센서를 알맞은 위치에 결합해야 합니다. 점퍼 케이블을 이용하여 아래의 사진과 표를 참고하여 정확하게 포트를 연결해 줍니다.

| 연결 센서 및 모듈 | 마이크로비트 확장 보드 포트 | 작동 원리 및 역할 |
|---|---|---|
| 방수형 온도 센서 | P1 포트 | 물의 온도를 아날로그 전압 값으로 읽어들여 마이크로비트에 전달합니다. |
| OLED 디스플레이 | I2C 포트 | SDA, SCL 두 가닥의 선을 이용하는 I2C 통신으로 복잡한 데이터를 화면에 문자로 출력합니다. |
하드웨어 회로 구성이 완료되었다면, 하드웨어를 제어할 소프트웨어를 설계할 차례입니다. 별도의 프로그램 설치가 필요 없는 마이크로비트 공식 웹 컴파일러인 MakeCode(메이크코드)에 접속하여 새 프로젝트를 생성합니다.
1. 확장 프로그램 추가하기
우리가 사용하는 스마트팜 키트의 특수 센서(OLED 등)를 원활하게 제어하기 위해서는 전용 블록 꾸러미가 필요합니다. MakeCode 좌측 메뉴 탭 가장 하단에 있는 [확장] 메뉴를 클릭한 후, 검색창에 'iot environment kit'를 정확히 입력하고 검색하여 패키지를 추가해 줍니다.

라이브러리가 정상적으로 로드되었다면, 아래 사진과 같이 OLED, RTC, Dust 등 환경 제어에 특화된 다섯 개의 새로운 확장 카테고리 블록이 좌측 메뉴에 생성된 것을 확인할 수 있습니다.
2. 코드 알아보기 및 알고리즘 설계
이제 온도 센서로 물의 온도를 측정하고, 그 값을 변수에 담아 OLED 화면에 띄우는 일련의 과정을 코딩해 보겠습니다.
먼저 프로그램이 켜질 때 단 한 번 실행되는 '시작하면' 블록 안에서의 초기화 과정입니다.
시스템이 켜지면 이전 화면에 남아있던 불필요한 잔상이나 쓰레기 값(Garbage Value)을 지우기 위해 OLED 화면을 초기화(Clear) 해주는 블록을 가장 먼저 삽입합니다.

다음으로, 센서가 측정한 값을 담아둘 그릇 역할을 할 변수를 생성해야 합니다. [변수] 탭으로 이동하여 '온도'라는 이름의 변수를 새롭게 만들어 줍니다. 변수는 시시각각 변하는 수온 데이터를 실시간으로 보관하고 갱신하는 매우 중요한 역할을 합니다.


이제 메인 루프인 '무한 반복' 블록 안의 로직을 설계합니다.
1) 방수 온도 센서(P1 포트)에서 실시간으로 측정한 수치 값을 앞서 만든 변수 '온도'에 저장합니다.
2) 새로운 데이터를 화면에 띄우기 전, 글씨가 겹쳐 보이지 않도록 OLED 화면을 다시 한 번 깔끔하게 초기화합니다.
3) OLED 디스플레이 출력 블록을 사용하여, "Temp: " 라는 고정된 문자열과 함께 '온도' 변수의 현재 값을 화면에 함께 출력합니다.
4) 데이터가 너무 빠르게 새로고침되어 화면이 깜빡이거나 보드에 과부하가 걸리는 것을 방지하기 위해, 5초(5000ms)의 일시 정지(Delay) 블록을 추가하여 5초 단위로 수온을 측정하고 갱신하도록 제어합니다.

★여기서 잠깐! 챌린지 미션으로 실력을 업그레이드해 보세요.
수온 측정 시스템 구축에 성공했다면, 키트에 포함된 수위(물 높이, Water Level) 센서를 P2 포트에 추가로 연결하고 코드를 살짝 수정해 보는 것은 어떨까요? OLED 화면의 첫 번째 줄에는 수온을, 두 번째 줄에는 물의 높이를 표시하도록 코드를 응용해 보세요. 물이 부족할 때 경고음을 울리게 한다면, 실제 산업 현장에서 쓰이는 훨씬 더 완벽하고 정교한 스마트팜 급수 시스템이 완성될 것입니다!
오늘은 농작물을 건강하게 잘 기르기 위한 데이터 수집의 첫걸음으로, 마이크로비트와 센서를 활용해 실시간 수온 모니터링 장치를 직접 설계하고 만들어 보았습니다. 구조물은 작고 코딩 로직은 간단하지만, 우리 생활에 적용하면 농업의 효율을 비약적으로 높여주는 아주 강력하고 편리한 기술입니다.
코딩과 사물인터넷(IoT) 기술이 우리 식탁의 먹거리를 책임지는 미래 농업 환경과 만났을 때 어떤 시너지를 낼 수 있는지, 학생들 스스로 상상력을 발휘해 볼 수 있는 뜻깊은 실습 시간이 되길 바랍니다. 코딩 강사님들과 코딩을 사랑하는 학생 여러분 모두 수고 많으셨습니다!
다음 시간에도 농업과 첨단 공학 기술이 만나는, 흥미롭고 창의적인 스마트팜 피지컬 컴퓨팅 프로젝트로 다시 돌아오겠습니다. 궁금한 점이 있으시다면 언제든지 댓글로 남겨주세요. 그럼 안녕~!
해당 프로젝트에서 나온 상품은 아래에서 확인가능합니다 ▼