0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网播种机DIY图解

454398 来源:wv 2019-09-09 15:35 次阅读

第1步:收集工具和材料

步骤1a:序言

这个项目有很多工具和材料。因此,我将列表分成几个部分,以便您可以查看所需的材料,具体取决于您正在构建的项目部分。我还为每个产品提供了亚马逊链接,因此您可以轻松找到所需的部件。

让我们进入它!

工具:

Pointy Bits:(请小心!)

剪刀

对角刀

Exacto Knife

手钻(带位)

拆卸:

新月扳手

Prying Tool

针鼻钳

Allen钥匙套

热门材料:(也要小心!)

打火机

热胶枪

对于电子产品

烙铁

剥线器

用于染色:

泡沫刷

纸巾

材料:

Jar Planter:

Mason Jar

Rocks(可选)

Wire Mesh

纱线/灯芯

电子产品:

ESP32

蜂鸣器(压电)

继电器模块

面包板(2x)

水分传感器

水高传感器

5V微型USB壁疣

100Ω电阻器

跳线

木质底座:

Wood Square

木圈斑块

木环

紫外线灯

消耗品:

热缩

热胶

电工胶带

松香芯焊料

木胶

木材污渍

(注意:其中一些工具可能非常危险,建议孩子完成此项目的监督。)

第2步:准备基础

步骤2a:钻进Mounti ng Hole

一旦我们拥有了所有材料,就该开始了!我们将首先为Mason Jar创建木质底座。

首先,我们需要钻一个洞,以便以后安装灯。为此,我们将使用Sharpie制作一个小墨迹。这标志着钻孔的位置。我们希望它尽可能靠近角落!

不要担心犯一些错误,木环会帮助隐藏这些。

现在它是是时候钻了。确保底座牢固安装/夹紧,然后开始钻孔。不要走得太快,否则你将冒险分裂木材。

我也在铺着地毯的公寓客厅做了这个。..。..也许尝试在外面做呢?

步骤2b:将基地粘在一起

之后钻孔,将碎片粘在一起。在片的底部涂上适量的胶水,然后将它们放在底座上。现在我们等待胶水干燥。..

*危险音乐开始播放*

步骤2c:染色基础

现在胶水干了,我们可以弄脏木头!

小心地用平头螺丝刀或撬工具打开污渍罐。罐子打开后,慢慢搅拌污渍,确保它已准备好使用。放下纸巾以保护您的工作表面。然后我们将使用泡沫刷在木头上涂上一层污渍。确保得到所有的面,以及小角和裂缝。

第3步:连接灯

步骤3a:拆卸夹子

取决于您购买的灯泡和您使用的底座,这个步骤很可能会改变,但我在这里添加它是为了完全解释我的过程,如果有人完全遵循我采取的步骤。对我来说,我的灯在末端有一个夹子,六角螺栓将它固定在一起。我用我的艾伦螺丝刀松开了这个(同时还用弹簧扣住了我的手指。不推荐)。

在拆卸过程中,请记住要注意压缩能量可能隐藏的位置。

一旦我将夹子分开,我不得不从底座上卸下一个14mm的螺母,这是必需的我把夹子的一部分向下弯曲,这样我才能进入螺母。

步骤3b:卸下开关

螺母离开后,是时候打开并取下电源开关了。

我们将在稍后使用继电器。

这将需要再次使用撬动工具,然后使用烙铁拆下开关。现在开关已经不见了,我们可以将电线穿过底座上的孔。

步骤3c :(实际上)安装灯泡

只需从底部伸出电缆即可完全剥离灯泡。将其滑过我们之前钻过的孔,然后将螺母滑到导线上。将灯颈尽可能远地压入木材中,然后开始将螺母拧紧到底部。这样做直到它很好并牢固安装。

应该可以自己站起来。 (如第一张图所示)

步骤4:制作播种机

步骤4a:添加岩石

