資料介紹
描述
(用 DeepL 翻譯)
你有綠拇指嗎?即使你這樣做了,這個項目也會提醒你給植物澆水。只需將它放在花盆中您最喜歡的植物旁邊,然后將其校準到合適的濕度水平。一旦土壤變得太干,LED 就會開始閃爍并提醒您給植物澆水。
對于這個項目,您需要:
?
一個好的Plant Guard在植物旁邊的花盆里不應該太突出,還應該有獨立的電源。為此,ATtiny85 是一個不錯的選擇,因為您可以使用 3.3V 紐扣電池長時間運行它——前提是您不要讓它連續測量,而是在大多數時間將其置于睡眠模式。
使用該項目的代碼,您只需每 30 分鐘測試一次土壤是否變得太干。其余時間,工廠守衛睡覺,從電池中汲取的電量很少。所以它應該可以持續很長時間沒有問題。
要使 Plant Guard 尺寸緊湊,請使用迷你面包板的正面和背面。在背面,您粘貼一些組件,這些組件通過正面的電纜連接到 ATtiny85。完成的植物防護裝置的尺寸僅為 40 x 70 x 40 毫米。
如何對 ATtiny85 進行編程
在開始組裝之前,您必須將適當的草圖加載到您的 ATtiny85 上。你可以在這個項目的最后找到代碼。在此處了解如何在 Arduino Uno 的幫助下將其上傳到 ATtiny85。
如何組裝植物衛士
該項目的設置大約需要 30 分鐘。
首先是背面
方便的是,面包板背面有一個粘性表面,您可以在其中連接一些組件。所以先把背面的保護膜去掉。然后將電池座以及濕度傳感器的電路板和探頭粘貼到表面上。一開始只輕輕按壓所有部件。如果一切都合適,您可以用力按壓它們 - 它們會很好地固定在背面。
將電纜連接到背面
讓我們暫時留在后面。在這里,您首先必須將探頭連接到電路板。為此,您需要兩根電纜(最好 10 厘米長),兩端都有插座。按如下方式附加它們:
將插座插入引腳后,將電纜放在面包板的頂部。這樣它們占用的空間最少。
現在是濕度傳感器板。上面有四個空閑引腳:VCC(正)、GND(負)、DO(數字輸出)和 AO(模擬輸出)。但你只需要前三個。所以首先將三根電纜連接到引腳 VCC、GND 和 DO。
有了這個,您現在已經完成了植物保護裝置的背面 - 面包板正面的時間到了!
將 ATtiny85 放在板上
拿起您的 ATtiny85 仔細查看:在芯片的一個角落,您會發現一個小圓孔。這將其旁邊的引腳標記為第一。
現在將面包板放在您面前,使濕度傳感器的探頭朝下。現在小心地將 ATtiny85 放在面包板的中間,使小凹痕指向右下角。小心,因為芯片的引腳非常敏感。因此,當您再次將其戴上或從面包板上取下時,請特別小心。
最好為您的 ATtiny85 使用插座,以在安裝和拆卸過程中保護它。
這是完成后的樣子:
將濕度傳感器連接到 ATtiny85
在將濕度傳感器的電纜連接到面包板之前,首先查看 ATtiny85 的引腳數:
如前所述,小凹痕標志著 ATtiny85 的引腳 1。您可以從這里逆時針計數得到其他引腳的編號。
現在轉動你的面包板,使濕度傳感器的探頭朝上。這樣,您的 ATtiny85 指向與上圖相同的方向。
現在將電纜從傳感器的引腳 DO 直接插入 ATtiny85 的引腳 2 旁邊。GND 連接到引腳 4 - 這是負極。傳感器的引腳 VCC 連接在 ATtiny85 的引腳 7 旁邊。再次在概述中:
用電阻連接 LED
在將電阻器放在面包板上之前,您必須將其彎曲并縮短腿。這是電阻器在治療后應如何處理:
現在拿起 LED 并將其短腿(陰極)插入 ATtiny85 引腳 4 的電纜旁邊。它的長腿(陽極)旁邊有兩個孔。
現在將電阻器再插入一排,以便將陽極連接到 ATtiny85 的引腳 3。這應該是這樣的:
為工廠警衛供電
現在最重要的部分:電源。拿起手中電池座的兩根電纜,將 ATtiny85 引腳 8 旁邊的紅色電纜和黑色電纜插入引腳 4 旁邊的最后一個空閑孔:
最后一根電線
現在你需要一個小線橋。您將需要它來校準植物保護裝置,以便在其周圍的土壤太干時發出警報。
現在在 ATtiny85 的引腳 8 和引腳 6 之間插入此跳線:
就是這樣!您的工廠監視器已組裝好并可以進行校準。
這就是您校準工廠監視器的方式
開始之前,使用螺絲刀將濕度傳感器背面的電位器雙向旋轉。正確連接所有內容后,LED 應該會打開和關閉,具體取決于您左右轉動電位計的距離。
當它這樣做時,您可以繼續:
將帶有探頭的 Plant Guard 放在地下植物旁邊。最好是這種土壤足夠干燥,以至于您現在可以真正給植物澆水。轉動背面的電位器,使 LED 即將亮起。就是這樣 - 校準完成,警衛知道何時發出警報。
現在取出試驗板上引腳 6 和 8 之間的跳線并將其放在一邊。如果一切正常,現在 LED 應該每隔幾秒鐘閃爍幾次 - 表示該噴壺的信號了。
然后給植物澆水 - LED 將停止閃爍,直到土壤變得太干,是時候喝一口水了。
工廠守衛代碼
原則上,代碼由以下部分組成:
- 校準傳感器
- 測量濕度
- 如果土壤太干,請發出警報
- 讓 ATtiny85 進入睡眠狀態
?
但是,在開始時,必須包含兩個庫并定義一些引腳:
所需的庫
您需要兩個用于代碼的庫,它們已經預先安裝:
#include
#include
使用庫 avr/sleep.h,您可以將 ATtiny85 置于睡眠模式,從而確保其功耗大大降低。由于植物保護裝置由電池供電,因此這種睡眠模式尤為重要。
庫 avr/wdt.h 是一個所謂的看門狗,您可以使用它在一定時間后喚醒您的 ATtiny85。
定義引腳
總的來說,您必須定義您的 ATtiny85 使用的四個引腳:
#define calibrationPin 1
#define sensorPin 2
#define sensorValuePin 3
#define ledPin 4
請注意,引腳編號與您之前逆時針計數的引腳編號不匹配。如果你想用代碼控制你芯片的管腳,你需要其他的數字,你也可以在上面的方案中找到。
您的代碼的數字以 PB 開頭。例如,如您所見,壓痕旁邊的第一個引腳對應于“代碼引腳”PB5。但是,在代碼中,您省略了字母,只寫了 5 個。減去加號 (VCC) 和減號 (GND) 后,剩下 6 個引腳。
例如,Plant Guard 的 LED 位于支路編號旁邊。ATtiny85 的 3 個 - 在您使用引腳 4 控制它的代碼中:
#define ledPin 4
從現在開始,在下面的解釋中,總是指代碼的引腳號。
在草圖的設置中,您現在定義它們是輸入(INPUT)還是輸出(OUTPUT):
void setup() {
pinMode(calibrationPin, INPUT);
pinMode(sensorPin, OUTPUT);
pinMode(sensorValuePin, INPUT);
pinMode(ledPin, OUTPUT);
}
工廠監視器的校準
讓我們進入草圖的循環。在這里,您首先檢查用于校準傳感器的跳線是否已插入。跳線位于正極 (VCC) 和引腳 1 之間 - 這意味著,如果連接了跳線,您的 ATtiny85 會在此引腳處測量電流 (HIGH)。
如果是這種情況,則在循環中只執行校準代碼:
if (digitalRead(calibrationPin) == HIGH) {
digitalWrite(sensorPin, HIGH);
if (digitalRead(sensorValuePin) == 1) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
首先,通過將其電源引腳 (sensorPin) 設置為高電平來打開傳感器。在第二個查詢中,當傳感器傳輸測量值 1(到 pin sensorValuePin)時,LED 會打開。如果地面潮濕,則 LED 關閉。
什么干什么濕意味著您可以通過轉動濕度傳感器板上的電位器來確定自己。如前所述,校準植物監視器的最簡單方法是將其放在干燥的土壤中并轉動電位計,使 LED 亮起。如果你然后給它澆水,它就會消失——直到土壤再次像你校準它時一樣干燥。
測量水分
讓我們來實際測量濕度。這里只能有兩種狀態:土壤太干或土壤仍然足夠濕潤。
首先傳感器開啟 100 毫秒:
digitalWrite(sensorPin, HIGH);
delay(100);
如果傳感器隨后測量到 1 并將其傳遞下去,則意味著地球太干燥了。然后再次關閉傳感器以立即節省電量。但為此,LED 會上下閃爍 10 次。
最后,看門狗被武裝起來,因此 ATtiny85 進入睡眠狀態并在 8 秒后喚醒并使 LED 再次閃爍 - 如果您在此期間沒有給植物澆水。
if (digitalRead(sensorValuePin) == 1) {
digitalWrite(sensorPin, LOW);
for (byte i = 0; i < 10; i++) {
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
myWatchdogEnable (0b100001);
}
但是,如果您這樣做了,植物守衛當然不會再發出警報。它現在測量土壤是否足夠潮濕,并將 0 傳遞給相應的引腳。在這種情況下,LED 和傳感器熄滅,看門狗將您的 ATtiny85 置于睡眠模式 30 分鐘:
else {
digitalWrite(ledPin, LOW);
digitalWrite(sensorPin, LOW);
for (byte j = 0; j <= 225; j++){
myWatchdogEnable (0b100001);
}
}
這里使用了 myWatchdogEnable() 函數,您也可以在 Sketch 中找到該函數。你給這個函數一個字節 0b100001,它將定時器設置為 8 秒。For-Loop 確保這個 8 秒的計時器被執行 225 次 - 這提供了 30 分鐘的睡眠時間。
- 將ATtiny85與Arduino IDE結合使用
- 基于Attiny85的macropad
- ATtiny85供電高壓AVR編程器開源
- 基于ATtiny85的編碼消息閃爍器 0次下載
- 帶藍牙的Attiny85/84
- 使用atTiny85從濕度傳感器讀取模擬數據
- 編程ATTINY85芯片開源分享
- DIY ATtiny85 Roomba墻
- 帶有ATTINY85的迷你Arduino
- ATtiny85突破開源項目
- Attiny85 Mosfet Gelistirme卡丁車
- 用Attiny85控制水泵澆花
- Digispark ATtiny85 ADC采樣 analogRead()
- 土壤濕度傳感器模塊電路圖 128次下載
- 土壤濕度程序 8次下載
- 土壤濕度檢測電路的基本原理 2181次閱讀
- 微雪電子土壤濕度傳感器簡介 4778次閱讀
- dfrobot電容式土壤濕度傳感器簡介 7682次閱讀
- 土壤濕度測量器電路 5834次閱讀
- dfrobot土壤濕度傳感器簡介 2719次閱讀
- 如何自己設計一款溫濕度計 1w次閱讀
- ADI關于測量土壤濕度和pH值的解決方案 1802次閱讀
- 數顯濕度計電路圖 4779次閱讀
- 土壤濕度傳感器設計方案匯總(三款濕度傳感器設計電路原理圖詳細) 6.4w次閱讀
- 自制土壤濕度傳感電路圖_土壤濕度檢測原理圖 3.3w次閱讀
- 土壤濕度傳感器yl69如何使用 6.4w次閱讀
- 樹莓派土壤濕度傳感器 2.5w次閱讀
- 土壤濕度傳感器的原理介紹 7.6w次閱讀
- 土壤濕度傳感器怎么用_土壤濕度傳感器種類 3.5w次閱讀
- arduino測量土壤濕度自動澆水提醒 1.3w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多