' + 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 += '
안녕하세요, 코딩 교육의 가치를 전달하는 마케터입니다! 사물인터넷(IoT) 기술이 발전하면서 우리 일상 속 다양한 기기들이 인터넷과 연결되어 편리함을 더해주고 있습니다.
오늘은 코딩 강사님들과 코딩을 배우는 초중고 학생들을 위해 ESP32 PLUS 개발 보드를 활용한 재미있는 실습 프로젝트를 준비했습니다. 바로 스마트 농업(Smart Farming)과 스마트 화분의 핵심 부품인 토양 수분 센서(Soil Moisture Sensor)를 다루어보는 시간입니다. 센서의 데이터를 무선 블루투스 통신으로 확인하는 과정까지 모두 담았으니 끝까지 집중해 주세요!
식물을 키울 때 가장 어려운 점 중 하나가 '언제 물을 주어야 하는가'입니다. 겉흙은 말라 보여도 속흙은 축축한 경우가 많기 때문이죠. 이 문제를 과학적으로 해결해 주는 부품이 바로 토양 수분 센서입니다.
토양 수분 센서는 흙 속의 실제 수분 함량을 수치로 정밀하게 측정하는 하드웨어 장치입니다. 식물 재배나 현대의 스마트 농업(스마트 팜)에서 매우 핵심적인 역할을 수행하며, 토양의 수분이 일정 기준치 이하로 떨어졌을 때 워터 펌프를 작동시켜 자동으로 물을 공급하는 자동화 시스템의 기초가 됩니다.

위 사진과 같이 두 갈래로 나뉜 금속 전극 모양을 띠고 있으며, 측정하고자 하는 식물의 화분 흙 속에 깊숙이 꽂아서 사용하게 됩니다. 구조가 직관적이어서 어린 학생들도 쉽게 하드웨어의 형태와 용도를 유추할 수 있습니다.

이 센서가 단순히 흙에 꽂혀 있다고 해서 어떻게 수분을 알아내는 것일까요? 여기에는 기초적인 전기 회로 원리가 숨어 있습니다. 토양 수분 센서는 두 개의 전극 사이를 흐르는 전기의 전도도(전기 저항)를 측정하는 방식으로 동작합니다.

물질 내에 물(수분)이 많을수록 전기가 더 잘 통하게 됩니다. 따라서 흙이 촉촉하고 물이 많으면 전극 사이의 전도도가 증가하고 저항은 낮아집니다. 반대로 흙이 바짝 말라 물이 적어지면 전도도는 감소하고 저항이 커집니다. 한쪽 전극에서 다른 전극으로 이동하는 전자의 흐름이 수분의 양에 비례하는 것입니다!
이러한 저항의 변화는 아날로그 전압 신호로 바뀌어 ESP32 PLUS 보드로 전달됩니다. 보드는 이 아날로그 신호를 0부터 일정 범위의 디지털 숫자로 변환합니다. 우리는 이 숫자를 프로그래밍하여 "건조함"과 "촉촉함"의 기준을 코딩으로 구분할 수 있습니다.
성공적인 IoT 프로젝트를 위해 아래의 부품들을 미리 준비해 주세요.
| 부품명 | 설명 및 특징 |
|---|---|
| ESP32 PLUS 보드 | Wi-Fi와 블루투스가 내장된 강력한 코딩 교육용 메인 제어 보드 |
| 토양 수분 센서 | 흙의 수분을 아날로그 값으로 측정하는 센서 모듈 |
| 점퍼선 (M-F) | 보드와 센서를 연결해 줄 전선 |
| 스마트폰 | 블루투스 데이터를 실시간으로 모니터링할 디스플레이 장치 |
센서와 ESP32 보드를 연결하는 방법은 매우 간단합니다. 센서의 세 개의 핀을 ESP32의 전원과 아날로그 입력 핀에 알맞게 연결해 줍니다.
| 토양 수분 센서 핀 | ESP32 PLUS 연결 핀 |
|---|---|
| VCC (전원) | 3.3V |
| GND (접지) | GND |
| A0 (아날로그 출력) | GPIO 34 |
주의사항: ESP32 보드는 3.3V 논리 전압을 사용하므로, 센서의 VCC를 반드시 3.3V 핀에 연결해야 합니다. 아날로그 신호를 읽기 위해 센서의 A0 핀은 ESP32의 아날로그 입력 지원 핀인 GPIO 34번에 연결해 줍니다.
회로 연결이 끝났다면 아두이노 IDE를 열고 아래의 코드를 작성해 줍니다. 이번 실습은 컴퓨터와 선이 연결되어 있지 않아도, 무선 블루투스를 통해 스마트폰으로 수분 데이터를 전송하는 고급 융합 프로젝트입니다.
작성한 코드가 어떤 의미를 가지고 있는지 학생들에게 자세히 설명해 줄 수 있도록 주요 함수들을 분석해 보겠습니다.
코드 이해가 모두 끝났다면 이제 실제 환경에서 하드웨어가 의도한 대로 동작하는지 테스트를 해보겠습니다.

1. 아두이노 IDE 환경에서 ESP32 개발 보드를 정확히 설정한 후 컴파일 및 업로드를 진행합니다.
2. 스마트폰의 블루투스 설정에 들어가서 우리가 코딩한 "ESP32_SoilSensor" 장치를 찾아 페어링합니다.
3. 플레이스토어나 앱스토어에서 'Serial Bluetooth Terminal'과 같은 블루투스 시리얼 모니터 앱을 실행하여 장치와 연결합니다.
4. 앱 화면에 실시간 데이터가 출력되기 시작하면, 센서를 바짝 마른 흙에 꽂아보고, 물이 듬뿍 담긴 젖은 흙으로 옮겨 꽂아보며 스마트폰 화면의 퍼센트(%) 수치가 어떻게 급격하게 변하는지 직접 관찰해 보세요!

위의 시연 과정처럼 ESP32 PLUS 보드와 무선 블루투스 통신을 활용하면 아주 쉽게 토양의 상태를 실시간 데이터화할 수 있습니다. 여기서 코드를 조금만 더 응용한다면 "수분이 30% 이하일 때 모터 펌프를 켜라!"와 같은 스마트 자동 급수 시스템을 완성해 볼 수 있겠죠?
오늘은 ESP32를 활용하여 IoT 기반의 토양 수분 측정 프로젝트를 진행해 보았습니다. 코딩 교육 현장에서 인공지능과 스마트팜에 대한 관심이 높아지는 만큼 유용하게 활용되기를 바랍니다. 다음 시간에도 ESP32만의 독보적인 장점을 살린 더욱 멋진 실습 콘텐츠로 찾아오겠습니다. 그럼 다음 시간에 만나요!