构建种植者的时间!从梅森罐子上取下盖子,切开岩石袋。倒入一些岩石,直到你达到你喜欢的水平,我的大约只有两层高。

步骤4b:形成网格

一旦添加了岩石,就可以制作网格了。为此,我使用了一些工艺线形式,我在Hobby Lobby找到了它。打开包装并展开网格。然后,用剪刀剪开网眼,使其宽度约为罐子开口的三倍。开始将其推入罐中,用手指形成。尽量适合它,并使用提供的图像作为参考。网格形成后,使用剪刀修剪多余的材料。

注意尖锐的位!

清理边缘后,从罐子中取出网格。

步骤4c:制作吸水灯

是时候让这个播种机自我浇水了!

打开麻线并解开它。我们需要开始切割它。

这个部分有点主观,取决于你使用的罐子大小,但是你希望它是从网格底部到岩石的两倍长度。我的长八英寸。

从6到9之间切割。现在我们需要添加一些结。在每个中间打一个结,一个简单的循环就可以了。将每根细绳穿过金属网的底部,在网的内侧打结。

选项:我选择编织灯芯,因为我认为它使它们看起来更漂亮,但你没必要!只是一个艺术选择! (我非常擅长编织)

一旦添加了灯芯,将网格放回到罐子里面。确保灯芯几乎接触到岩石。

步骤5:准备传感器

步骤5a:防水传感器

因为我们的两个传感器将浸没在水中(并种植在潮湿的土壤中)防水它们是很重要的。这不是最好的解决方案,但热胶似乎可以很好地防水,同时仍然可以让我们看到LED状态指示灯。确保用胶水覆盖任何暴露的金属,并慷慨地施加。我们要确保没有水可以进入电子设备。

请勿用胶水覆盖传感器的焊盘,否则电路将无法工作。只需盖住电气元件。

步骤5b:添加热收缩

此步骤的第二部分是添加热收缩。我使用两个跳线来使电线足够长,所以如果使用常规电线,则可能不需要这样做。

这样可以防止跳线在传感器到位时断开连接。

剪掉一小段大热缩并将其向上滑动。将其轻轻推过三针连接器,小心,因为针的尖角可能会刺破热量收缩。使用打火机,在热缩的所有侧面加热,慢慢转动电线。保持火焰远离热缩约一英寸,以防止烧伤痕迹。

您的传感器现在已准备好接线!

步骤6:连接电子设备

步骤6a:放置面包板

是时候开始挂钩了!我们需要做的第一件事是布局组件。我们将从面包板开始。

这个面包板实际上是我粘在一起的两块独立板。我需要一个足够宽的板子让ESP32适合。您可以通过从面包板上移除一个电源线,然后将其与第二个面包板一起对齐来制作一个

连接面包板后,取下粘性背衬并将其牢固地放在播种机的角落。然后添加ESP32。

步骤6b:接线继电器

现在面包板和ESP32都已进入,是时候设置继电器了。首先,将生长光的接地引线焊接在一起。我们将用电工胶带覆盖它。然后将其中一根导线插入继电器的中间接地端子,另一根导线将插入NO(常开)螺丝端子。

每当继电器通电时,此配置将有效地形成闭合电路。

将继电器放在面包板旁边(由于高度限制)。稍微推一下,把它粘在底座的软木上。

现在放置继电器,是时候将它连接到ESP32了。取三个跳线并连接引脚:

正 - 》 3.3V

负 - 》 GND

信号 - 》 D15

继电器已准备就绪!

步骤6c:接线组件

安装继电器后,将蜂鸣器放在面包板上。使用斜切刀从传感器跨接线上剪下两端,然后用剥线器剥去两端。将这些电线滑过木质底座中的一个狭缝。使用提供的接线图作为参考,将引脚连接起来:

蜂鸣器:

正 - 》未使用

负 - 》100Ω电阻 - 》 GND

信号 - 》 D25

水位:

正 - 》 3.3V

负 - 》 GND

信号 - 》 VN

