이번에는 녹소토와 펄라이트를 3:7 비율로 섞어서 측정해보았습니다.

아래는 데이터와 fit결과입니다.

데이터들이 직선으로 잘 늘어서 있습니다. fit결과는,

입니다. x는 상대습도(%), y는 센서값입니다. 역함수는,

입니다.

이번에는 다른 혼합비에서 측정한 결과와 겹쳐보겠습니다. 오늘 측정결과는 노란색으로 표시되어 있습니다. 실선은 가중치합산 예측식이고 점선은 측정결과입니다.

예상대로 녹소토의 비율을 낮추고 펄라이트 비율이 높을 수록 순수한 펄라이트의 결과에 접근함을 알 수 있습니다. 이번에도 역시 실선과 점선이 일정하게 떨어져 있는 것을 볼 수 있습니다.

어쨋든 2종류의 흙이 혼합된 혼합흙은 가중치 합산방법으로 예측해 볼수 있으며, 실제 습도와의 오차는 약 15 ~ 20%정도임을 알 수 있습니다.

 

지난번 녹소토 + 펄라이트 글(습도센서 교정 12)에서 두 흙을 반씩 섞었는데, 이번에는 7:3(부피기준)으로 섞었습니다. 그래서 이번 측정 결과는 지난번 5:5결과 보다는 순수한 녹소토 쪽에 좀 더 가깝게 나타날 것으로 예상했습니다. 아래는 측정 결과 입니다. 혼합 흙의 무게는 약 150g이었습니다.

대체로 직선으로 잘 분포하고 있습니다. 위의 데이터를 fit한 결과는,

여기서 x는 상대습도(%), y는 센서의 값입니다. 이식을 뒤집으면,

이렇습니다.

 

그럼 이전의 순수한 녹소토, 순수한 펄라이트, 그리고 이 둘을 5:5로 섞은 결과와 비교해 보겠습니다.

순수한 녹소토: y = 17.68*x + 1065.60

순수한 펄라이트: y = 3.91*x + 803.11

5:5 측정결과: y = 10.47*x + 791.88

7:3 측정결과: y = 14.43*x + 713.45

5:5 가중예측식: 10.79*x + 934.36

7:3 가중예측식: 13.55*x + 986.85

위의 식들로 그래프를 그려보면 아래와 같습니다.

 

가로축, x는 상대습도(%), 세로축, y는 센서값입니다.

빨간색은 순수한 녹소토, 파란색은 순수한 펄라이트입니다.

보라색 실선은 녹소토와 펄라이트 식으로부터 반씩 가중평균한 식(예측식)이고, 보라색 점선은 측정결과입니다.

마지막으로, 녹색 실선은 녹소토와 펄라이트 식으로부터 7:3로 가중 평균한 식(예측식)이고, 녹색 점선은 측정 결과입니다.

 

그래프를 보면 녹색과 보라색 모두 예측한 값(실선)과 측정값(점선)이 약간씩 그러나 일정하게 차이(같은 센서값일 경우 습도가 약 10 ~ 15%정도의 차이)가 나는것을 볼 수 있습니다. (차이가 어디에서 올까요?) 그러니까 예측식을 사용하면 실제 습도보다 약 10% ~ 15정도 적게 예측합니다.

 

그리고 예측한 대로 7:3으로 섞은 결과(녹색)가 순수한 녹소토(빨강)에 좀 더 근접하는 것을 볼 수 있습니다. 그러니까, 혼합 흙의 경우 좀더 비율이 높은 종류의 흙 쪽으로 식이 이동하는 것을 볼 수 있습니다. 다음 번에는 거꾸로 3:7로 한번 더 해보도록 하겠습니다.

 

그래서 결론은, 가중평균한 식이 측정결과와 좀 차이가 있지만, 어느 정도 예측에 사용할 수 있겠다입니다.

 

 

지난번 동생사 + 펄라이트 2편에 이어서 씁니다.

 

