本格的な夏の暑さを少しでも和らげ、節電にもつながる緑のカーテンについては自治体でもその利用を推奨しています。敷地の南側が道路に面していて、日当たりが良過ぎるくらいの自宅でも数年前からゴーヤーを利用した緑のカーテンのお世話になっています。
![]() |
ゴーヤーの葉が夏の日差しを遮ってくれる緑のカーテン |
このゴーヤー、成長が早く病害虫に強いため誰が育てても失敗がほとんどありません。生い茂る葉が室内の気温を下げ、冷房の電気代を浮かせてくれます。一年目は苗を密集して植え過ぎたため、葉も小さく育ちが今一つでしたが、花は十分に楽しめました。
ゴーヤーの花は可憐で綺麗 |
小さな黄色い花をたくさん咲かせてくれて、家の内外から楽しめます。さらに綺麗な花を楽しんだ後には、もう十分だと思うほどたくさんの実をつけてくれました。
次から次に大きな実をつけてくれる |
夏の一番暑い時期に、ゴーヤーの実で作ったチャンプルーは夏バテ防止にも役立ちますが、毎日だとちょっと飽きて来ます。面倒になり、収穫をサボっていると、あっという間に実が熟して黄色くなり、ぱっくりと口を開けてしまいます。
![]() |
完全に熟して口を開けたゴーヤーの実 |
普段食べている緑色のゴーヤーがものすごく苦いのに、この熟した実に詰まっているタネを舐めるととっても甘いのには驚きました。
緑のカーテンは大量の水を吸い上げるため水やりが大変
ゴーヤーに限らず緑のカーテンに利用する植物は、長く伸びた蔓にたくさんの葉をつけます。一枚一枚が目一杯日光に当たるように葉を広げるため、大量の水を葉から蒸発させるのでしょう。大きなプランターに植えていても、すぐに土が乾いてしまいます。朝夕の一日二回はたっぷりと水をやらないと、すぐに葉が萎れて来ます。
二年目は二階のベランダ内にまで侵入したゴーヤーの蔓 |
植え方や追肥のやり方にも慣れた二年目には、あまりにも成長しすぎて二階のベランダにもゴーヤーの実ができるほどでした。大きく育ってくれるのは嬉しいのですが、水やりがますます大変になります。旅行などで一日家を空けると、翌日にはすっかり萎れていました。夏休みに家族で数日間の旅行を控え、何らかの対策が必要になりました。
水道栓用の電磁バルブで自動給水機を自作
秋葉原を定期的にぶらつき、面白そうなものを見つけてはとりあえず手に入れてしまうという悪い?癖があります。購入時点では何に使えるのかわからなくても、その後突然のひらめきで役に立つこともしばしばです。家族に「ガラクタばかり集めて」と小言を言われようが気にしません。この時も運よく千石電商で購入した水道用ソレノイドバルブがありました。自動給水機の市販品もたくさん見ましたが、水道栓から直接給水できるものは結構なお値段がします。自作マニアを自称しているからには、このソレノイドバルブを使って自動給水機を自作するしかありません。
![]() |
12V電源で水道水を制御できるソレノイドバルブ(千石電商で購入) |
このソレノイドバルブを制御するコントローラーの仕様を考えました。自分で水やりをするときの状況を思い返してみると、暑くなる前の朝一番にたっぷりと一回目の水やりをします。一番暑い時期には、お昼を過ぎた頃にはプランターの土が乾いてきますので、朝の水やりから概ね8時間後に二度目の水やりをします。夏の一番暑い時期以外は一日一回でも大丈夫なので、一回と二回を切り替えられるようにします。自宅の中から手動で水やりを制御できると、さらに利便性が増しますので、手動給水ボタンも用意します。マイコン側で必要になる外部との入出力は次のような四つになりました
- Cdsによる明るさ検知のためのADC入力
- 手動で給水を開始するための押しボタン用デジタル入力
- 一日一回または二回を切り替えるスイッチ用のデジタル入力(将来は土壌センサーのためのADC入力に変更)
- ソレノイドバルブ・動作確認LED用のデジタル出力
これだけの入出力が扱えればOKですので、ArduinoやRaspberry Piなどの本格的なマイコンボードは不要です。今回はPICAXE(ピカクスと読みます)マイクロプロセッサーを利用しました。PICをベースにしたBASIC言語の使える教育用に作られたチップで、秋月電子で数百円で購入できます。設計した回路図はこれ。将来的に、二回目給水の要不要を土壌の湿度センサーで判断できるよう拡張性をもたせてありますが、製作時点でセンサーが手元になかったため、手動スイッチで給水回数を切り替える仕様にしてあります。
無償で利用できるEagleで回路図を描き、プリント基板のパターンまで作成。出来上がったガーバーデータをもとにしてローランドDGのiModelaで基板作成を行えば、あとは半田付けと外部への配線のみです。
最終的に出来上がった自動給水機の制御部分がこれです。半透明のプラスチック容器に押し込んでありますが、これは中のCdsセンサーが外部の光を感知できるようにするためで、決してケースに手を抜いているわけではありません(^ ^) これを窓際に置いておけば、朝明るくなるとセンサーで夜明けを感知してくれ、一日のサイクルが始まります。
ちなみに、今回使用したPICAXEは広く組み込み機器などに使われているPICマイコンをカスタマイズし、教育用に変えられた特殊仕様のマイコンです。BASIC言語でプログラムでき、RS232Cライクのケーブル一本でプログラムを書き込めます。以前PICマイコンにチャレンジして、C言語や初期設定の複雑さにくじけてしまった私にはぴったりのマイコンです。処理速度はオリジナルのPICに劣りますが、標準のままでBASICが使え、擬似マルチタスクもサポートしています。1.8Vからの低電圧駆動も可能で、電池で動かす小型携帯機器を開発する際には最適だと思います。多少特殊ではありますが、昔シャープのMZシリーズで身につけたBASIC言語の知識が使えるのも嬉しい限りです。今回のプグラムは以下のようなものですが、時間をカウントして必要な動作を指示するタスクと、夜明けから日没まで明るさを監視しているタスクの二つが独立してプログラミングされています。擬似とはいえ、マルチタスクでプログラムが組めると非常にすっきりしますので大変助かります。
![]() |
PICAXEを使った自動給水機の回路図 |
無償で利用できるEagleで回路図を描き、プリント基板のパターンまで作成。出来上がったガーバーデータをもとにしてローランドDGのiModelaで基板作成を行えば、あとは半田付けと外部への配線のみです。
![]() |
Eagleで作成したプリントパターン |
最終的に出来上がった自動給水機の制御部分がこれです。半透明のプラスチック容器に押し込んでありますが、これは中のCdsセンサーが外部の光を感知できるようにするためで、決してケースに手を抜いているわけではありません(^ ^) これを窓際に置いておけば、朝明るくなるとセンサーで夜明けを感知してくれ、一日のサイクルが始まります。
![]() |
安っぽいケースに組み込んだ自動給水機のコントローラー |
ちなみに、今回使用したPICAXEは広く組み込み機器などに使われているPICマイコンをカスタマイズし、教育用に変えられた特殊仕様のマイコンです。BASIC言語でプログラムでき、RS232Cライクのケーブル一本でプログラムを書き込めます。以前PICマイコンにチャレンジして、C言語や初期設定の複雑さにくじけてしまった私にはぴったりのマイコンです。処理速度はオリジナルのPICに劣りますが、標準のままでBASICが使え、擬似マルチタスクもサポートしています。1.8Vからの低電圧駆動も可能で、電池で動かす小型携帯機器を開発する際には最適だと思います。多少特殊ではありますが、昔シャープのMZシリーズで身につけたBASIC言語の知識が使えるのも嬉しい限りです。今回のプグラムは以下のようなものですが、時間をカウントして必要な動作を指示するタスクと、夜明けから日没まで明るさを監視しているタスクの二つが独立してプログラミングされています。擬似とはいえ、マルチタスクでプログラムが組めると非常にすっきりしますので大変助かります。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; | |
; Automatic Water Feeder | |
; | |
; Ver: 1.00 | |
; Date: 2014.06.09 | |
; Author: oyaji_roadrider | |
; | |
; Copyright 2014 oyaji_roadrider. All rights reserved. | |
; | |
; Function | |
; This system controls solenoid valve according to CdS sensor to feed water to plants. | |
; | |
#picaxe 08M2 | |
; | |
; IO Port | |
; C.0: Serial OUT | |
; C.1: OUT for LED/FET | |
; C.2: IN for mode SW (ADC for Soil Sensor) | |
; C.3: IN for manual feed SW | |
; C.4: ADC for CdS | |
; C.5: Serial IN | |
; | |
; Memory Usage | |
; b0 (work) work | |
; b1 (day) day (not night) flag | |
; b2 (cds) CdS value | |
; b3 (hour) Hour counter | |
; b4 (key) key status | |
; w10 (stop_time) time to stop of water feed | |
; | |
symbol work = b0 | |
symbol day = b1 | |
symbol cds = b2 | |
symbol hour = b3 | |
symbol key = b4 | |
symbol stop_time = w10 | |
; | |
symbol yes = 1 | |
symbol no = 0 | |
symbol feed_duration = 60 ;water feed duration 60 sec | |
symbol cds_th_n2d = 50 ;CdS threshold from night to day | |
symbol cds_th_d2n = 100 ;CdS threshold from day to night | |
; | |
; Main Task | |
; | |
start0: | |
init: | |
pullup %00001100 ;internal pull up C.3/C.2 | |
let day = no | |
let work = 0 | |
let hour = 0 | |
; | |
main: | |
pause 1000 | |
let key = pins & %00001000 ;read C.3 status | |
if key = %00000000 then gosub feed ;manual feed switch on | |
if time >= 3600 then | |
inc hour | |
let time = 0 | |
if hour = 1 and day = yes then gosub feed | |
let key = pins & %00000100 ;read C.2 status | |
if key = %00000100 then main ;twice a day mode off | |
if hour = 8 and day = yes then gosub feed | |
endif | |
; | |
debug | |
goto main | |
; | |
; Feed Water subroutine | |
feed: | |
suspend 1 | |
let stop_time = time + feed_duration | |
high C.1 ;start water feed | |
do | |
pause 1000 | |
let key = pins & %00001000 ;read C.3 status | |
if key = %00000000 then exit ;water feed process abort if manual switch pressed again | |
loop while time < stop_time | |
low C.1 ;stop water feed | |
resume 1 | |
return | |
; | |
; Check day or night task | |
; | |
start1: | |
wait 60 ;check day or night every 60 seconds | |
readadc C.4, cds ;read CdS value | |
select case cds | |
case < cds_th_n2d ;enough sunny? | |
inc work ;count up | |
if work >= 3 then | |
if day = no then | |
let time = 0 ;reset timer when changeing from night to day | |
let hour = 0 | |
endif | |
let day = yes | |
let work = 0 | |
endif | |
case > cds_th_d2n ;enough dark? | |
inc work ;count up | |
if work >= 3 then | |
if day = yes then | |
let time = 0 ;reset timer when changeing from day to night | |
let hour = 0 | |
endif | |
let day = no | |
let work = 0 | |
endif | |
else | |
let work = 0 | |
endselect | |
; | |
goto start1 | |
; | |
; | |
end |
土壌湿度センサーで機能アップも簡単
特定の機能を前提とした専用ハードウェアと異なり、内部のプログラムを書き換えれば柔軟に機能を変えられるマイコンチップを使用しています。例えば給水回数を一日一回か二回に切り替えるスイッチ入力部分(C.2端子)の定義を、デジタル入力からADC入力に切り替えて土壌湿度センサーに繋ぎ変えてやれば、プランターの土の湿り具合に応じて自動的に給水の回数を変えることができます。
![]() |
土の湿度に応じて出力値が変わるセンサー |
PICAXEのプログラムを書き換えるのも、ケースに組み込んだままでちょっと特別なRS232Cケーブル(逆論理)をイヤホン端子に差し込んで行えますので、回路を組み変える必要もありません。柔軟性が高く、PICほどの内部知識も不要で、マイコン組み込みシステムが開発できます。もともと教育用として生まれたそうですが、十分実用品の開発に使えそうだと思っています。
今回は水道栓に繋げたバルブを制御する機器ですので、不具合があったら大変なことになります。旅行を楽しんで家に帰ったら、水道の水がジャバジャバと流れっ放しになっていて、周りは水浸し、とんでもない水道料金が請求され、なんてことにならないよう十分なテストとしっかりとした施工が必要です。
![]() |
水道水が出っ放しなんてことにならないよう十分な注意が必要 |
電子回路部分は安価に作っても、水道への接続部分はしっかりとした部品を使いました。設置して四年ほど使っていますが、今のところ水漏れ事故もなく、毎年暑い時期に緑のカーテンの恩恵を受け、ゴーヤーの実を飽きるほど楽しんでいます。今年はゴーヤーチャンプルー以外のレシピ開発が至上命題となっています(^ ^)/
突然のコメントですみません。
返信削除家庭菜園の給水用に使わせていただきます。
所で水分センサーの動作はいかがでしょうか?うまくいっていますか?
感想などお聞かせいただけば幸いです。