最近七夕快到了~又到了給妹子做禮物的時間了~,所以要做一點既有創(chuàng)意,又實用,又好看的東西!那么這個可以給植物自動澆水的……飯盒,是非常理想的選擇。
首先放成品圖:
左邊的是土壤濕度探頭,當土壤的干燥程度達到一定值的時候,打開電磁閥進行澆水。
左邊是DC電源線(DC5.5*2.1mm),5V輸入??梢灾苯邮褂?a target="_blank">USB轉(zhuǎn)DC來做電源。右邊就是進水口,直接與水龍頭相連。
電磁閥使用的是飲水機的電磁閥,成本10元左右。電壓12V,所以需要另外購買一個升壓模塊。
最上面的是升壓模塊,然后依次是土壤濕度檢測模塊,DHT11溫濕度模塊。
LCD1602,可以顯示當前已經(jīng)運行的時間,大氣溫濕度,以及土壤濕度值。
亮起來是這樣子的:
俯視圖。兩根白色的管子一根是進水口,一根是出水,內(nèi)部是電磁閥控制。
程序結構也非常簡單:
土壤濕度探頭檢測到土壤干燥了,就打開電磁閥進行澆水,完畢關閉電磁閥,然后繼續(xù)檢測,就這樣無限循環(huán)下去。每間隔3小時進行一次判斷。
這是設計圖(很初步的構想,實際實現(xiàn)和這個圖有一些細微的區(qū)別):
(原諒我的靈魂畫風→_→)
關于如何澆水,有兩種方案:
方案一:使用電磁閥直接澆自來水。
方案二:使用水泵抽水。
在選擇實用水泵還是電池閥的時候糾結了很久。最后決定用電池閥,因為如果使用水泵的話,要專門放個水盆來裝水……而且要手動給水盆加水,不是一勞永逸的方案
(沒錯我就是這么懶……(╯‵□′)╯︵┻━┻)
首先來看材料一覽表:
(你沒有猜錯,我就是把東西這么隨手一扔,然后就拍了張照片……)
然后做一個供電的模塊,一行接正極一行接負極,用來給各種模塊供電。(因為我沒有買arduino的Shields,只能這樣做了)
這萬能板的孔大小是M2的,被我強行擴展為M3大小,然后才能擰上M3的銅柱
然后目測一下擺放的位置,做好標記,準備鉆孔:
直接電動手鉆上吧,其實給這種塑料鉆孔,感覺是摩擦產(chǎn)生的熱量將塑料融化掉,并不是真正的鉆出來的孔……所以有很多毛邊。
擰上螺絲就可以了。
下面對LCD1602進行固定:
找大概的位置,做好標記
打孔,擰螺絲(其實這個孔我還打歪了……不過塑料盒子可以有一定的形變,所以還是強行擰上去了。)
打歪的孔……
還是強行擰上了。
繼電器這種接口可以直接用杜邦線來插,只要把杜邦線黑色的塑料頭拿掉就好了。就不用另外買專門的線。
杜邦線就可以解決!省錢!
關于杜邦線的處理,用美工刀把杜邦線頭卡位的迷之凸起翹起來:
就可以很輕松的拿出來了。
之后就可以把露出來的金屬部分插進去了。
再把繼電器安裝上去,無盡的打孔……擰螺絲
其實裝得有點歪,不過不要緊。
然后突然覺得,這個飯盒太大了,還有每個模塊都要我這樣打孔,效率太低……
然后睡覺去了。睡覺的時候靈感來了,換了一種思路(沒錯,前面我做的全部都推到重做了?。?/p>
第二天,拿著一大堆模塊,研究如何科學地進行組裝……
然后……
。
。..。..。十分鐘后,這兩個疊在了一起
。..。..。..。二十分鐘后(忙著擺弄,忘記拍照了→_→)
duang~~這就是成品!采用了多層的結構,布局合理,結構精巧(魔性BGM操起來:我的朋友我想驕傲的告訴你,哦我真的不錯我真的很不錯。)
因為是用來澆水的,整個電路板是固定不動的(這又不是智能小車?。?,所以連接的結構強度不是首要考慮的問題。
下面多角度展示,從上往下依次是實時時鐘模塊DS1307,溫濕度模塊DHT11,土壤濕度傳感器,升壓模塊(用來獲得12V的輸出)。
已經(jīng)預留了銅柱,可以很方便地固定在萬能板上面。
這樣……我就可以把你捧在手心了~(ˉ﹃ˉ)
然后下一步計劃固定到萬能板上,右邊用來放電磁閥,中間的縫隙可以焊兩排排針,用于給各種模塊供電。
有個非常巧合的地方,這個萬能板的寬度,正好和繼電器模塊的長度完全一樣~邊角的孔完全對的上,強迫癥看了表示非常舒服。
順便說一下板的尺寸是5x7的
固定這堆模塊,只需要鉆兩個孔。用小刀刻出要鉆孔的位置,避免鉆歪(就是圖中Q和R之間刻了一個標記):
警告:對玻璃纖維板切割、鉆孔,一定要注意粉塵污染!
吸入這些粉塵是非常危險的。所以我是把整塊電路板放到水里面進行鉆孔的。(過程因為有水,就沒有拿手機出來拍照)
準備鉆孔之前,先把所有模塊扔到飯盒里面測試一下布局:
飯盒大小是1000ml的:
好了各位我鉆完孔回來了。這次鉆的不錯,都能對上,誤差不是很大。
果斷擰上螺絲,感受一下:
然后計劃在這里焊兩排排針,一排接正極,另一排是負極。
然后又拆下其他模塊,專心焊接電路板:
放上元件:
準備進行焊接:
然后這就是效果……光滑圓潤的焊點?臣妾做不到啊!
……我承認焊電路我一點都不在行,所以就不要吐槽這個焊點丑了= =
最后我用萬用表測了,能用,所以也并沒有什么問題。
焊好當然要得瑟一下:于是我又裝上去了(感覺我拆了又裝中浪費了不少時間……)
然后給電磁閥焊接兩個排針,就可以直接插杜邦線了,這樣各種模塊還是獨立的,以后拆卸也方便。(保證接口統(tǒng)一,才能方便調(diào)用?。?/p>
焊點是這樣的……其實這里是虛焊了,我后來重新焊了一遍=_=。所以看到這么圓的焊點,一般都是虛焊。
然后又一天過去了……晚上臨睡前東西都是這樣扔一堆的。
第三天起來~今天我們來講解一下如何給arduino pro mini寫程序,使用FT232RL,和arduino pro mini直接六個引腳一對一進行對接(非常方便的說):
如果給arduino單獨供電的話,只需要接三個引腳。但是要記得兩個芯片要共地,不然是傳不上去的。
首先連接的是LCD1602,對應的電路圖是這樣子的:
根據(jù)LCD1602的引腳定義,和arduino的連接方法如下:
LCD VSS 接地
LCD VDD 接5V電源
LCD VL 用于調(diào)節(jié)對比度,通過電位器再接地。
LCD R/W pin 接地
LCD Enable pin 鏈接數(shù)字口 pin11
LCD D4 pin 鏈接數(shù)字口 pin5
LCD D5 pin 鏈接數(shù)字口 pin4
LCD D6 pin 鏈接數(shù)字口 pin3
LCD D7 pin 鏈接數(shù)字口 pin2
LCD BLA 光源正極
LCD BLK 光源負極
但是我稍稍修改了引腳的位置,為了更方便接線:
RS-》8
Enable -》7
D4 -》6
D5-》5
D6-》4
D7-》3
R/W-》GND
然后接好了就密密麻麻這么多線了:
然后連DHT11模塊,VCC和GND分別接電源和接地,OUT接2號數(shù)字口。
然后連接電位器,COM 和NO就是開關的兩端:
可以很輕松地插入~
完全插入(不能裸露太多金屬部分):
擰緊螺絲,大功告成:
這里線太多,也是要用鉗子進行連接了……
兩個繼電器分別接9號數(shù)字口和10號數(shù)字口。
寫點小程序測試一下,繼電器1和繼電器2都可以正常開關。
接下來花了很多時間,一個一個連接模塊,兩個電源分別獨立,一個電源長期供電,連接arduino,繼電器1,升壓模塊,LCD1602。另一路電源可以關閉,給DHT11,土壤濕度模塊,LCD1602的背景光LED,還有給繼電器2進行供電,平時會關掉這部分的電源,達到節(jié)能的目的。
密密麻麻的連接線……
這個是實時時鐘模塊DS1307,實際并沒有派上用途。所以就把它拆了下來(沒用你為什么要把人家裝上去(╯‵□′)╯︵┻━┻)。
然后把所有模塊接好線,預組裝一下,看看能否放下:
在規(guī)劃好模塊的位置,又要進行標記……打孔:
然后打孔完畢。過程和前面說的大同小異,就不放圖了。
然后擰上螺絲看看,右邊很多空白空間,以后可以用來放鋰電池,或者移動電源:
俯視圖:
放一個移動電源進去,測試一下,剛好能放下呢。
飯盒的容積是1000ML的,逼格than逼格!
通電后,點亮LCD背景燈的效果
然后又調(diào)試程序……如此循環(huán)。其中調(diào)試程序的苦逼過程就沒有記錄了……代碼放到github了,地址在帖子的最下面:
然后鏈接水管。直接用電鉆開一個6mm的孔就可以插進去了。
鏈接好的樣子。因為這個飯盒可以很容易地形變,所以很容易調(diào)節(jié):
緊密結合:
發(fā)現(xiàn)電源線插不進去,用1cm的鉆頭進行開孔:
1cm開孔效果
接入電源線,也是剛好可以插入
總體效果,一邊進水,另一邊出水:
入水口是這樣的一個轉(zhuǎn)接口,可以直接固定在水龍頭上,而且不影響正常使用。某寶搜索就可以了(關鍵字:2分 萬能接頭 凈水器)。
上面有個開關,可以不影響正常出水的情況下,引入水流。
最終展示
arduino pro mini芯片
2015年8月10日09:37:32更新物品清單:
arduino pro mini (或者其他任意可以兼容的都可以)
FT232RL(USB轉(zhuǎn)串口,用于給arduino pro mini編程)
LCD1602(用于顯示)
DHT11溫濕度模塊(只是用來顯示溫濕度,目前程序并沒有根據(jù)溫濕度數(shù)據(jù)來判斷澆水量的功能)
杜邦線(10cm和21cm的都買點)
萬能板,焊錫,烙鐵。(如果你使用arduino uno 加上傳感器shield就不需要自己焊電路)
排針
DC接頭(或者micro usb接頭,用于供電)
DC供電線
電磁閥(或者水泵)
升壓模塊/降壓模塊(根據(jù)電磁閥或水泵的電壓進行選擇)
土壤濕度檢測模塊
水管(我用的是2分管,具體要根據(jù)電磁閥或者水泵的尺寸來選擇)
水龍頭轉(zhuǎn)接口(用于電磁閥方案,水泵方案不用買)
M3螺絲,M3銅柱若干
繼電器(如果不是太陽能供電,不用省電的話,只需要1個。如果采用太陽能供電的方案,可以模仿我的做法)
2015年8月13日15:09:30 更新,增加光敏電阻:
如果你百度搜索“arduino如何接光敏電阻”,結果一般都是讓你接一個電阻,再和光敏相連。實際上這樣并沒有必要,因為AVR單片機內(nèi)部就有一個電阻:
只需要利用這個電阻就好了。將一個模擬口設置為高
#define PHOTO_RESISTOR_PIN A2
pinMode(PHOTO_RESISTOR_PIN, OUTPUT);//設置引腳模式為輸出
digitalWrite(PHOTO_RESISTOR_PIN, HIGH);//拉高引腳
Serial.println(analogRead(PHOTO_RESISTOR_PIN));//調(diào)試輸出
光敏電阻一端與A2相連,另一端直接接地。這樣結構非常簡單。實測全黑條件下讀取數(shù)值為1023,強光手電照射讀取數(shù)值623,戶外陰天環(huán)境(沒有陽光直射),讀取數(shù)值為981,雖然不是很精確,但是一般情況下判斷是白天還是黑夜還是夠用了。設置閾值為1000,讀取數(shù)值小于這個值,則表示是白天,不進行土壤濕度檢測。
環(huán)境為陰天,沒有陽光直射,連接光敏電阻的引腳數(shù)值為981
還有拆的時候不小心太暴力,把飯盒拆破了= =。
兩處破損……挺嚴重的,只能換飯盒。
就這樣放著,今晚去買了新的飯盒再修理了。
================分割線=========================
代碼下載地址:直接打包ZIP下載 或者 訪問github主頁
里面有個ino格式的文件,就是arduino程序的文件。要使用arduino軟件打開。arduino軟件下載
雖然我用的是arduino pro mini,但是理論上arduino uno之類的板子都可以兼容使用。
下一步計劃:
加入根據(jù)氣溫判斷澆水量的功能。如果溫度低則少澆水(不知道有沒有這種需求?據(jù)說有些花冬天不能澆太多的水。有多年種花經(jīng)驗的童鞋來傳授點經(jīng)驗吧~)
增加tf卡模塊。將土壤濕度的變化數(shù)值寫入tf卡。
增加光敏模塊,檢測到有光再進行澆水。
-
LCD1602
+關注
關注
14文章
607瀏覽量
52592 -
DHT11
+關注
關注
19文章
277瀏覽量
57594 -
FT232RL
+關注
關注
0文章
5瀏覽量
8741
發(fā)布評論請先 登錄
相關推薦
評論