지난번 글에서 동생사의 변곡점의 위치는 40~50%(지난번 글 "토양습도 센서 교정 6(동생사편)"를 참조하세요), 동생사 + 펄라이트의 변곡점은 약 70%라고 말씀드렸습니다. 그래서 순수한 동생사의 변곡점은 50%가 아니라 70%가 아닌가하여 동생사로 다시 측정을 해보았습니다. 동생사 측정 시에 혹시나 50%까지만 측정을 하고 그보다 높은 습도의 데이터를 받지 못해서 그런것이 아닌가 생각했습니다.

 

아래는 재측정 결과입니다.

 

위의 그래프에서 가로축은 흙의 상대질량 대비 수분의 양(%)이고, 세로축은 센서의 값입니다. 새로 얻은 데이터와 "토양습도 센서 교정 6(동생사편)"의 데이터를 합쳐서 그래프에 그렸습니다.

 

이번 측정에서는 상대습도 50%를 넘어서 80%이상까지 측정하는 것을 목표로 했으나, 50%에 도달하니 물이 화분밑으로 새는 것을 보았습니다. 그러니까, 동생사는 품을 수 있는 수분의 최대치가 흙의 질량의 50%까지이고, 그 이상 물을 주면 물이 흙에 더 이상 흡수되지 않고 화분의 밑 구멍으로 새나가는 것을 알 수 있습니다. 그래서 이번 그래프도 이전 동생사 글의 그래프와 동일한 궤적을 그립니다.

 

위의 이유로 동생사의 그래프가 S자형 곡선(Sigmoid 함수형 곡선)을 그리고 변곡점의 위치는 여전히 40 ~ 50%입니다. 다른 이유가 아니라 그 이상 흙이 물을 품을수 없기 때문입니다. 그래서 동생사와 다른 흙(펄라이트 등)이 섞이면 변곡점의 위치가 50%보다 높게 나올 수 있습니다. 그러니까, 펄라이트 등의 다른 흙이 물을 더 품을 수 있게되므로, 전체 흙의 질량대비 약 80%가 되어야 물이 밑으로 새는 것입니다.

 

그렇다면, 동생사와 다른 흙을 섞었을때, 이런 복합흙의 센서 예측값을 구하려할 경우, 각 순수한 흙의 식에 대해서 부피에 대한 가중치를 곱하여 합산한다고 했는데, 지난번 "동생사 + 펄라이트 2편"에서 보았듯이 실제 측정과의 오차가 상당합니다. 그래서 동생사는 이런 가중치 합산방법이 잘 맞지 않습니다. 동생사와 다른 종류의 흙이 섞인 경우는, 그 경우마다 따로 센서값을 calibration을 해야 정확할 듯 합니다.

 

 

 

 

 

 

지난번(동생사 + 펄라이트 편)에 이어서 좀 더 데이터를 수집해 보았습니다. 지난번 글의 데이터를 보면 다른 데이터에 비해 좀 낮게 나오는 것들이 있었고, 그 원인으로 흙이 균일하게 배합되지 않은 것을 원인으로 들었습니다.

 

그래서 이번 실험에서는 좀 더 흙이 균일하게 잘 배합되도록 좀 더 긴 시간을 두고 저어서 균일하게 배합하였습니다. 아래는 이전 실험의 데이터와 합친 결과입니다.

 

 

이번에 얻은 데이터들은 이전의 위쪽의 데이터들이 집중된 곳에 더해졌고, 아래쪽에 위치한 데이터들은 더 이상 추가된 데이터가 없습니다. 즉, 이것이 의미하는 것은 아래의 처진 데이터들은 흙이 불균일하게 섞여서 나타난 결과로, 동생사와 펄라이트가 균일하게 섞여 있으면 나타나지 않을 값들입니다. 그래서 아래쪽의 처진 데이터들을 제거하고 나머지만 표시하면 아래와 같습니다.

이제 이 결과로 동생사 흙과 같이 sigmoid함수로 fit을하면 아래와 같이 나옵니다.

fit 결과는 아래와 같습니다.

 

여기서 x는 상대습도(%), y는 센서 값입니다.

이제 이 그래프를 이전 동생사, 펄라이트의 식들과 비교해 보겠습니다.

