【《基于DS18B20温度传感器和水位检测传感器的智能热水壶设计》7200字(论文)】_第1页
【《基于DS18B20温度传感器和水位检测传感器的智能热水壶设计》7200字(论文)】_第2页
【《基于DS18B20温度传感器和水位检测传感器的智能热水壶设计》7200字(论文)】_第3页
【《基于DS18B20温度传感器和水位检测传感器的智能热水壶设计》7200字(论文)】_第4页
【《基于DS18B20温度传感器和水位检测传感器的智能热水壶设计》7200字(论文)】_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DS18B20温度传感器和水位检测传感器的智能热水壶设计目录TOC\o"1-3"\h\u9345引言 [10],内部结构图如图3-3所示。图3-3DS18B20内部结构图DS18B20温度传感器特点:(1)采用单总线接口连接微处理器,实现通信方便快捷,价格低廉,外界干扰对其影响不大,使用方便简单,在恶劣环境下也能正常使用。(2)DS18B20温度传感器与其他传感器相比它的检测范围比较大、精确度比较高。(3)DS18B20在使用时不用连接其他外部元件。(4)DS18B20温度传感器在掉电后,其之前设置的温度和分辨率是不被改变的。(5)DS18B20灵活的供电方式使他的设计难度大大降低了,当电源接反时电路会自我保护不会发热烧毁。(6)其电压工作在3.3-5V之间。3.3水位检测模块采用WaterSensor水位传感器,如图3-4所示。它是一个Arduino专用传感器,它的连接端口兼容Arduino传感器扩展板。它是一款简易的水位识别检测传感器模块,使用时只需与Arduino开发板相连接,就可以直接测量。它的价格便宜、性价比较高而且它的反应比较快。图3-4水位检测模块实物图3.4显示模块总体来说电子屏分为LCD和OLED两种,LCD屏不管怎么调节背光都无法将背景色调为纯黑色,背景色一直为不同亮度的灰色,对比度不太高。OLED显示屏他是自行发光材料,不需要采用背光源,并且它自身发光转化效率比较高。当屏幕只上电时是它不会亮的,要接线正确和上传驱动程序后才会亮。OLED屏具有高对比度、响应速度快、使用寿命长、功耗低、价格低廉、画面清晰度高、屏幕厚度薄、视角宽等特点。这个模块主要用到一个0.96寸OLED蓝屏,它是利用SSD1306驱动,利用I2C通信和单片机通信连接,其原理图如图3-5所示。图3-5OLED显示屏原理图3.5按键模块按键模块采用行列式键盘,原理如图3-6所示。该矩阵键盘是共阳极性的,只有在低电平的时候才有效,因此使用时只要把1引脚连接电源,其余引脚均写低即可,在设计中利用键盘来实现温度、时间的设置,以实现设计的功能。图3-6原理图3.6红外避障模块红外避障模块,如图3-7所示。其收集信息主要靠红外发射和接收二极管,在使用的过程中发射管发射出一定的红外信号后,由接收二极管接收,经过比较后,输出数字信号,由此感知外界的环境信息。该模块可测得的有效距离范围最大为40cm,所以设定检测距离10cm距离最佳,红外避障传感器在各个领域都起着很重要的作用。红外避障传感器的优点:(1)它自适应能力很强,可以在黑暗条件下进行工作。(2)红外避障传感器个体较小不占用太多设计空间且非常实用。(3)有很好的隐蔽性不容易被干扰。图3-7红外避障实物图3.7语音模块采用JQ8900-16P语音模块,如图3-8所示。它集成了一个16位的MCU和ADSP,并且使用硬解码的方式来确保系统的稳定性和音质。我最喜欢这个模块的地方就是它的SPI-flash,可以直接当优盘使用,使用时直接把音频存进去即可,操作更容易更换音频更快捷,并且模块还包含了配置工具、串口调试软件以及MP3格式转换器。图3-8语音模块实物图4.系统软件设计4.1软件开发环境介绍4.1.1ArduinoIDE软件ArduinoIDE软件程序编写页面,如图3-9所示。ArduinoIDE软件框第一行文件区主要进行文件打开、文件保存和文件新添加;编辑区主要进行程序复制粘贴、字号大小设置等;项目区域主要是对程序添加库、上传和验证等;工具区主要是选择Arduino开发板的端口、类型和管理库等;帮助区域主要解决我们在使用ArduinoIDE软件过程中遇到的问题。下面一行主要是为了我们在ArduinoIDE软件使用过程更方便,主要是对程序进行验证、上传、新添加、打开和保存。另外ArduinoUNO开发板上自带了一个通信口,通常简称为串口,通过串口与外界或者说是与电脑进行通信,用于实现对程序的输入和临时存放数据的功能,如果想要得到输入/出信号的信息就需要用到串口监视器,串口监视器就是右上方类似放大镜的图标。程序编写框下面是信息区,用来显示错误的反馈信息,当我们编译成功或者失败时都会在此信息区提示。图3-9ArduinoIDE软件窗口4.2系统主程序整个系统由硬件电路配合软件编程来完成。主程序主要负责定时提醒、保温、温度水位的显示。保温功能的实现主要通过继电器的开合来实现,当达到自己设置的温度时,继电器闭合停止加热,当未达到自己设置的温度时,继电器打开开始加热。定时功能实现是当其设置一个定时时间后,如果达到其设置时间系统开始报警,当检测到有人过来时系统停止报警,最后返回主程序。其程序流程图如图4-1所示。图4-1主程序流程图4.3DS18B20程序Arduino先对测量温度的子程序进行访问,然后通过对DS18B20进行初始化,检测DS18B20是否存在,如果不存在直接返回子程序;如果存在则跳过ROM匹配向DS18B20发出温度变化的变换命令,然后再对DS18B20进行一次初始化,再次向DS18B20发出读温度的命令,最后读出检测到的温度数据,如图4-2所示。图4-2DS18B20温度读取流程图4.5提醒程序对提醒程序先进初始化,然后利用键盘来设定提醒时间,当达到定时时间时系统开始报警,如果没达到定时时间继续等待报警直至达到定时时间,报警完成后返回程序,其程序流程图如图4-3所示。图4-3提醒程序流程图5.系统调试与分析5.1硬件调试现实与理想总是有一定的距离,当所有程序编写完成并上传至ArduinoUNO板后,所实现的现有功能跟预想的会有不小的差距。功能调试就是在这个时候起作用的,在此过程中切忌浮躁,要放平心态一步一步去解决遇到的问题,不会就去网上搜资料。通常情况下,系统的硬件调试大致可分为上电前测试和上电测试两部分。上电前,看设计要用的各个模块焊接有没有虚焊、漏焊以及焊盘脱落的问题。然后检查电路连线是否存在断路或短路的问题。由于本系统是通过采用各个模块拼接搭建的方式实现的,因此,本系统的硬件调试过程需要大量的接线,所以需要我们细心的对待。每一根引线的位置都要正确,漏连和错连都会导致最终测试结果的失败,在测试过程中就出现过类似状况,刚开始接线完成,但是由于下次测试时,没有检查接线状况,导致引线脱落此模块功能不能正确的实现。错连更是一个大问题,上电时,错连可能会导致模块烧坏,因此在接线过程中要细心对待,每次测试前都要检查接线是否正确,查看一下各模块的接线是否出现松动、甚至脱落的情况,并针对所出现的问题做出相应的处理。另外,在接线过程Arduino的数字信号接口最好不要重复使用以免出现误判,导致功能不能正常使用。5.2软件调试软件调试过程是最大的难题,在这个过程中会出现大量的错误,因此学会使用库函数非常重要,当软件窗口弹出“nosuchfileordirectory”如图5-1所示,此时就是提醒我们程序中没有找到OneWire的库文件,所以我们不能直接调用OneWire函数。此时就需要去网上搜索相关函数的库文件,把OneWire函数的库文件安装好以后在进行编译就可以了,在此后我们还需要不断地去查找各个函数的使用方法。图5-1测试错误1当窗口出现“notdeclaredinthisscope”如图5-2所示,此时就是提醒我们此变量没有定义,可能是在写代码时马虎了,一些没有定义的变量直接用了,或者是在拼写的时候出现了错误,写代码的时候写错了字符。例如Temperature写成了temperature。在调试过程中这个过程是最耗时也是最容易出现问题的地方,这个时候我们就要不断地去网上查找出现错误的原因及解决方法,需要我们耐心的去对待。图5-2测试错误25.1OLED屏幕接线后,打开ArduinoIDE上传代码成功后,上电OLED显示如图5-3所示,测试程序如图5-4所示。图5-3OLED测试结果图5-4OLED测试程序5.2信息采集模块信息采集包括DS18B20传感器、水位检测模块和红外避障模块。第一步要将它们与ArduinoUNO连接在一起;其次,编写信息采集模块的测试程序,并编译成功;最后将ArduinoUNO接入电脑,上传程序。在COM4窗口可以观察到采集的信息,如图5-5所示,串口显示器显示此时的温度、水位和有无障碍物(其中1表示没人,0表示有人)。其最终在OLED屏幕上显示温度、水位,如图5-6所示。图5-5数据采集信息窗口图5-6温度,水位测试结果5.3按键测试连接Arduino与矩阵键盘的引脚,然后上传调试程序,上传成功,COM4窗口观察到输入数据采集信息,此时按下键盘上的某个键,在串口工具上显示该按键的值。如图,我们按下“D”,则显示如图5-7所示。图5-7按键测试结果5.4最终调试结果把Arduino开发板与各个模块相连接,然后上电,把程序上传至Arduino开发板,上传成功后,OLED屏上显示水温,水量,设置的水温、时间和定时时间,如图5-8所示。并通过矩阵键盘加减键来设置其温度和时间,当实际温度达到设置的温度时,继电器的程序控制继电器闭合,此时水壶停止加热,当实际温度小于设置的温度时,继电器的程序控制继电器打开,此时水壶开始加热。当设置好相应的喝水时间时,此时按下键盘的确认键系统开始计时,当达到自定义时间时,语音模块开始播放提醒用户喝水的音乐,此时如果红外避障模块检测到有人时,语音模块停止播放音乐,人走后重新开始计时,最终实物图如图5-9所示。图5-8OLED最终显示结果图5-9最终实物图6.总结本次毕业设计题目为基于单片机的智能温控水壶,通过对题目的背景、意义、内容和国内外研究现状分析,然后实现本设计所需要实现的功能,了解了各个模块的工作原理、硬件参数、特点。完成系统设计和调试功能,通过实现各个模块的功能并最终实现总体设计功能达到任务书的要求。设计中智能水壶功能有显示温度、水量和定时提醒等功能。当达到定时时间,拿起水杯时报警会自动停止,有利于使我们养成良好喝水的习惯。另外,水壶还能通过设定温度从而达到泡茶,冲奶等功能,具有良好的应用前景。经过几个月的努力,让我对ArduinoUNO有了进一步的理解,让我感受到了编程的魅力所在,树立了自信心,并得到了充分的锻炼。该设计在制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论