最近七夕快到了~又到了给妹子做礼物的时间了~,所以要做一点既有创意,又实用,又好看的东西!那么这个可以给植物自动浇水的……饭盒,是非常理想的选择。 首先放成品图: 左边的是土壤湿度探头,当土壤的干燥程度达到一定值的时候,打开电磁阀进行浇水。 左边是DC电源线(DC5.5*2.1mm),5V输入。可以直接使用USB转DC来做电源。右边就是进水口,直接与水龙头相连。 电磁阀使用的是饮水机的电磁阀,成本10元左右。电压12V,所以需要另外购买一个升压模块。 最上面的是升压模块,然后依次是土壤湿度检测模块,DHT11温湿度模块。 LCD1602,可以显示当前已经运行的时间,大气温湿度,以及土壤湿度值。 亮起来是这样子的: 俯视图。两根白色的管子一根是进水口,一根是出水,内部是电磁阀控制。 程序结构也非常简单: 土壤湿度探头检测到土壤干燥了,就打开电磁阀进行浇水,完毕关闭电磁阀,然后继续检测,就这样无限循环下去。每间隔3小时进行一次判断。 这是设计图(很初步的构想,实际实现和这个图有一些细微的区别):
关于如何浇水,有两种方案: 方案一:使用电磁阀直接浇自来水。 方案二:使用水泵抽水。 在选择实用水泵还是电池阀的时候纠结了很久。最后决定用电池阀,因为如果使用水泵的话,要专门放个水盆来装水……而且要手动给水盆加水,不是一劳永逸的方案 (没错我就是这么懒……(╯‵□′)╯︵┻━┻) 首先来看材料一览表: (你没有猜错,我就是把东西这么随手一扔,然后就拍了张照片……) 然后做一个供电的模块,一行接正极一行接负极,用来给各种模块供电。(因为我没有买arduino的Shields,只能这样做了) 这万能板的孔大小是M2的,被我强行扩展为M3大小,然后才能拧上M3的铜柱 然后目测一下摆放的位置,做好标记,准备钻孔: 直接电动手钻上吧,其实给这种塑料钻孔,感觉是摩擦产生的热量将塑料融化掉,并不是真正的钻出来的孔……所以有很多毛边。 拧上螺丝就可以了。 下面对LCD1602进行固定: 找大概的位置,做好标记 打孔,拧螺丝(其实这个孔我还打歪了……不过塑料盒子可以有一定的形变,所以还是强行拧上去了。) 打歪的孔…… 还是强行拧上了。 继电器这种接口可以直接用杜邦线来插,只要把杜邦线黑色的塑料头拿掉就好了。就不用另外买专门的线。 杜邦线就可以解决!省钱! 关于杜邦线的处理,用美工刀把杜邦线头卡位的迷之凸起翘起来: 就可以很轻松的拿出来了。 之后就可以把露出来的金属部分插进去了。 再把继电器安装上去,无尽的打孔……拧螺丝 其实装得有点歪,不过不要紧。 然后突然觉得,这个饭盒太大了,还有每个模块都要我这样打孔,效率太低…… 然后睡觉去了。睡觉的时候灵感来了,换了一种思路(没错,前面我做的全部都推到重做了!) 第二天,拿着一大堆模块,研究如何科学地进行组装…… 然后…… . .......十分钟后,这两个叠在了一起 . . . ..........二十分钟后(忙着摆弄,忘记拍照了→_→) . . . duang~~这就是成品!采用了多层的结构,布局合理,结构精巧(魔性BGM操起来:我的朋友我想骄傲的告诉你,哦我真的不错我真的很不错。) 因为是用来浇水的,整个电路板是固定不动的(这又不是智能小车!),所以连接的结构强度不是首要考虑的问题。 下面多角度展示,从上往下依次是实时时钟模块DS1307,温湿度模块DHT11,土壤湿度传感器,升压模块(用来获得12V的输出)。 已经预留了铜柱,可以很方便地固定在万能板上面。 这样……我就可以把你捧在手心了~(ˉ﹃ˉ) 然后下一步计划固定到万能板上,右边用来放电磁阀,中间的缝隙可以焊两排排针,用于给各种模块供电。 有个非常巧合的地方,这个万能板的宽度,正好和继电器模块的长度完全一样~边角的孔完全对的上,强迫症看了表示非常舒服。 顺便说一下板的尺寸是5x7的 固定这堆模块,只需要钻两个孔。用小刀刻出要钻孔的位置,避免钻歪(就是图中Q和R之间刻了一个标记): 警告:对玻璃纤维板切割、钻孔,一定要注意粉尘污染! 吸入这些粉尘是非常危险的。所以我是把整块电路板放到水里面进行钻孔的。(过程因为有水,就没有拿手机出来拍照) 准备钻孔之前,先把所有模块扔到饭盒里面测试一下布局: 饭盒大小是1000ml的: 好了各位我钻完孔回来了。这次钻的不错,都能对上,误差不是很大。 果断拧上螺丝,感受一下: 然后计划在这里焊两排排针,一排接正极,另一排是负极。 然后又拆下其他模块,专心焊接电路板: 放上元件: 准备进行焊接: 然后这就是效果……光滑圆润的焊点?臣妾做不到啊! ……我承认焊电路我一点都不在行,所以就不要吐槽这个焊点丑了= = 最后我用万用表测了,能用,所以也并没有什么问题。 焊好当然要得瑟一下:于是我又装上去了(感觉我拆了又装中浪费了不少时间……) 然后给电磁阀焊接两个排针,就可以直接插杜邦线了,这样各种模块还是独立的,以后拆卸也方便。(保证接口统一,才能方便调用!) 焊点是这样的……其实这里是虚焊了,我后来重新焊了一遍=_=。所以看到这么圆的焊点,一般都是虚焊。 然后又一天过去了……晚上临睡前东西都是这样扔一堆的。 第三天起来~今天我们来讲解一下如何给arduino pro mini写程序,使用FT232RL,和arduino pro mini直接六个引脚一对一进行对接(非常方便的说): 如果给arduino单独供电的话,只需要接三个引脚。但是要记得两个芯片要共地,不然是传不上去的。 首先连接的是LCD1602,对应的电路图是这样子的: 根据LCD1602的引脚定义,和arduino的连接方法如下:
但是我稍稍修改了引脚的位置,为了更方便接线:
然后接好了就密密麻麻这么多线了: 然后连DHT11模块,VCC和GND分别接电源和接地,OUT接2号数字口。 然后连接电位器,COM 和NO就是开关的两端: 可以很轻松地插入~ 完全插入(不能裸露太多金属部分): 拧紧螺丝,大功告成: 这里线太多,也是要用钳子进行连接了…… 两个继电器分别接9号数字口和10号数字口。 写点小程序测试一下,继电器1和继电器2都可以正常开关。 接下来花了很多时间,一个一个连接模块,两个电源分别独立,一个电源长期供电,连接arduino,继电器1,升压模块,LCD1602。另一路电源可以关闭,给DHT11,土壤湿度模块,LCD1602的背景光LED,还有给继电器2进行供电,平时会关掉这部分的电源,达到节能的目的。 密密麻麻的连接线…… 这个是实时时钟模块DS1307,实际并没有派上用途。所以就把它拆了下来(没用你为什么要把人家装上去(╯‵□′)╯︵┻━┻)。 然后把所有模块接好线,预组装一下,看看能否放下: 在规划好模块的位置,又要进行标记……打孔: 然后打孔完毕。过程和前面说的大同小异,就不放图了。 然后拧上螺丝看看,右边很多空白空间,以后可以用来放锂电池,或者移动电源: 俯视图: 放一个移动电源进去,测试一下,刚好能放下呢。 饭盒的容积是1000ML的,逼格than逼格! 通电后,点亮LCD背景灯的效果 然后又调试程序……如此循环。其中调试程序的苦逼过程就没有记录了……代码放到github了,地址在帖子的最下面: 然后链接水管。直接用电钻开一个6mm的孔就可以插进去了。 链接好的样子。因为这个饭盒可以很容易地形变,所以很容易调节: 紧密结合: 发现电源线插不进去,用1cm的钻头进行开孔: 1cm开孔效果 接入电源线,也是刚好可以插入 总体效果,一边进水,另一边出水: 入水口是这样的一个转接口,可以直接固定在水龙头上,而且不影响正常使用。某宝搜索就可以了(关键字:2分 万能接头 净水器)。 上面有个开关,可以不影响正常出水的情况下,引入水流。 最终展示 arduino pro mini芯片 2015年8月10日09:37:32更新物品清单:
2015年8月13日15:09:30 更新,增加光敏电阻: 如果你百度搜索“arduino如何接光敏电阻”,结果一般都是让你接一个电阻,再和光敏相连。实际上这样并没有必要,因为AVR单片机内部就有一个电阻: 只需要利用这个电阻就好了。将一个模拟口设置为高 #define PHOTO_RESISTOR_PIN A2 光敏电阻一端与A2相连,另一端直接接地。这样结构非常简单。实测全黑条件下读取数值为1023,强光手电照射读取数值623,户外阴天环境(没有阳光直射),读取数值为981,虽然不是很精确,但是一般情况下判断是白天还是黑夜还是够用了。设置阈值为1000,读取数值小于这个值,则表示是白天,不进行土壤湿度检测。 环境为阴天,没有阳光直射,连接光敏电阻的引脚数值为981 还有拆的时候不小心太暴力,把饭盒拆破了= =。 两处破损……挺严重的,只能换饭盒。 就这样放着,今晚去买了新的饭盒再修理了。 ================分割线========================= 代码下载地址:直接打包ZIP下载 或者 访问github主页 里面有个ino格式的文件,就是arduino程序的文件。要使用arduino软件打开。arduino软件下载 虽然我用的是arduino pro mini,但是理论上arduino uno之类的板子都可以兼容使用。 下一步计划:
任何问题欢迎跟帖询问哟~\(^0^)/ |
|