이번 측정 결과의 fit 함수는 보라색 실선, 그리고 동생사식과 펄라이트식을 0.5씩 가중평균하여 계산한 식은 보라색 점선으로 표시됩니다. 그러니까 순수한 동생사, 펄라이트 결과에서 예측한 결과(점선)과 실제 측정한 결과(실선)가 비슷한 sigmoid 함수 경향을 보입니다. 하지만 좀 차이가 있습니다. 예를 들어 센서값이 1200이면 예측한 습도는 30%라고 나오지만 실제로는 45%입니다.

 

어떤 이유로 이러한 차이가 나오는지는 아직 알수 없습니다. 부피 기준으로 흙을 반씩 섞는것이 예측식을 계산할 때 가중치를 0.5씩 놓는 것과 달라서 차이를 만드는 것 같습니다. 그래서 가중치를 달리하면서 계산한 것을 그려본 것이 아래의 그래프입니다.

 

예를 들자면, 0.3 & 0.7은 동생사식에 가중치 0.3, 펄라이트식에 가중치 0.7을 두고 합한 결과라는 의미입니다. 보다시피, 가중치를 바꾸어도 각 식의 변곡점의 위치(약 50%)가 측정결과(약 70~80%)와 일치하지 않습니다.

 

아무래도 흙을 섞을때 반씩이 아니라 달리 섞어야 변곡점의 위치가 비슷할 것 같습니다. 또는 섞는 비율 외 뭔가 다른 원인이 더 있을 수도 있으나, 현재로서는 그것이 무엇인지 잘 모르겠습니다.

 

어쨋든 "섞인 흙의 경우, 순수한 흙들의 측정결과들로부터 센서의 값을 어느 정도 예측해 볼수 있으나, 좀 오차가 있다"가 이번 글의 결론입니다.

 

녹소토 + 펄라이트편에 이어 이번에는 동생사 + 펄라이트로 해보았습니다. 이 두 흙을 고른 이유는 동생사와 펄라이트가 습도에 따라 변화가 매우 다르므로, 두 흙을 부피 기준으로 반씩 섞었을 때 어떻게 행동하는지 궁금하기 때문입니다.

 

아래의 그래프는 측정결과를 나타냅니다. 흙의 무게는 각 흙을 부피기준 50%씩 섞어서 약 110g입니다. (동생사 ~ 73g , 펄라이트 ~ 37g) x는 상대 습도 (%), y는 센서의 값입니다.

대표사진 삭제

사진 설명을 입력하세요.

데이터를 보니 몇 개의 점들이 다른 점들에 비해 많이 낮게 나온게 보입니다. 측정할 때 3개의 화분을 준비했는데 그 중 한 화분에서는 흙이 잘 배합되지 않아서 그런 모양입니다. 그러니까 펄라이트가 센서에 좀 더 많이 배치된 모양입니다.

 

위의 데이터를 동생사처럼 sigmoid함수로 fitting한 결과가 아래의 결과입니다.

Fit equation은 아래와 같습니다.

 

마지막으로 이전에 구한 동생사(파란색), 펄라이트(빨간색) 식들에, 각 식들을 0.5 씩 가중치를 두고 합산한 식(보라색 점선)을 그려보았습니다. 위 그래프에서 데이터를 fit한 결과는 보라색 실선으로 그렸습니다.

 

그러니까 보라색 실선이 측정한 결과를 fitting한 결과이고, 보라색 점선이 동생사, 펄라이트 결과를 가지고 절반씩 비중을 두고 합산한 결과입니다. 두 선이 좀 차이가 많이 나 보입니다. 만일 아래에 처진 점들이 없다면 보라색 실선이 점선과 비슷해 보였을 것 같네요.

 

일단 결론은 "흙이 잘 배합되어 있다면 측정결과와 합산결과가 비슷할 것 같다"입니다.

흙의 배합에 좀더 신경을 써서 좀 더 데이터를 모아 봐야 겠습니다.

 

 

지난번글에서 예고했듯이 두 종류의 흙이 섞인 복합흙에서의 센서값을 조사해 보았습니다. 총 7종의 흙 중에서 센서의 값이 가장 큰 녹소토와 가장 작은 펄라이트를 골라서 섞었습니다.

 

그 흙들은 밀도가 매우 달라서 녹소토가 펄라이트에 비해 약 2.6배 무겁습니다. 그래서 부피 기준으로 절반씩 되도록 섞어주었습니다. (녹소토 214g + 펄라이트 82g = 총 296g) 만약 무게 기준으로 절반씩 섞으면 펄라이트가 훨씬 많이 섞여서 순수한 펄라이트와 비슷해집니다. 그래서 부피 기준으로 절반씩 섞어야 흙을 혼합했을때 절반씩 섞인 것으로 보입니다.

 

아래는 상대 습도의 변화에 따른 센서값의 변화입니다.

여기서 X는 상대 습도 (혼합흙의 무게 대비 투입한 물의 양), Y는 센서의 값입니다.

 

X와 Y를 뒤집은 함수는 아래와 같습니다.

 

그럼 순수한 녹소토, 순수한 펄라이트와 복합흙의 결과를 비교해 보겠습니다.

 

아래의 그래프는 이전의 녹소토, 펄라이트의 결과에 오늘 측정한 혼합흙의 결과를 합친 결과입니다. 녹소토는 빨간색, 펄라이트는 파란색으로 표시하였으며, 보라색 점선은 위에서 측정한 혼합흙의 측정결과, 보라색 실선은 녹소토와 펄라이트의 식들을 절반씩 비중으로 합산한 결과입니다. 그러니까 보라색 실선은 두 종류의 순수한 흙으로부터 예상되는 예측값인 셈입니다.

보라색 실선과 점선을 비교하면 측정값과 예측값이 약간 차이가 있기는 하지만, 대체로 측정 결과가 예측 결과와 비슷하다는 것을 알 수 있습니다.

그러니까 결론은, "두 종류의 순수한 흙들로 혼합흙을 만들면, 혼합흙의 측정결과는 각 구성 흙의 부피비율에 따른 합산 (weighted sum by volume ratio) 결과와 비슷하다"입니다.

 

다음 시간에는 다른 종류의 흙들로 좀 더 실험을 해보고 위의 주장이 맞는지 좀 더 검증해 보겠습니다.

 

 

제가 호야 카르노사 작은 화분2개를 가지고 있는데 작년 10월말부터 지금까지 습도센서를 이용해서 주기적으로 물을 주고 있습니다. 11월 초에 찍은 사진은 아래와 같이 2개 모두 건강합니다.

사진 1
사진2

그런데 위쪽 화분(사진1)은 12월 경부터 시들시들하더니 잎이 하나씩 떨어지기 시작했습니다. 아래의 사진3은 같은 화분(사진1의 화분)을 1월 25일경에,  사진4는 오늘 (3월2일) 찍은 사진입니다.

 
사진3
사진4

습도센서의 값이 일정 수준으로 내려오면 그때마다 물을 주곤 했으니 물이 부족해서 시든것은 아닙니다. 무언가 다른 원인때문입니다. 반면 사진2 화분은 아래 사진 처럼 여전히 건강합니다.

 

 

식물 초보인 저는 무슨원인으로 이렇게 된 것인지 알수 없습니다.

여기서 드는 생각은 다음과 같습니다.

 

  • 식물의 건강은 물주기만으로 충분하지 않으며 토양, 양분, pH, 일조량, 공기 온습도 등의 다른 요소도 중요하다.
  • 따라서 식물 관리는 센서만으로는 부족하며 이상이 있을 경우 전문가(혹은 진단 서비스 등)의 도움이 필요하다.

 

하지만 습도센서의 기록을 보면 시드는 증세와 관련이 있어보이는 점이 있습니다.

아래 두 그래프에서 위의 것은 건강한 화분(사진2)의 것이고 아래의 것은 시든 화분(사진1, 3, 4)의 것입니다. 물을 주기 위한 습도 하한값은 임의로 제가 약 1000정도로 놓았습니다. 그래프의 값이 갑자기 뛰어오르는 시점이 제가 화분에 물을 준 시점입니다.