土壤水分:

正 - 》 3.3V

负 - 》 GND

信号 - 》 VP

步骤6d:钻电缆线路

现在我们需要切断电源线的通道。这将确保播种机的底座完全平放。使用Dremel切出两个凹槽,每个凹槽比电源线稍小一些。 (所以它们贴合得很舒服。)

此后,将所有东西插入,将电缆插入插槽,然后将播种机竖直放置。将两根电源线插入墙壁。

步骤6e:测试!

是时候测试了!

确认所有传感器都已插入并由在每个传感器上寻找红色LED。所有LED应以红色常亮点亮。 ESP32还应该有一个红/蓝灯亮。

唯一不应该亮的是继电器。

第7步:代码!

步骤7a:在ESP32中使用Arduino IDE

所以我们已经连接了ESP32,但究竟是什么呢?简而言之,ESP32非常类似于Arduino,但它内置了WiFi和蓝牙。因此,我们实际上可以使用Arduino IDE来编程我们的ESP32。在我们开始之前,我们必须安装电路板,所以我在这里提供了如何设置它的链接。

步骤7b:安装所需的库

安装完板后,让我们安装库。对于这个项目,我们需要ESPAsyncWebServer和ESPAsyncTCP库。下载两者。

要在Arduino IDE中安装库,请转到草图 - 》包含库 - 》添加.ZIP库。..然后选择刚刚下载的库的zip文件。完成后重新启动IDE。

步骤7c:推送代码

下载附加的.INO文件并在Arduino IDE中打开它。它将提示您将其移动到与项目同名的文件夹中。您应该看到所有代码,我们将要修改几行。

对于SSID和密码,您需要使用自己的网络凭据替换它们:

const char* ssid = “Network SSID”;

const char* password = “Network Password”;

更新这些值后,您可以点击复选标记验证一切正常。验证后,通过Micro USB线将ESP32插入计算机。转到工具 - 》串行监视器。 (我们将需要将其打开以进行下一步)单击箭头按钮开始推送代码。

这部分 非常重要 。当控制台文本变为红色并开始打印出“。...___ ____”模式时,按住ESP32上的BOOT按钮。如果不这样做,您将收到标题错误。

步骤7d:测试它!

现在代码被推送,请查看串行监视器。它应该每隔几秒打印一次电路板的IP地址以及传感器的当前读数。在笔记本电脑手机上打开网络浏览器,然后输入IP地址

确保您与ESP32位于同一个WiFi网络上。

您应该看到接口负载。如果您插入灯泡并点击Toggle Light按钮,您应该看到灯开关打开和关闭。你也可以看到传感器的值,虽然他们现在应该说“空”和“干”。蜂鸣器偶尔也会发出哔哔声,警告说没有检测到水。

步骤7e:深入分解

对于任何对实际感兴趣的人代码,这里有细节:

我们将从顶部开始:

// 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);

这部分是关于声明变量的全部内容包括图书馆。非常基本的东西,但有一点需要注意,您可能希望根据您的播种机更改水传感器的阈值。另一个有趣的事情是蜂鸣器的频率。如果更改此值,则会更改嗡嗡声的音高。现在它被设置为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”);

}

}

这三个部分都是返回字符串值的函数。这就是我们如何推导传感器数据,以及我们如何切换灯光。

这是HTML位之后。我不会介绍HTML的工作原理,但是我想提一下,按钮标签调用JavaScript函数,这就是切换光线的方法。您可以实现此操作来执行更复杂的接口,例如添加/设置计时器。另请注意,此代码中的两个JavaScript函数位于SetInterval()中;这意味着它们将重复我们目前设置为1000毫秒的每个“间隔”。这些函数不断加载传感器值并刷新页面。

//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();

}

接下来,我们得到这个代码,这是每次重新加载网页时设置传感器值的代码

最后,我们有我们的设置功能,它实际上只是启动异步Web服务器,并处理页面导航(路由):

//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();

}

