智能花盆设计毕业论文
2020-02-18 11:56:46
摘 要
在家中的阳台上、办公室的窗边上,我们总爱放上几株盆栽植物,它在为我们改善空气质量、减少电磁辐射的同时,还提高了艺术性与欣赏性。但是当今社会生活节奏加快,使得家庭或者办公室盆栽的照顾与保养受到忽视。为了更好地照顾心爱的盆栽,越来越多的人把目光投向了智能花盆系统的设计。
本设计以Arduino为基础,完成智能花盆的软硬件设计。从实际应用的角度出发,使得设计出的智能花盆不仅提高了用户的自由度,而且经济实惠。本设计不仅对智能花盆的基本硬件框架做出了说明,而且明确了各个模块的功能和作用。
本设计用四部分来使智能花盆正常工作。感光部分,利用感光传感器采集光照信息;避障部分,利用红外避障模块和电机驱动模块控制花盆移动;自动浇水部分,利用DHT11温湿度模块采集土壤的温湿度信息,控制水泵进行浇水工作;显示部分,利用LCD1602显示土壤温湿度。
关键词:Arduino,红外避障,感光传感器,电机,DHT11
Abstract
We tend to put a few potted plants on the balcony of our home or the window of our office,which can improve the air quality and reduce electromagnetic radiation. Besides, they also enhance the artistry and appreciation. In response to the accelerated pace of life in today's society and the neglect of care and maintenance of potted plants, more and more people are turning their attention to the design of the smart flowerpot system.
This design is based on Arduino and completes the software and hardware design of the smart flowerpot. From the perspective of practical application, the designed smart flowerpot not only improves the user's freedom, but also is more economical. This design not only explains the basic hardware framework of the smart flowerpot, but also clarifies the function of each module.
This design uses four parts to make the smart flowerpot work normally. First, the photosensitive part uses the photosensitive sensor to collect the illumination information. Second, the obstacle avoidance part uses the infrared obstacle avoidance module and the motor drive module to control the movement of the flowerpot. Besides, the automatic watering part uses the temperature and humidity module to collect the temperature and humidity information of the soil, and controls the water pump to perform the watering work. Finally,uses LCD1602 to display the temperature and humidity of soil.
Key Words:Arduino, Infrared obstacle avoidance, photosensitive sensor, motor,DHT11
目录
摘要 I
Abstract II
第1章 绪论 1
1.1课题研究的背景 1
1.2国内外研究现状 1
1.4研究内容及章节安排 2
第2章 设计总体方案 3
2.1设计基本要求 3
2.2硬件电路的概述 3
2.3 软件程序的概述 4
第3章 系统硬件设计 5
3.1 Arduino简介 5
3.2自动浇水模块 7
3.2.1 DHT11温湿度传感器 7
3.2.2继电器 9
3.3感光模块 11
3.4 显示模块 12
3.4.1 LCD1602简介 12
3.4.2 LCD1602的引脚功能 13
3.4.3 LCD的指令说明及时序 13
3.4.4 LCD1602的RAM地址映射 14
3.4.5 I2C接口模块 15
3.4.6 I2C通信原理 15
3.5避障模块 19
3.5.1 L298N电机驱动模块 19
3.5.2 直流电机 21
3.5.3红外避障模块 23
第4章 系统软件设计 26
4.1系统整体程序流程图 26
4.2 Arduino程序结构 27
4.3显示屏程序 29
4.4 DHT11程序 30
4.5 感光模块程序 30
4.6 避障模块程序 30
第5章 系统的仿真和调试 32
5.1自动浇水模块 32
5.2 感光模块 33
5.3自动避障模块 34
第6章 结论 35
致谢 36
参考文献 37
附录A 38
附录B 43
第1章 绪论
1.1课题研究的背景
如今,智能化越来越受到人们的关注,智能家居则是在物联网影响下物联化的体现。国内智能家居的市场还有很大空白,该产业还没有形成完整的生产渠道、销售流程、技术支持,但是随着科技的进步、社会的发展和智能家居概念的推广与普及,消费者会逐渐养成使用智能家居的习惯,因此对于智能家居来说,市场的消费潜力会是巨大的,产业前景也必然一片光明。而作为智能家居的一部分,智能花盆的前景也是一片光明。
养花不仅可以陶冶情操,还可以净化空气,植物的光合作用可以吸收二氧化碳、释放氧气,而温度、湿度和光照则是养花成败的关键。目前,市场上的智能花盆成品大多数仅能实现自动浇水,而且形式过于单一、过于拘泥于固有模式,缺乏灵动性。此外,成本也是需要考虑的一个重要因素。当前市场上出售的智能花盆大多价格高昂,对于普通老百姓来说难以接受。在这样的背景下,我设计了可自动浇水、自动躲避强烈光照的智能花盆。
1.2国内外研究现状
在国外,智能花盆技术已经做大做强。最早的时候,英国大学生娜塔莉·金发明了一种“智能花盆”,她在这个花盆的底部安装了水分和温度传感器,在花盆外面还有光照传感器,通过这些传感器可以实时监测植物生长的温湿度与光照的变化。15年法国知名无人机和车内通信设备制造商“鹦鹉”公司在美国拉斯韦加斯举行的国际消费电子产品博览会上展出一款新产品——智能花盆;东京的农工大学的副教授水内郁夫也进行过相关研究,他领导的小组开发了一款叫做“Plantroid”的花盆机器人;此外,国外还有一种叫做Click and Grow的智能花盆,此花盆灵功能强大,开发灵感源于NASA的电子花盆,除了具有自动浇水的功能,还可以实现自己施肥。
在国内,智能花盆技术也发展迅速且稳健,目前智能花盆技术现状:小米众筹作为智能家居领头羊,去年发布了一款神奇黑科技——花花草草智能花盆;京东众筹推出了inbox智能花盆、biom智能花盆、zuzi智能花盆;在第十九届中国国际高新技术成果交易会(简称“高交会”)新产品新技术发布会上,东莞市格铂生态科技有限公司发布了其智能花盆产品——幸运之光,这款智能花盆内置了六种不同的光谱,能够满足各种植物生长的需要,还能够根据种植品种的不同自动调整光照的时间,并且在缺水时发出提示音。
1.3课题研究的意义
在日常生活中,人们一方面想在家里养些花花草草,让他们在白天吸收二氧化碳、清新室内空气的同时净化有毒气体;另一方面因为工作太忙或者经常出差,没空浇水导致花草长势不好甚至枯死,影响了室内的装饰效果。因此,我希望设计一种能实时监测盆栽土壤温湿度、实现自动浇水的智能花盆,让花卉在人们无暇照顾时能得到及时的照顾;同时将花盆与Arduino控制的小车结合,随着阳光的迁移,花盆根据光强来移动,实现花盆移动的自动化。
与传统花盆相比,智能花盆是一种新型的家居设备,更符合当代人的需求、适应当代社会的节奏。随着智能化家居的普及,越来越多的人投身于这一行业。作为智能家居大家庭的一员,智能花盆的设计也成为了一种趋势。目前市场上出现了各种成品,都拥有独特的功能,但总体而言,功能还不够完善。对应于现在的低头族,通过手机控制是最时髦的,也必将受到他们的热捧,但目前相关产品还较少。智能花盆的亮点在于智能,因此具有无限的可能性。首先,智能花盆可用于专家系统,利用智能计算机程序系统来设定植物的生长条件;其次,与物联网结合,可以实现随时随地控制和管理植物;最后,节能环保,智能花盆可以节省水资源,根据土壤湿度按需浇水,而不是定时浇水,这样也可以缓解水资源危机。
1.4研究内容及章节安排
本文将基于智能花盆系统的设计要求与实际使用需求,确定整个系统的设计方案与运作流程。采用自顶向下的设计思想,先单独学习各子模块的功能、原理,然后实现子模块的功能,最后将其整合,实现智能花盆系统的设计。
本设计的硬件基础是Arduino Uno控制器与智能小车,在此基础上搭建感光模块、避障模块、自动浇水模块和显示模块,然后将这些模块搭建成一个智能花盆完整系统,完成毕业设计要求。
本设计的目标是实现检测植物土壤的湿度,过低时花盆可以自动浇水;还可以感知光照强度,自己躲避强光,当有障碍物出现时,自动调整前进方向,避免发生碰撞。
根据任务书要求,本文的章节安排如下:
第1章,介绍设计的背景、国内外现状以及研究意义。
第2章:介绍总体的设计方案,包括硬件和软件两个方面。
第3章:介绍本设计中用到的各个传感器模块的原理和使用方法。
第4章:介绍本设计的软件实现方案。
第5章:对整体设计进行仿真和调试,检验设计是否达到要求。
第6章:对本次设计进行总结
第2章 设计总体方案
2.1设计基本要求
依托实际应用需求, 在掌握Arduino相关知识的基础上,完成智能花盆的设计,该设计应具有以下功能:
1:利用感光传感器采集光照信息,判断光照是否适宜
2:利用红外避障模块的DATA端输出的高低电平变化,判断前、左和右方是否有障碍物,然后通过电机驱动模块控制花盆前进、后退、左转以及右转。
3:利用温湿度模块采集土壤的温湿度信息,控制水泵进行浇水工作。
2.2硬件电路的概述
智能花盆系统的硬件可分为以下五个部分:
1:Arduino Uno板
2:感光部分
3:避障部分
4:自动浇水部分。
5:显示部分
根据智能花盆设计要求,设计出系统整体硬件结构图,如图2.1所示。
图2.1 系统整体框架图
系统设计采用自顶至下的设计理念,将各个功能分模块,让每个模块可以实现某项特定功能,调试好各个模块后,将这些单独的模块整合在一起,实现整体设计。通过这种方法,我们可以高效率的设计硬件电路,深入理解每项功能的实现手段,熟悉每个模块的组成与原理,降低了设计的难度,而且调试也变得简单,提高了系统的容错率,唯一的不足就是整合的时候稍微麻烦了一点。
从图2.1中可以看到,整个系统的核心是Arduino Uno板及其拓展板,分为四个子模块。在硬件电路设计时,先从自动浇水模块开始,组成器件有继电器、水泵和蓄水箱。接着对感光模块进行设计,包括光敏电阻和普通电阻。然后是显示屏模块,主要就是LCD1602及I2C接口模块。最后是避障模块的设计。包块红外避障模块、电机驱动模块及智能小车。自动浇水是设计的核心,避障功能是智能花盆系统另一个重要功能,也是本设计最大的亮点。
2.3 软件程序的概述
系统要实现的功能主要为:在光照强度超出一定范围时自由移动,并且在移动过程中自动避障,同时可以检测土壤的温湿度并输送到显示屏上,还可以在花盆中湿度低于一定值的时候自动浇水。在这里同样采用模块化的思路来进行处理,分为自动浇水模块、感光模块、红外避障模块与显示模块。调试时每个模块都编写相应的程序,待调试通过且实现相应功能后,依次加入一个模块程序,直至所有模块程序再整合在一起,以此来实现整个系统的程序编写。
第3章 系统硬件设计
3.1 Arduino简介
Arduino开发板是基于开放原始代码的Simple I/O平台,并且使用类似java、C/C 语言的开发环境,可以快速使用Arduino语言与flash或processing软件,完成各种创新的作品。Arduino开发板可以使用各种电子元件,如各种传感器、显示设备、控制设备或其他可用设备。也可独立使用,成为与其他软件沟通的平台,如Max/Msp、VVVVV或其他互动软件。
Arduino的开发板种类有很多,包括Arduino Uno、Yun、Dun、Leonardo、Tre、Zero等。其中,Arduino Uno是Arduino USB接口系列的常用版本,是Arduino平台的参考标准模板,也是本设计选用的,如图3.1所示。Arduino Uno的处理器核心是ATmega328,具有14路数字输入输出接口(其中6路可作为PWM输出)、6路模拟输入接口、1个16MHz晶体振荡器、1个USB口、1个电源插座、1个ICSP插头和一个复位按钮。
图3.1 Arduino Uno开发板
具体引脚介绍:
1.电源(Power):
Arduino Uno有三种供电方式:
●通过USB接口供电,电压为5V。
●通过DC电源输入接口供电,电压要求为712V。
●通过电源接口处5V或者VIN端口供电,5V端口处供电必须为5V,VIN端口处供电为712V。
2.指示灯(Led)
Arduino UNO带有4个LED指示灯,作用分别如下:
● ON:电源指示灯。当Arduino通电时,ON灯会点亮。
● TX:串口发送指示灯。当使用USB连接到计算机且Arduino向计算机传输数据时,TX灯会点亮。
● RX:串口接收指示灯。当使用USB连接到计算机且Arduino接收到计算机传来的数据时,RX灯会点亮。
● L:可编程控制指示灯。该LED通过特殊电路连接到Arduino的13号引脚,当13号引脚为高电平或高阻态时,该LED 会点亮;低电平时,不会点亮。可以通过程序或者外部输入信号,控制该LED亮灭。
3.存储空间(Memory)
ATmega328 有32KB Flash存储空间(其中0.5KB被用于存储bootloader),2KB 的SRAM和1KB 的EEPROM。
可以使用官方提供的EEPROM库读写EEPROM空间。
4.输入/输出端口(Input、Output Port)
Arduino Uno有14个数字输入输出引脚,可使用 pinMode()、digitalWrite() 和 digitalRead() 控制。
其中一些带有特殊功能,这些引脚如下:
● UART,为0(RX)、1(TX)引脚,被用于接收和发送串口数据。这两个引脚通过连接到ATmega16U2来与计算机进行串口通信。
● 外部中断,为2、3引脚,可以输入外部中断信号。中断有四种触发模式:低电平触发、电平改变触发、上升沿触发、下降沿触发。
● PWM输出,为3、5、6、9、10、11引脚,可用于输出8bit PWM波。对应函数 analogWrite() 。
● SPI通信,为10(SS)、11(MOSI)、12(MISO)、13(SCK)引脚,可用于SPI通信。可以使用官方提供的SPI库操纵。
● L-LED:13。13号引脚连接了一个LED,当引脚输出高电平时打开LED,当引脚输出低电平时关闭LED。
● TWI通信,为A4(SDA)、A5(SCL)引脚和TWI接口,可用于TWI通信,兼容I²C通信。可以使用官方提供的Wire库操纵。
●AREF,模拟输入参考电压的输入引脚。
●RESET,复位端口。接低电平会使Arduino复位。当复位按键按下时,会使该端口接到低电平,从而让Arduino复位。
3.2自动浇水模块
3.2.1 DHT11温湿度传感器
为实现自动浇水功能,需要系统实时监测土壤湿度,并与设定阈值进行比较。为此,本设计选用DHT11温湿度传感器来采集土壤湿度信息,这是目前应用最广泛的传感器,实物图如图3.3所示。DHT11内部集成了一个电阻式感湿元件和一个NTC测温元件,利用该模块可以方便的采集到所需信息。其封装形式多样,主流模式为4针单排引脚封装,,根据用户需求还可提供特殊封装形式。该模块体积小,方便与其他模块集成使用。此外,DHT11传感器都经过严格校准,准确性很高、品质优良。
图3.3 DHT11实物图
3.2.1.1 DHT11引脚说明
DHT11共有4个引脚,其具体引脚说明如表3.1所示。
表3.1 DHT11引脚说明
Pin | 名称 | 注释 |
1 | VCC | 供电3-5.5DC |
2 | DATA | 串行数据,单总线 |
3 | NC | 空脚 |
4 | GND | 接地,电源负极 |
3.2.1.2 传输数据格式
DHT11采用单总线数据格式,仅用一根数据线就可完成数据双向传输。DATA端用于DHT11(或DHT22)与Arduino Uno板通信与同步,一次完成的数据传输为40bit,传输数据可分为小数和整数两部分。标准数据格式如表3.2所示。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: