Arduino毕业设计说明书论文模板示例.docx
《Arduino毕业设计说明书论文模板示例.docx》由会员分享,可在线阅读,更多相关《Arduino毕业设计说明书论文模板示例.docx(26页珍藏版)》请在冰豆网上搜索。
Arduino毕业设计说明书论文模板示例
摘要
本文针对Arduino能通过各种传感器感知环境的功能,对现有的物联网技术进行了分析和研究,详细介绍了Arduino平台下植物状态监测系统的设计与实现。
文章首先分析了物联网技术的背景和意义。
然后在第一章和第二章简单介绍了单片机和Arduino的相关信息,第三章介绍了本次设计所需要的器材,从第四章到第六章中详细描述了关键的数据上传和实时监控部分,包括:
如何采集数据,如何进行数据上传,将从传感器上获取的数据上传到后台WEB,以及上传之后处理数据,设置预警等。
最后本文还分析了在数据上传和处理数据时遇到的一些问题和解决方案,展望了一些扩展功能。
【关键词】物联网Arduino植物状态监测
Abstract
AccordingtotheArduinothroughavarietyofsensorstoperceivetheenvironmentfunction,theexistingnetworkingtechnologyforanalysisandresearch,introducesthedesignandimplementationofplantconditionmonitoringsystembasedonArduinoplatform.
ThispaperanalyzesthebackgroundandsignificanceofthetechnologyofIOTfirstly.Andthen,fromthefourthchaptertothesixthchapter,thekeydatauploadandreal-timemonitoringpartsaredescribedindetail,including:
Howtouploaddata,uploadthedatafromthesensortothebackgroundWEB,andprocessingdata,setthealarm,etc.Finally,thispaperalsoanalyzessomeproblemsindataprocessinganddatauploadandsolutions.
【KeyWords】IOTArduinoplantconditionmonitoring
前言
物联网是新一代信息技术的重要组成部分,也是信息化时代的重要发展阶段。
其中Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。
它是一个基于开放原始码的软硬件平台,构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。
Arduino包含两个主要的部分:
硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是ArduinoIDE,你的计算机中的程序开发环境。
你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
随着社会的发展,生产技术的更新,物联网理念如今已经逐渐深入人心,并随着传感器技术、通信技术和物联网技术的发展逐渐触及社会的每一个角落。
不论在农业生产与个人生活中都可以用物联网技术让其变得更好。
在农业生产和个人生活中,当某些植物的养殖价值昂贵时,对其的实时监控就变得十分必要,而土壤湿度是植物生长状态的一项重要指标。
例如郁金香的生长期适温为5-20℃,最佳温度为15-18℃,植株的生育温度应保持在0-25℃。
郁金香根系的生长温度宜在5℃以上,14℃以下,尤为10℃左右最佳。
花芽分化的适温为17-23℃,超过35℃时,花芽分化会受到抑制。
另外,郁金香有极强的耐寒性,冬季可耐-35℃的低温,当温度保持在8℃以上时开始生长。
本系统主要是完成了对土壤湿度的实时监测,并根据所需RH范围与实际RH比较,出现异常情况及时的提醒用户以及记录。
其中对于系统来说最重要的就是数据的实时上传和与用户的交互。
1单片机为核心器件——Arduino
Definition2.1MCU
1.1单片机定义
Themicrocontroller,monolithicmicrocomputer(English:
Single-ChipMicrocomputer),alsoknownasmicrocontroller(Microcontroller),isthecentralprocessor,memory,timer/counter(Timer/Counter),alltheinputandoutputinterfaceareintegratedinamicrocomputeronanintegratedcircuitchip.
单片机,单片微型计算机(英语:
单片机),也被称为微控制器(单片机),是中央处理器,存储器,定时器/计数器(定时器/计数器),所有的输入和输出接口都集成在集成电路芯片上的微型计算机。
Thesimilaritiesanddifferencesbetweenthe2.2microcontrollerandpersonalcomputer
1.2单片机和个人计算机之间的异同
Acomputerthatworkstohavethefollowingparts:
thecentralprocessingunitCPU(operation,control)andrandomaccessmemoryRAM(datastorage),read-onlymemory(ROMmemory),input/outputdevicesI/O(serialandparalleloutputportetc.).Inthepersonalcomputer(PC)thesepartsaredividedintoseveralchips,mountedonaprintedcircuitboardcalledonthemotherboard.InSCM,theseareallpartofapieceofintegratedcircuitchip,thereforeiscalledmonolithic(singlechipmicrocomputer)machine,andsomeinadditiontotheabovepart,isalsointegratedwithotherpartssuchasanalog/digitalconversion(A/D)andanalog/digitalconversion(D/A)etc..Theapplicationofcomputerinthehigh-end,inthelow-endmicrocontrollerapplications,thetwohavetheirownlivingspace,atleastintheshorttermtherewillbeonetoreplaceanotherkindofsituation.
计算机工程有以下几部分组成:
中央处理单元(CPU运行,控制)和随机存取存储器RAM(数据存储),只读存储器(ROM),输入/输出设备I/O(串行和并行输出端口等)。
在个人电脑(PC)这些部分被分成几片,安装在印刷电路板称为主板上。
在供应链管理中,这些都是一块集成电路芯片的一部分,所以称为单片机(单片机),和一些除了以上部分,还结合其他部位如模拟/数字转换(A/D)和模拟/数字转换(A/D)等。
计算机在高端应用,中低端单片机的应用,两者都有各自的生活空间,至少在短期内会有一个替代的另一种情况。
2.3MCUfunction
1.3单片机的功能
Intheactualworkwherethecomputerisnotanyneedforahighperformancecomputer,acomputercancontroltherefrigeratortemperatureforcoreprocessor?
Thekeyistoseewhetherenough,whetherthereisagoodcostperformanceratio.Ifarefrigeratorareneededtodealwithcoretemperaturecontrol,thepriceistheprice.MCUcontrol,commonlyusedinindustrialproductionandliferelatedproceduresandcontrols(suchas:
electronicorgan,refrigerators,airconditionersandotherintelligence).
在计算机不需要任何高性能计算机的实际工作中,计算机可以控制为核心处理器的冰箱的温度?
关键是看是否足够,是否有良好的性能价格比。
如果冰箱需要处理核心的温度控制,价格价格。
单片机控制,常用于工业生产和生活有关的程序和控制(如:
电子琴,冰箱,空调和其他情报)。
2.4singleview
1.4单视图
ThisisanAtmega328P-PUmicrocontroller,8bitprocessor,AVRinstructionsetbasedonthefrequencyof20MHz,memoryof32KB.
这是一个atmega328pPU微控制器,8位处理器,基于20MHz频率AVR指令集,内存32KB。
图1-1Atmega328P-PU单片机
2Arduino的基本组成
2.1Arduino定义
Arduino,是一个开放源代码的计算机控制器,基于开放源代码软件的硬件和软件平台,基于开放源代码的简单接口的I/O版本,并有一个类似的Java,C语言的开发环境,处理/接线。
2.2Arduino的诞生
2005冬,马西莫Banzi和戴维Cuartielles讨论学生抱怨微控制器问题缺乏是便宜和容易使用,讨论决定设计自己的电路板,电路板通过班齐戴维Mellis.设计学生的编程语言。
两天后,戴维Mellis.写代码。
三天以后,董事会是完整的。
电路板被命名为Arduino。
随后Banzi,Cuartielles,和Mellis把原理图在线。
保持开源理念的设计,因为著作权法律监督是开源软件,但它是很难使用的硬件,他们决定采用创作共用许可证。
在CreativeCommons许可,任何人不得生产电路板的复制品,但也重新设计,甚至原设计销售文案。
你不需要支付使用费,甚至不允许获得Arduino团队。
只保留名称Arduino。
它是作为商标注册。
2.3Arduino语言
Arduino语言是建立在C/C++的基础,也是基于C语言。
2.3.1关键字
if
if...else
for
switchcase
while
do...while
break
continue
return
goto
2.3.2语法符号
;
{}
//
/**/
2.3.3运算符
=
+
-
*
/
%
==
<
>
<=
>=
&&
||
!
++
--
+=
-=
*=
/=
2.3.4数据类型
boolean布尔类型
char字符类型
byte字节类型
int整数类型
unsignedint无符号整型
long长整型
unsignedlong无符号长整型
float实数类型
double
string
array
void
2.3.5常量
HIGH|LOW表示数字IO口的电平,HIGH表示高电平
(1),LOW表示低电平(0)。
INPUT|OUTPUT表示数字IO口的方向,INPUT表示输入(高阻态),OUTPUT表示输出(AVR能提供5V电压40mA电流)。
true|falsetrue表示真
(1),false表示假(0)。
以上为基础C语言的关键字和符号,大家可以了解,具体使用可以结合实验的程序。
2.3.6结构
voidsetup()初始化发量,管脚模式,调用库函数等
voidloop()连续执行函数内的语句
2.3.7功能
数字I/O
pinMode(pin,mode)数字IO口输入输出模式定义函数,pin表示为0~13,mode表示为INPUT或OUTPUT。
digitalWrite(pin,value)数字IO口辒出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。
比如定义HIGH可以驱动LED。
intdigitalRead(pin)数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。
比如可以读数字传感器。
模拟I/O
intanalogRead(pin)模拟IO口读函数,pin表示为0~5(ArduinoDiecimila为0~5(Arduinonano为0~7)。
比如,可以读模拟传感器(10位AD,0~5V表示为0~1023)。
analogWrite(pin,value)-PWM数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数。
pin表示3,5,6,9,10,11,value表示为0~255。
比如,可用于电机PWM调速或音乐播放。
时间函数
delay(ms)延时函数(单位ms)。
delayMicroseconds(us)延时函数(单位us)。
数学函数
min(x,y)求最小值
max(x,y)求最大值
abs(x)计算绝对值
constrain(x,a,b)约束函数,下限a,上限b,x必须在ab之间才能返回。
map(value,fromLow,fromHigh,toLow,toHigh)约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。
pow(base,exponent)开方函数,base的exponent次方。
sq(x)平方
sqrt(x)开根号
3本次设计所需的硬件与软件
实验器件
数量
Arduinouno
1块
EthernetW5100扩展板
1块
土壤湿度传感器
1个
DHT11温湿度传感器
1个
导线
若干
表3-1
3.1ArduinoUNO
ArduinoUno是Arduino接口USB系列的最新版本,如Arduino平台参考标准模板。
乌诺处理器核心是ATmega328,14个数字输入/输出(包括6路PWM输出),6个模拟输入,一个16MHz晶体振荡器,一个USB端口,一个电源插座,一个扩展报头和复位按钮。
联合国已经发布了第三版,与前两版相比具有以下新的特点:
IntheAREFtwopinSDAandSCLincrease,increaseIOREFandsupporttheI2Cinterface;areservedpin,futureexpansionshouldbecompatiblewith5Vand3.3Vcoreboard.Thisimprovestheresetcircuitdesign,USBinterfacechipbyATmega16U2insteadofATmega8U2.Figure4-1improvedArduinoUNO.
在任命两引脚SDA和SCL的增加,增加Ioref支持I2C接口;预留针,未来的发展应该与5V和3.3V的核心板兼容。
这提高了复位电路的设计,USB接口芯片的atmega16u2代替atmega8u2。
图3-1改进ArduinoUno。
图3-1ArduinoUNO
3.1.1Arduinouno基本概要
●处理器ATmega328
●工作电压5V
●输入电压(推荐)7-12V
●输入电压(范围)6-20V
●数字IO脚14(其中6路作为PWM输出)
●模拟输入脚6
●IO脚直流电流40mA
●3.3V脚直流电流50mA
●FlashMemory32KB(ATmega328,其中0.5KB用于bootloader)
●SRAM2KB(ATmega328)
●EEPROM1KB(ATmega328)
●工作时钟16MHz
3.1.2通信接口
串口:
ATmega328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATmega16U2可以访问数字口实现USB上的虚拟串口。
TWI(兼容I2C)接口。
SPI接口。
3.1.3下载程序
ArduinoUNO上的ATmega328已经预置了bootloader程序,因此可以通过Arduino软件直接下载程序到UNO中。
也可以直接通过UNO上ICSPheader直接下载程序到ATmega328。
ATmega16U2的Firmware(固件)也可以通过DFU工具升级。
3.1.4注意要点
ArduinoUNO上USB口附近有一个自恢复的保险丝,对电路起到保护作用。
当电流超过500mA时会断开USB连接。
ArduinoUNO提供了自动复位设计,可以通过PC主机复位。
这样通过Arduino软件下在程序到UNO中,软件可以自动复位,不需要手动复位按钮。
在印制板上丝印“RESETEN”处可以使能和禁止该功能。
3.2DHT11传感器和LY-69
DHT11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在即为精确的湿度校验室中进行校准。
校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。
产品为4针单排引脚封装,连接方便。
技术参数
供电电压:
3.3~5.5VDC
输出:
单总线数字信号
测量范围:
湿度20-90%RH,
温度0~50℃
测量精度:
湿度+-5%RH,温度+-2℃
分辨率:
湿度1%RH,温度1℃
互换性:
可完全互换,
长期稳定性:
<±1%RH/年
图3-2DHT11
LY-69土壤湿度传感器表面采用镀镍处理,有加宽的感应面积,可以提高导电性能,防止接触土壤容易生锈的问题,延长使用寿命;产品可以宽范围控制土壤的湿度,通过电位器调节控制相应阀值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平;比较器采用LM393芯片,工作稳定,工作电压3.3V-5V,设有固定螺栓孔,方便安装,PCB尺寸:
3.2cm*1.4m。
图3-3LY-69/FC-28
3.3开发环境
本次设计使用的软件为Arduino开发环境Arduino-1.5.5-r2,如图3-4所示。
图3-4开发环境
4植物生长状态监测系统介绍
4.1设计思路
对于植物养殖最重要的就是植物的养殖环境,环境的整体情况直接影响植物的生长。
环境的整体情况可以从一些具体的数据体现,例如空气的温度,相对湿度,土壤的温度,相对湿度。
我们可以用不同的传感器可以分别检测到这些数据。
采集到数据后是最重要的分析数据,我们先把数据通过ArduinoUNO和W5100扩展板上传到后台WEB平台,然后再WEB平台内设置相应的温度,湿度正常值,最佳值和低于标准或高于标准的值。
将他们和上传的数值相较,如果不正常的话做出相应的反应,例如低于或高于标准值的时候,发送短信、邮件和微博提醒。
后台WEB平台设置相应的命令可以让我们在微信中使用,使用相应命令可以随时查看植物生长情况。
4.2设计步骤
4.2.1设置网络
设置上传数据需要的网络环境。
4.2.2获取数据
利用DHT11和LY-69两个传感器分别检测出空气和土壤的温度和相对湿度。
以Arduino板连接传感器获取检测出的数据。
4.2.3数据分析
将获取的不同数据,以不同的资源进行处理,根据数据做出对当时植物生长环境的判断。
4.2.4处理分析结果
将数据记录下来,随着时间推移形成曲线图。
4.2.5设置预警
将温度、相对湿度数值的不同范围分别设置为正常、良好、非正常。
4.2.6与用户交互
用户可以通过微信随时查看植物生长环境情况,监测系统也会定时发送监测情况到相应微博,相应数值不正常时会通过短信、邮件提醒用户。
5植物生长状态监测系统概要设计
5.1工作原理
用户将系统成品连接网线电源,放置于想要监控的植物旁,将土壤湿度传感器插入土壤就可以开始监控其生长环境。
1)DHT11会采集空气中的温度和相对湿度,LY-69会采集土壤中的相对湿度。
2)通过W5100扩展板,会将采集的数据上传到后台WEB端。
3)WEB端会记录接收到的数据,绘制曲线图;在特定的时间将监测到的情况以微博、邮件的形式记录下来。
如某时刻接受到的数据部在标准内,会发送短信提醒用户。
用户可以通过微信随时查看监测到的情况。
图51监测系统工作图
5.2工作流程图
图52监测系统工作流程图
6植物生长状态监测系统详细设计
6.1设计目的
当前很多人都有养殖一些花草类植物的爱好,在经过一些查找资料后会知道怎么去养好一种植物,但是大多数人的工作都是很繁忙的,他们没有太多时间去管理自己所养的植物,而又不想自己养的植物出现不良的生长状况。
对于植物的实时监控就能解决这个问题。
本设计题目为Arduino平台下植物状态监测,其用途就是用来对植物生长的环境进行监测,进而得到植物的状况。
将得到的植物状况定时发送给用户,用户也可以随时查看监测到的植物状况。
6.2功能模块设计
6.2.1网络连接
6.2.1.1设计思