사진2 화분

 

 
사진1 화분

 

두 화분 모두 습도의 기록은 작년 10월말 부터입니다. 위쪽 화분(사진2 화분)의 기록을 보면 습도의 상승/하강 주기가 약 9일 정도로 현재까지 비교적 일정한 편입니다. 그러나 아래쪽 화분(사진1 화분)의 경우 11월의 기록을 보면 물을 준 직후 습도의 하강이 비교적 완만하다가 최근에는 하강속도가 매우 빠른 것을 알 수 있습니다. 그래서 아래쪽 화분의 경우 습도를 빨리 감소시키는 어떤 원인이 있는 것 같습니다. (중간의 그래프(11월20일 ~ 12월 18일)가 이상한 것은 실수로 다른 데이터와 섞여서 그렇습니다.)

 

결론적으로 식물의 상태와 관수 직후의 토양습도 하강률 간에 어떤 상관관계가 있는 것 같습니다. 그래서 하강률이 식물의 건강상태 확인의 지표 중 하나가 될 수 있을 것 같습니다. 다만 여전히 1월 경에도 11월 기록과 하강률이 비슷하므로 식물이 매우 좋지 않은 상태가 되어서야 하강률의 변화가  나타나는 것 같습니다.

 

 

아두이노나 개발보드를 사용하다보면 데이터값을 표시할 일이 많은데, 물론 아두이노 개발환경(Arduino IDE)에서 시리얼모니터로 보는 방법도 있습니다만, 아무래도 가시성이 떨어질수 밖에 없습니다. 그리고 아두이노에 펌웨어를 업로드한 후에 usb 케이블을 떼어내어 독립적으로 동작하면, 시리얼모니터로도 볼수 없습니다.

 

그래서 필요한 것이 디스플레이 장치입니다. 커다란 모니터같은 것이 아니고 수인치 정도의 작은크기에 꼭 필요한 정보들 예를 들어 센서의 값이나 간단한 도형등을 표시할 수 있는 장치입니다.

 

일례로 아래는 Adafruit에서 파는 1.3인치 크기의 OLED입니다. 물론 Adafruit말고 AliExpress 등 다른 곳에서도 판매합니다.

https://www.adafruit.com/product/938

아래에 있는 게 OLED이고 개발보드와 4개의 선으로 연결되어 있습니다. 화면 안에는 별들이 그려지고 있습니다.

필요한 전선은 전원선 2개(3.3V 혹은 5V와 GND)와 I2C 통신용 선 2개가 필요하며, SPI 통신 규격도 지원됩니다.

 

위 페이지에 들어가서 스펙을 보면 아래와 같습니다.

드라이버 칩세트: SSD1306

전원: 3.3V 혹은 5V

화면 크기: 34.5mm * 23mm (1.3 인치 대각선길이)

PCB 크기: 35.6mm * 33mm

무게: 약 6g

통신규격: I2C, SPI

화소: 128 * 64

통상적 소모전류량: 약 40 mA (사용량에 따라 변함)

 

사용방법은 아래의 링크에 있습니다.

https://learn.adafruit.com/monochrome-oled-breakouts/arduino-library-and-examples

처음 사용할 때는 아두이노의 예제를 따라해보는게 좋습니다.

 

간단히 사용방법을 소개하자면 아래와 같습니다.

  1. 먼저 OLED를 구동하는 라이브러리를 아두이노 IDE에 추가합니다.

2. 이 후 나타나는 입력창에서 adafruit ssd1306과 adafruit GFX 라이브러리를 검색하여 설치합니다.

3. 아두이노를 재실행하면 아래처럼 예제가 추가됩니다.

여기서 선택시 화면의 크기와 통신규격은 가지고 있는 OLED의 스펙에 맞는것을 고릅니다. 위 화면에서는 I2C로 통신하는 128 * 32 화소크기의 디스플레이를 골랐습니다.

 

아래에 보다시피 그림이나 글자 등을 표시할 수 있습니다.

 

+ Recent posts