第1步:收集工具和材料
步驟1a:序言
這個(gè)項(xiàng)目有很多工具和材料。因此,我將列表分成幾個(gè)部分,以便您可以查看所需的材料,具體取決于您正在構(gòu)建的項(xiàng)目部分。我還為每個(gè)產(chǎn)品提供了亞馬遜鏈接,因此您可以輕松找到所需的部件。
讓我們進(jìn)入它!
工具:
Pointy Bits:(請小心?。?/p>
剪刀
對角刀
Exacto Knife
手鉆(帶位)
拆卸:
新月扳手
Prying Tool
針鼻鉗
Allen鑰匙套
熱門材料:(也要小心?。?/p>
打火機(jī)
熱膠槍
對于電子產(chǎn)品:
烙鐵
剝線器
用于染色:
泡沫刷
紙巾
材料:
Jar Planter:
Mason Jar
Rocks(可選)
Wire Mesh
紗線/燈芯
電子產(chǎn)品:
蜂鳴器(壓電)
繼電器模塊
面包板(2x)
水分傳感器
水高傳感器
5V微型USB壁疣
100Ω電阻器
跳線
木質(zhì)底座:
Wood Square
木圈斑塊
木環(huán)
紫外線燈
消耗品:
熱縮
熱膠
電工膠帶
松香芯焊料
木膠
木材污漬
(注意:其中一些工具可能非常危險(xiǎn),建議孩子完成此項(xiàng)目的監(jiān)督。)
第2步:準(zhǔn)備基礎(chǔ)
步驟2a:鉆進(jìn)Mounti ng Hole
一旦我們擁有了所有材料,就該開始了!我們將首先為Mason Jar創(chuàng)建木質(zhì)底座。
首先,我們需要鉆一個(gè)洞,以便以后安裝燈。為此,我們將使用Sharpie制作一個(gè)小墨跡。這標(biāo)志著鉆孔的位置。我們希望它盡可能靠近角落!
不要擔(dān)心犯一些錯(cuò)誤,木環(huán)會(huì)幫助隱藏這些。
現(xiàn)在它是是時(shí)候鉆了。確保底座牢固安裝/夾緊,然后開始鉆孔。不要走得太快,否則你將冒險(xiǎn)分裂木材。
我也在鋪著地毯的公寓客廳做了這個(gè)。..。..也許嘗試在外面做呢?
步驟2b:將基地粘在一起
之后鉆孔,將碎片粘在一起。在片的底部涂上適量的膠水,然后將它們放在底座上?,F(xiàn)在我們等待膠水干燥。..
*危險(xiǎn)音樂開始播放*
步驟2c:染色基礎(chǔ)
現(xiàn)在膠水干了,我們可以弄臟木頭!
小心地用平頭螺絲刀或撬工具打開污漬罐。罐子打開后,慢慢攪拌污漬,確保它已準(zhǔn)備好使用。放下紙巾以保護(hù)您的工作表面。然后我們將使用泡沫刷在木頭上涂上一層污漬。確保得到所有的面,以及小角和裂縫。
第3步:連接燈
步驟3a:拆卸夾子
取決于您購買的燈泡和您使用的底座,這個(gè)步驟很可能會(huì)改變,但我在這里添加它是為了完全解釋我的過程,如果有人完全遵循我采取的步驟。對我來說,我的燈在末端有一個(gè)夾子,六角螺栓將它固定在一起。我用我的艾倫螺絲刀松開了這個(gè)(同時(shí)還用彈簧扣住了我的手指。不推薦)。
在拆卸過程中,請記住要注意壓縮能量可能隱藏的位置。
一旦我將夾子分開,我不得不從底座上卸下一個(gè)14mm的螺母,這是必需的我把夾子的一部分向下彎曲,這樣我才能進(jìn)入螺母。
步驟3b:卸下開關(guān)
螺母離開后,是時(shí)候打開并取下電源開關(guān)了。
我們將在稍后使用繼電器。
這將需要再次使用撬動(dòng)工具,然后使用烙鐵拆下開關(guān)?,F(xiàn)在開關(guān)已經(jīng)不見了,我們可以將電線穿過底座上的孔。
步驟3c :(實(shí)際上)安裝燈泡
只需從底部伸出電纜即可完全剝離燈泡。將其滑過我們之前鉆過的孔,然后將螺母滑到導(dǎo)線上。將燈頸盡可能遠(yuǎn)地壓入木材中,然后開始將螺母擰緊到底部。這樣做直到它很好并牢固安裝。
應(yīng)該可以自己站起來。 (如第一張圖所示)
步驟4:制作播種機(jī)
步驟4a:添加巖石
構(gòu)建種植者的時(shí)間!從梅森罐子上取下蓋子,切開巖石袋。倒入一些巖石,直到你達(dá)到你喜歡的水平,我的大約只有兩層高。
步驟4b:形成網(wǎng)格
一旦添加了巖石,就可以制作網(wǎng)格了。為此,我使用了一些工藝線形式,我在Hobby Lobby找到了它。打開包裝并展開網(wǎng)格。然后,用剪刀剪開網(wǎng)眼,使其寬度約為罐子開口的三倍。開始將其推入罐中,用手指形成。盡量適合它,并使用提供的圖像作為參考。網(wǎng)格形成后,使用剪刀修剪多余的材料。
注意尖銳的位!
清理邊緣后,從罐子中取出網(wǎng)格。
步驟4c:制作吸水燈
是時(shí)候讓這個(gè)播種機(jī)自我澆水了!
打開麻線并解開它。我們需要開始切割它。
這個(gè)部分有點(diǎn)主觀,取決于你使用的罐子大小,但是你希望它是從網(wǎng)格底部到巖石的兩倍長度。我的長八英寸。
從6到9之間切割?,F(xiàn)在我們需要添加一些結(jié)。在每個(gè)中間打一個(gè)結(jié),一個(gè)簡單的循環(huán)就可以了。將每根細(xì)繩穿過金屬網(wǎng)的底部,在網(wǎng)的內(nèi)側(cè)打結(jié)。
選項(xiàng):我選擇編織燈芯,因?yàn)槲艺J(rèn)為它使它們看起來更漂亮,但你沒必要!只是一個(gè)藝術(shù)選擇! (我非常擅長編織)
一旦添加了燈芯,將網(wǎng)格放回到罐子里面。確保燈芯幾乎接觸到巖石。
步驟5:準(zhǔn)備傳感器
步驟5a:防水傳感器
因?yàn)槲覀兊膬蓚€(gè)傳感器將浸沒在水中(并種植在潮濕的土壤中)防水它們是很重要的。這不是最好的解決方案,但熱膠似乎可以很好地防水,同時(shí)仍然可以讓我們看到LED狀態(tài)指示燈。確保用膠水覆蓋任何暴露的金屬,并慷慨地施加。我們要確保沒有水可以進(jìn)入電子設(shè)備。
請勿用膠水覆蓋傳感器的焊盤,否則電路將無法工作。只需蓋住電氣元件。
步驟5b:添加熱收縮
此步驟的第二部分是添加熱收縮。我使用兩個(gè)跳線來使電線足夠長,所以如果使用常規(guī)電線,則可能不需要這樣做。
這樣可以防止跳線在傳感器到位時(shí)斷開連接。
剪掉一小段大熱縮并將其向上滑動(dòng)。將其輕輕推過三針連接器,小心,因?yàn)獒樀募饨强赡軙?huì)刺破熱量收縮。使用打火機(jī),在熱縮的所有側(cè)面加熱,慢慢轉(zhuǎn)動(dòng)電線。保持火焰遠(yuǎn)離熱縮約一英寸,以防止燒傷痕跡。
您的傳感器現(xiàn)在已準(zhǔn)備好接線!
步驟6:連接電子設(shè)備
步驟6a:放置面包板
是時(shí)候開始掛鉤了!我們需要做的第一件事是布局組件。我們將從面包板開始。
這個(gè)面包板實(shí)際上是我粘在一起的兩塊獨(dú)立板。我需要一個(gè)足夠?qū)挼陌遄幼孍SP32適合。您可以通過從面包板上移除一個(gè)電源線,然后將其與第二個(gè)面包板一起對齊來制作一個(gè)
連接面包板后,取下粘性背襯并將其牢固地放在播種機(jī)的角落。然后添加ESP32。
步驟6b:接線繼電器
現(xiàn)在面包板和ESP32都已進(jìn)入,是時(shí)候設(shè)置繼電器了。首先,將生長光的接地引線焊接在一起。我們將用電工膠帶覆蓋它。然后將其中一根導(dǎo)線插入繼電器的中間接地端子,另一根導(dǎo)線將插入NO(常開)螺絲端子。
每當(dāng)繼電器通電時(shí),此配置將有效地形成閉合電路。
將繼電器放在面包板旁邊(由于高度限制)。稍微推一下,把它粘在底座的軟木上。
現(xiàn)在放置繼電器,是時(shí)候?qū)⑺B接到ESP32了。取三個(gè)跳線并連接引腳:
正 - 》 3.3V
負(fù) - 》 GND
信號 - 》 D15
繼電器已準(zhǔn)備就緒!
步驟6c:接線組件
安裝繼電器后,將蜂鳴器放在面包板上。使用斜切刀從傳感器跨接線上剪下兩端,然后用剝線器剝?nèi)啥?。將這些電線滑過木質(zhì)底座中的一個(gè)狹縫。使用提供的接線圖作為參考,將引腳連接起來:
蜂鳴器:
正 - 》未使用
負(fù) - 》100Ω電阻 - 》 GND
信號 - 》 D25
水位:
正 - 》 3.3V
負(fù) - 》 GND
信號 - 》 VN
土壤水分:
正 - 》 3.3V
負(fù) - 》 GND
信號 - 》 VP
步驟6d:鉆電纜線路
現(xiàn)在我們需要切斷電源線的通道。這將確保播種機(jī)的底座完全平放。使用Dremel切出兩個(gè)凹槽,每個(gè)凹槽比電源線稍小一些。 (所以它們貼合得很舒服。)
此后,將所有東西插入,將電纜插入插槽,然后將播種機(jī)豎直放置。將兩根電源線插入墻壁。
步驟6e:測試!
是時(shí)候測試了!
確認(rèn)所有傳感器都已插入并由在每個(gè)傳感器上尋找紅色LED。所有LED應(yīng)以紅色常亮點(diǎn)亮。 ESP32還應(yīng)該有一個(gè)紅/藍(lán)燈亮。
唯一不應(yīng)該亮的是繼電器。
第7步:代碼!
步驟7a:在ESP32中使用Arduino IDE
所以我們已經(jīng)連接了ESP32,但究竟是什么呢?簡而言之,ESP32非常類似于Arduino,但它內(nèi)置了WiFi和藍(lán)牙。因此,我們實(shí)際上可以使用Arduino IDE來編程我們的ESP32。在我們開始之前,我們必須安裝電路板,所以我在這里提供了如何設(shè)置它的鏈接。
步驟7b:安裝所需的庫
安裝完板后,讓我們安裝庫。對于這個(gè)項(xiàng)目,我們需要ESPAsyncWebServer和ESPAsyncTCP庫。下載兩者。
要在Arduino IDE中安裝庫,請轉(zhuǎn)到草圖 - 》包含庫 - 》添加.ZIP庫。..然后選擇剛剛下載的庫的zip文件。完成后重新啟動(dòng)IDE。
步驟7c:推送代碼
下載附加的.INO文件并在Arduino IDE中打開它。它將提示您將其移動(dòng)到與項(xiàng)目同名的文件夾中。您應(yīng)該看到所有代碼,我們將要修改幾行。
對于SSID和密碼,您需要使用自己的網(wǎng)絡(luò)憑據(jù)替換它們:
const char* ssid = “Network SSID”;
const char* password = “Network Password”;
更新這些值后,您可以點(diǎn)擊復(fù)選標(biāo)記驗(yàn)證一切正常。驗(yàn)證后,通過Micro USB線將ESP32插入計(jì)算機(jī)。轉(zhuǎn)到工具 - 》串行監(jiān)視器。 (我們將需要將其打開以進(jìn)行下一步)單擊箭頭按鈕開始推送代碼。
這部分 非常重要 。當(dāng)控制臺(tái)文本變?yōu)榧t色并開始打印出“。...___ ____”模式時(shí),按住ESP32上的BOOT按鈕。如果不這樣做,您將收到標(biāo)題錯(cuò)誤。
步驟7d:測試它!
現(xiàn)在代碼被推送,請查看串行監(jiān)視器。它應(yīng)該每隔幾秒打印一次電路板的IP地址以及傳感器的當(dāng)前讀數(shù)。在筆記本電腦或手機(jī)上打開網(wǎng)絡(luò)瀏覽器,然后輸入IP地址
確保您與ESP32位于同一個(gè)WiFi網(wǎng)絡(luò)上。
您應(yīng)該看到接口負(fù)載。如果您插入燈泡并點(diǎn)擊Toggle Light按鈕,您應(yīng)該看到燈開關(guān)打開和關(guān)閉。你也可以看到傳感器的值,雖然他們現(xiàn)在應(yīng)該說“空”和“干”。蜂鳴器偶爾也會(huì)發(fā)出嗶嗶聲,警告說沒有檢測到水。
步驟7e:深入分解
對于任何對實(shí)際感興趣的人代碼,這里有細(xì)節(jié):
我們將從頂部開始:
// Import required libraries
#include “WiFi.h”
#include “ESPAsyncWebServer.h”
// Replace with your network credentials
const char* ssid = “Network SSID”;
const char* password = “Network Password”;
#define relay_pin 15
#define soil_moist 36
#define water_level 39
//Variables for Buzzer
int freq = 261.63; //Set frequency of the buzzer, this is a C note
int channel = 0;
int resolution = 8;
//Boolean for light status
bool light = true;
//Set thresholds for sensors (Tweak depending on plant/soil type)
float highWater = 1000;
float lowWater = 700;
float highMoist = 1200;
float lowMoist = 500;
// Create AsyncWebServer object on port 80
AsyncWebServer server(80);
這部分是關(guān)于聲明變量的全部內(nèi)容包括圖書館。非?;镜臇|西,但有一點(diǎn)需要注意,您可能希望根據(jù)您的播種機(jī)更改水傳感器的閾值。另一個(gè)有趣的事情是蜂鳴器的頻率。如果更改此值,則會(huì)更改嗡嗡聲的音高?,F(xiàn)在它被設(shè)置為C5。
//Returns soil moisture reading
String readSoilMoisture() {
float m = analogRead(soil_moist);
if (isnan(m)) {
Serial.println(“Failed to read from Soil Moisture sensor!”);
return “--”;
}
else {
Serial.println(m);
//Sets text depending on values
if(m 》 highMoist){
return String(“High”);
} else if (m 》 lowMoist) {
return String(“Low”);
} else {
//Beeps the buzzer for 250ms
ledcWriteTone(channel, freq);
delay(250);
ledcWriteTone(channel, 0);
Serial.println(“Buzzer Activated”);
return String(“Dry”);
}
}
} //Returns water level reading
String readWaterLevel() {
float l = analogRead(water_level);
if (isnan(l)) {
Serial.println(“Failed to read from Water Level sensor!”);
return “--”;
}
else {
Serial.println(l);
//Sets text depending on values
if(l 》 highWater){
return String(“High”);
} else if (l 》 lowWater) {
return String(“Low”);
} else {
//Beeps the buzzer for 250ms
ledcWriteTone(channel, freq);
delay(250);
ledcWriteTone(channel, 0);
Serial.println(“Buzzer Activated”);
return String(“Empty”);
}
}
} //Toggles the light status
String toggleLight() {
if(light){
light = false;
//Activates relay
digitalWrite(relay_pin, LOW);
return String(“OFF”);
} else if (!light){
light = true;
//Deactivates relay
digitalWrite(relay_pin, HIGH);
return String(“ON”);
}
}
這三個(gè)部分都是返回字符串值的函數(shù)。這就是我們?nèi)绾瓮茖?dǎo)傳感器數(shù)據(jù),以及我們?nèi)绾吻袚Q燈光。
這是HTML位之后。我不會(huì)介紹HTML的工作原理,但是我想提一下,按鈕標(biāo)簽調(diào)用JavaScript函數(shù),這就是切換光線的方法。您可以實(shí)現(xiàn)此操作來執(zhí)行更復(fù)雜的接口,例如添加/設(shè)置計(jì)時(shí)器。另請注意,此代碼中的兩個(gè)JavaScript函數(shù)位于SetInterval()中;這意味著它們將重復(fù)我們目前設(shè)置為1000毫秒的每個(gè)“間隔”。這些函數(shù)不斷加載傳感器值并刷新頁面。
//Updates variable text with current values
String processor(const String& var){
//Serial.println(var);
if(var == “SOILMOISTURE”){
return readSoilMoisture();
}
else if(var == “WATERLEVEL”){
return readWaterLevel();
}
return String();
}
接下來,我們得到這個(gè)代碼,這是每次重新加載網(wǎng)頁時(shí)設(shè)置傳感器值的代碼
最后,我們有我們的設(shè)置功能,它實(shí)際上只是啟動(dòng)異步Web服務(wù)器,并處理頁面導(dǎo)航(路由):
//Runs at the start
void setup(){
// Serial port for debugging purposes
Serial.begin(115200); //Setup the buzzer
ledcSetup(channel, freq, resolution);
ledcAttachPin(25, channel); //Setup the pinMode for the relay
pinMode (relay_pin, OUTPUT);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println(“Connecting to WiFi.?!保?
} // Print ESP32 Local IP Address
Serial.println(WiFi.localIP()); // Route for root / web page
server.on(“/”, HTTP_GET, [](AsyncWebServerRequest *request){
request-》send_P(200, “text/html”, index_html, processor);
});
server.on(“/soil-moisture”, HTTP_GET, [](AsyncWebServerRequest *request){
request-》send_P(200, “text/plain”, readSoilMoisture().c_str());
});
server.on(“/water-level”, HTTP_GET, [](AsyncWebServerRequest *request){
request-》send_P(200, “text/plain”, readWaterLevel().c_str());
});
server.on(“/toggle-light”, HTTP_GET, [](AsyncWebServerRequest *request){
request-》send_P(200, “text/plain”, toggleLight().c_str());
});
// Start server
server.begin();
}
有關(guān)使用異步的更多信息Web服務(wù)器,請務(wù)必查看他們的GitHub頁面。此外,對Rui Santos大肆宣傳,他編寫了這段代碼所依據(jù)的教程。 (他比我更好地解釋了所有代碼。)
并確保查看我的GitHub以獲取所有文件。
步驟7f :未來的可能性
使用ESP32為我們提供了大量的可選功能。我試著把它留給一個(gè)非?;镜哪0?,這樣你就可以自己進(jìn)入并修改代碼,添加功能,并希望告訴我你做了什么!
我考慮的一些可能的功能是:
電子郵件通知(當(dāng)播種機(jī)停水時(shí))
自定義蜂鳴器噪音/音調(diào)(干燥后播放Toto非洲)
使用內(nèi)置RTC設(shè)置燈光的計(jì)時(shí)器
我很想看看你為你的播種機(jī)想出什么!
步驟8:添加工廠
步驟8a :采摘植物
對于這個(gè)項(xiàng)目,我們使用了Janet Craig Compacta,但如果您愿意,可以使用許多其他植物。
重要警告!! ! Janet Craig Compacta是 Dracaena物種的成員, 已知對貓和狗(可能還有人類)有毒。如果你有動(dòng)物,請不要使用這種植物還是小孩子!保持小小的floofers安全! :))
熱帶植物,例如需要大量水的植物,在自動(dòng)澆水的播種機(jī)中做得很好。需要干燥土壤的植物,如多肉植物,不會(huì)。 不要將多肉植物放在這個(gè)播種機(jī)中。
Plonty,是一個(gè)需要大量陽光的熱帶植物應(yīng)該在這個(gè)播種機(jī)中茁壯成長,具有極度潮濕的土壤和生長燈的額外好處。其他喜歡這種播種機(jī)的植物包括(但不限于):
Hostas
Lobelias
櫻桃西紅柿
Silantro
其他草藥
步驟8b:安裝工廠
一旦你選擇了一個(gè)植物,就該把它移到罐子里了。從工廠中取出臨時(shí)鍋。輕輕地打破一些額外的土壤,小心不要破壞根部。我們只需要讓植物足夠小以適應(yīng)播種機(jī)。一旦去除多余的污垢,輕輕推動(dòng)金屬絲網(wǎng)內(nèi)的土壤。
不要太緊在土壤中包裝。
現(xiàn)在,將梅森罐子的蓋子滑到金屬絲網(wǎng)上(見圖片)花點(diǎn)時(shí)間,以免損壞種植或粉碎金屬絲網(wǎng)。
用水填充Mason Jar,然后將網(wǎng)狀物放回播種機(jī)內(nèi),但不要緊固蓋子。
步驟8c:設(shè)置基礎(chǔ)
已經(jīng)制作了播種機(jī),現(xiàn)在是時(shí)候在基礎(chǔ)上進(jìn)行設(shè)置了。將梅森罐放在底座上。將水位傳感器滑入梅森罐內(nèi),然后擰緊蓋子。
確保傳感器完全浸沒在水中。
然后小心地將土壤濕度傳感器串入土壤中,避免損壞根部。一旦連接了所有傳感器,就應(yīng)該完全完成播種機(jī)!
步驟8d:完成觸摸
最后,我們將要測試我們的設(shè)備。連接到我們之前使用的IP地址,并查看傳感器是否正在錄制。可能需要根據(jù)您的設(shè)置調(diào)整閾值。還要測試是否可以打開和關(guān)閉燈。
首次加載頁面時(shí),可能需要按幾次按鈕才能使燈光翻轉(zhuǎn)。
就是這樣。你做了播種機(jī)!恭喜!
第9步:結(jié)論
最后的想法
總的來說,我認(rèn)為Plonty喜歡他的新發(fā)現(xiàn)! (不是嗎?)我很高興設(shè)計(jì)這個(gè)播種機(jī),我希望你喜歡這個(gè)騎行。感謝您查看我的Instructable,如果您有任何疑問,請務(wù)必在下面發(fā)表評論,或者您只是想打個(gè)招呼!當(dāng)我修改代碼時(shí),我會(huì)繼續(xù)更新這個(gè)Instructable,所以希望我們將來會(huì)看到更多的功能!
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2930文章
46094瀏覽量
390247 -
ESP32
+關(guān)注
關(guān)注
21文章
1012瀏覽量
19047
發(fā)布評論請先 登錄
圖解單片機(jī)功能與應(yīng)用(完整版)
物聯(lián)網(wǎng)的應(yīng)用范圍有哪些?
單片機(jī)項(xiàng)目實(shí)例:微型物聯(lián)網(wǎng)開發(fā)項(xiàng)目資料
物聯(lián)網(wǎng)未來發(fā)展趨勢如何?
智慧消防物聯(lián)網(wǎng)平臺(tái)
蜂窩物聯(lián)網(wǎng)怎么選
為什么選擇蜂窩物聯(lián)網(wǎng)
電梯物聯(lián)網(wǎng)廣告機(jī):科技與生活的交融
宇樹科技在物聯(lián)網(wǎng)方面
物聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?
物聯(lián)網(wǎng)學(xué)習(xí)路線來啦!

注塑機(jī)物聯(lián)網(wǎng)平臺(tái)可以實(shí)現(xiàn)哪些功能

注塑機(jī)數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

評論