有关使用异步的更多信息Web服务器,请务必查看他们的GitHub页面。此外,对Rui Santos大肆宣传,他编写了这段代码所依据的教程。 (他比我更好地解释了所有代码。)

并确保查看我的GitHub以获取所有文件。

步骤7f :未来的可能性

使用ESP32为我们提供了大量的可选功能。我试着把它留给一个非常基本的模板,这样你就可以自己进入并修改代码,添加功能,并希望告诉我你做了什么!

我考虑的一些可能的功能是:

电子邮件通知(当播种机停水时)

自定义蜂鸣器噪音/音调(干燥后播放Toto非洲)

使用内置RTC设置灯光的计时器

我很想看看你为你的播种机想出什么!

步骤8:添加工厂

步骤8a :采摘植物

对于这个项目,我们使用了Janet Craig Compacta,但如果您愿意,可以使用许多其他植物。

重要警告!! ! Janet Craig Compacta是 Dracaena物种的成员, 已知对猫和狗(可能还有人类)有毒。如果你有动物,请不要使用这种植物还是小孩子!保持小小的floofers安全! :))

热带植物,例如需要大量水的植物,在自动浇水的播种机中做得很好。需要干燥土壤的植物,如多肉植物,不会。 不要将多肉植物放在这个播种机中。

Plonty,是一个需要大量阳光的热带植物应该在这个播种机中茁壮成长,具有极度潮湿的土壤和生长灯的额外好处。其他喜欢这种播种机的植物包括(但不限于):

Hostas

Lobelias

樱桃西红柿

Silantro

其他草药

步骤8b:安装工厂

一旦你选择了一个植物,就该把它移到罐子里了。从工厂中取出临时锅。轻轻地打破一些额外的土壤,小心不要破坏根部。我们只需要让植物足够小以适应播种机。一旦去除多余的污垢,轻轻推动金属丝网内的土壤。

不要太紧在土壤中包装。

现在,将梅森罐子的盖子滑到金属丝网上(见图片)花点时间,以免损坏种植或粉碎金属丝网。

用水填充Mason Jar,然后将网状物放回播种机内,但不要紧固盖子。

步骤8c:设置基础

已经制作了播种机,现在是时候在基础上进行设置了。将梅森罐放在底座上。将水位传感器滑入梅森罐内,然后拧紧盖子。

确保传感器完全浸没在水中。

然后小心地将土壤湿度传感器串入土壤中,避免损坏根部。一旦连接了所有传感器,就应该完全完成播种机!

步骤8d:完成触摸

最后,我们将要测试我们的设备。连接到我们之前使用的IP地址,并查看传感器是否正在录制。可能需要根据您的设置调整阈值。还要测试是否可以打开和关闭灯。

首次加载页面时,可能需要按几次按钮才能使灯光翻转。

就是这样。你做了播种机!恭喜!

第9步:结论

最后的想法

总的来说,我认为Plonty喜欢他的新发现! (不是吗?)我很高兴设计这个播种机,我希望你喜欢这个骑行。感谢您查看我的Instructable,如果您有任何疑问,请务必在下面发表评论,或者您只是想打个招呼!当我修改代码时,我会继续更新这个Instructable,所以希望我们将来会看到更多的功能!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2909

    文章

    44640

    浏览量

    373452
  • ESP32
    +关注

    关注

    18

    文章

    971

    浏览量

    17281
