引言
房子裝修好之后疫蔓,甲醛含量測下來很高含懊,買了好幾盆綠植凈化空氣。結(jié)果被派出去長期出差衅胀,正值天氣轉(zhuǎn)暖岔乔,花草得經(jīng)常澆水,只好拜托朋友幫忙滚躯,很是麻煩雏门。為了解決這個麻煩嘿歌,便想著基于Arduino做一個自動澆水裝置,解決在外出差時家里花花草草的澆水問題茁影。出差期間宙帝,在油管上看到一些別人做的案列,發(fā)現(xiàn)要實(shí)現(xiàn)自動澆水并不復(fù)雜募闲,于是開始著手準(zhǔn)備步脓。成品如下:
[站外圖片上傳中...(image-f08c43-1558062402817)]
部件介紹
板子用的Arduino Nano,好用不貴浩螺,且比較袖珍靴患,只有大拇指大小。其他部件有:濕度傳感器要出、繼電器蚁廓、水泵以及若干跳線。(不得不感慨一下厨幻,現(xiàn)在傳感器真心便宜相嵌,只有我?guī)啄昵白x大學(xué)時的幾分之一,大部分傳感器也就兩三塊錢)思路很簡單况脆,就是用濕度傳感器監(jiān)測花盆中土壤的濕度饭宾,如果濕度下降到預(yù)設(shè)值時,繼電器通電導(dǎo)通水泵電機(jī)電路格了,然后水泵運(yùn)行設(shè)定時間后斷開看铆。
[站外圖片上傳中...(image-a439fb-1558062402817)]
接線
使用
Fritzing
繪制電路圖,接線時注意繼電器的NO是高電平時常開盛末,NC是高電平時常閉弹惦。濕度傳感器接Arduino模擬口A5,繼電器接數(shù)字口D5悄但,濕度傳感器每50ms采集一次數(shù)據(jù)棠隐,濕度大于等于500時繼電器通電閉合,水泵運(yùn)行5秒后繼電器失電斷開檐嚣。
[站外圖片上傳中...(image-a0ced6-1558062402817)]
寫入代碼
int plantPin = 5助泽;
void setup()
{
Serial.begin(9600);
pinMode(A5, INPUT);
pinMode(plantPin,OUTPUT);
}
void loop()
{
int SensorValue = analogRead(A5);
if(SensorValue >= 500)
{
digitalWrite(plantPin,HIGH);
delay(5000);
digitalWrite(plantPin,LOW);
}
delay(50);
}
演示視頻
視頻中土壤是已經(jīng)澆過水的,所以取出濕度傳感器后嚎京,水泵會工作嗡贺,插回土壤后,水泵停止工作鞍帝。測試未使用12V的水泵诫睬,用的6V的小泵,所以水流較小帕涌。
存在問題及改進(jìn)思路
- 廉價(jià)傳感器不可靠
便宜的濕度傳感器并不可靠摄凡,如果傳感器故障续徽,不能及時發(fā)現(xiàn),會更加麻煩架谎。想到的改進(jìn)思路是多放幾個濕度傳感器,有大于兩個檢測到濕度低時啟動水泵辟躏。
- 不能反饋實(shí)時信息
不能隨時監(jiān)視實(shí)時的情況谷扣,只能期望系統(tǒng)不出問題,不能讓人放心捎琐。解決的想法是通過teamviewer
軟件遠(yuǎn)程操作樹莓派会涎,用樹莓派的gpio
接口控制繼電器開合電路,在樹莓派上安裝motion
控制攝像頭實(shí)現(xiàn)遠(yuǎn)程監(jiān)控瑞凑。
暫時只能在同一局域網(wǎng)下用SSH控制樹莓派的gpio
接口末秃,設(shè)置靜態(tài)IP后會時不時斷網(wǎng),還沒弄明白原因籽御。