您是否一直想知道如何为您的植物添加一些高科技技术?通过这个很酷的项目,您可以确保您的可爱植物始终处于良好状态。完成此本文后,您将: ● 了解到如何使用模拟输出传感器 ● 了解如何在OLED显示屏上显示数据 ● 如果一切都很好,让你的植物微笑,如果有什么不对的话,植物就哭。
智能植物:这个想法的基础是什么? 如今,我们可以通过为我们的工具和基本电子元件添加技术来提高工作、爱好、生活方式等的效率。将人工智能添加到我们关心的事物中是非常有吸引力和惊人的。您可能已经看到绿色房屋使用智能控制和监督植物、花卉等。他们可以控制植物的水的时间和数量、照明、温度,以及许多其他重要和有效的参数。
这是一个很好的起点,进入这个令人兴奋的世界,并学习如何做到这一点。在本篇文章中,我们将获得有关我们植物状况的必要细节;例如沙子水分、环境温度和植物可以接收的光量。监控这些数据可以帮助我们始终保持工厂的良好状态。通过Arduino从传感器读取数据非常简单,并且在显示器上监控并不是那么难。你还在等什么?让我们的植物变得聪明!
所需的组件 ● Arduino Nano开发板 ● DHT11温湿度传感器 ● 0.96英寸SPI 128X64 OLED显示模块 ● YwRobot土壤湿度传感器模块 ● LDR传感器 ● 带状电缆
电路连接
您应该注意几点。首先,您需要一个能提供至少5V和20mA电源的电源。如果您的电源不符合这些条件,则应将模块连接到Arduino的5V引脚(不要使用3v3)。您还应注意使用带有SPI协议的OLED显示屏。如果您的显示器是I2C,则必须将它们连接到Arduino的A4和A5引脚。此外,这里使用的湿度传感器有2个引脚,因此需要一个带有一个模拟输出的放大器板。 DHT11传感器可以测量温度和湿度,但我们的代码仅显示温度。您可以通过添加几行代码来添加湿度。
组装
由于我们的花盆很小而且有空间限制,我们使用了适合我们的花盆的细丝。
为了连接这些电线,最好将引脚与元件分开。首先,OLED显示器排针应该被拆焊。为此,您可以使用烙铁,但最好使用加热器焊接。
OLED显示器粘在提供SPI通信的板上。为了更好地查看显示和隐藏电线,您可以将显示面板与电路板分开。用锋利的刀子做到这一点。
现在是时候将电线焊接到电路板上了。电路板将被放置在湿沙中,因此我们必须使所有连接和组件都防水。首先,我们用塑料包装覆盖它。然后我们用收缩管盖住它。你应该加热它以坚持板。现在用热胶填充接缝。
我们选择的湿度传感器需要一个单独的放大器。首先,将针头分开,然后使它们防水。
对于LDR传感器,必须在GND和传感器引脚之间连接一个10k欧姆的电阻。这也必须是防水的。
对于温度传感器,必须在Vcc和信号引脚之间连接一个10k欧姆的电阻。
现在是时候将所有传感器和显示模块连接到Arduino Nano。完成组装后,不要忘记让Arduino防水。
现在从花盆中倒出一些沙子(不是全部,它对植物有害)并将板和传感器(温度传感器除外)放入花盆内。温度传感器必须在花盆外。现在用去除的沙子填满花盆。
我们都完成了!现在开始上传代码吧。
代码 在此代码中,我们使用SSD1306和DHT库用于OLED显示和DHT11。您应首先添加这些库,然后编译并将代码上传到Arduino Nano。如果这是您第一次使用Arduino开发板,请不要担心。只需按以下步骤操作: ● 访问www.arduino.cc/en/Main/Software并下载操作系统的软件。按照说明安装IDE软件。 ● 运行Arduino IDE并清除文本编辑器,然后在文本编辑器中复制以下代码。 ● 导航到草图并包含库。现在单击添加ZIP库并添加库 ● 在tools and boards菜单中选择您使用的Arduino电路板。 ● 将Arduino连接到PC,然后在tools and port中设置COM端口。 ● 按上传(箭头符号)按钮。 ● 现在都准备好了!
必要的文件和下载:
ssd1306.zip
(7.48 KB, 下载次数: 17)
DHT-sensor-library-master.zip
(14.06 KB, 下载次数: 17)
本文完整的代码:
main.rar
(2.55 KB, 下载次数: 21)
接下来的改进措施 现在您可以根据自己的兴趣开发此项目。 以下是一些建议您可以将它们添加到项目中: ● 您可以显示时钟并测量不同条件的时间,并预测植物需要水或更多光的条件的时间。 你应该添加一个像DS1307这样的RTC模块,并添加一些代码来读取时间和日历,并显示或保存其中的一些以获得更多植物细节。 ● 通过添加蜂鸣器,您可以设置一些警告,警告您有关植物条件的信息。 例如,当沙子非常干燥时,它可以每小时振铃1次。 ● 我们为不同的条件设置了两个表情符号。 您可以为任何条件添加更多面部模型。 为此,您应阅读OLED显示教程,了解如何将图像转换为十六进制代码。 |