收藏 人收藏

    评论

    相关推荐

    联网学习路线来啦!

    开发的方法,成为了未来一个单片程序员的必备技能。 3.2.2网络通信协议栈 联网开发,离不开网络的支持。作为网络协议的实际统治者——TCP/IP,相信了解一些计算机知识的人都不陌生,在单片
    发表于 11-11 16:03

    单片联网中的作用

    随着技术的飞速发展,联网已经成为连接物理世界与数字世界的桥梁。联网设备通过互联网相互连接,实现数据的收集、处理和传输,从而提高效率、降低
    的头像 发表于 11-01 14:27 583次阅读

    土豆播种机电控系统 #播种机控制器 #播种机显示屏

    电控系统
    长沙硕博电子科技股份有限公司
    发布于 :2024年10月14日 13:40:42

    注塑联网平台可以实现哪些功能

    随着联网技术的快速发展,其在制造业的应用日益广泛,注塑联网平台作为智能制造的重要一环,正逐步成为提升生产效率、优化资源配置、降低生产成
    的头像 发表于 10-12 14:26 233次阅读
    注塑<b class='flag-5'>机</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>平台可以实现哪些功能

    注塑数据采集联网解决方案

    随着工业4.0时代的到来,智能制造已成为企业转型升级的重要方向。注塑作为塑料加工行业的核心设备,其数据采集与联网解决方案的引入,不仅提升了生产效率和产品质量,还为企业带来了前所未有的管理便利
    的头像 发表于 10-11 15:28 338次阅读
    注塑<b class='flag-5'>机</b>数据采集<b class='flag-5'>物</b><b class='flag-5'>联网</b>解决方案

    什么是联网技术?

    什么是联网技术? 联网技术(Internet of Things, IoT)是一种通过信息传感设备,按约定的协议,将任何物体与网络相连接,实现智能化识别、定位、跟踪、监管等功能的
    发表于 08-19 14:08

    工控联网中的应用

    随着科技的快速发展,联网(IoT)已经逐渐渗透到我们生活的各个角落,从智能家居到工业自动化,从智能交通到医疗健康,联网技术正改变着世界。在
    的头像 发表于 06-03 14:39 940次阅读

    4G联网开关求助

    阿里云联网平台 合宙模块780E 724 或者移远4G模块开发一款联网开关,有的APP ,可以直接做固件或者固件带硬件。有可以做的大师可以联系我有样品参考
    发表于 05-19 15:28

    工业一体联网领域的应用

    工业一体联网领域的应用变得愈发重要,工业一体作为一种集计算、控制、通信于一体的设备,具备了在
    的头像 发表于 05-18 16:54 315次阅读

    MCY-02种子摩擦系数测试仪

    的摩擦系数是非常重要的,这主要是因为摩擦系数直接影响种子处理、储存、运输以及播种过程中的效率和效果。1、播种机设计与优化:了解种子与播种机内部零件(如输送带、管路等)之间
    的头像 发表于 05-11 16:31 371次阅读
    MCY-02种子摩擦系数测试仪

    真空冷却远程监控联网解决方案

    提供设备运维管理系统,实现多个设备接入与智能管理,为设备制造商、设备用户提供高效可靠的管理手段。 真空冷却远程监控联网解决方案的核心是将真空冷却
    的头像 发表于 03-13 17:25 469次阅读

    打桩远程监控运维联网系统

    随着科技和工业的飞速发展,联网技术已经在各个领域展现出其强大的潜力。在工程机械行业,尤其是打桩、挖掘、起重这类型的高价值资产,
    的头像 发表于 03-06 14:00 491次阅读
    打桩<b class='flag-5'>机</b>远程监控运维<b class='flag-5'>物</b><b class='flag-5'>联网</b>系统

    基于云-端高精度地图的油菜无人播种作业系统# #plc #联网

    plc联网
    juying
    发布于 :2024年02月23日 16:58:23

    联网IOT芯片是什么?联网芯片的作用 联网芯片的应用领域

    联网IOT芯片是什么?联网芯片的作用 联网芯片的应用领域 
    的头像 发表于 02-01 11:38 3847次阅读

    diy压屏对位方法有哪些

    DIY压屏是一种用于夹压印刷过程中的设备,可用于制作T恤、帽子、袋子等物品的印刷。对位是压屏使用过程中非常关键的一步,它决定了印刷图案的准确度和完整性。下面将详细介绍DIY压屏
    的头像 发表于 01-05 15:32 958次阅读