基于单片机的智能垃圾桶的设计分解_第1页
基于单片机的智能垃圾桶的设计分解_第2页
基于单片机的智能垃圾桶的设计分解_第3页
基于单片机的智能垃圾桶的设计分解_第4页
基于单片机的智能垃圾桶的设计分解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、石家庄经济学院信息工程学院电子信息工程专业专业课程设计报告题目基于Arduino的智能垃圾桶的设计姓名王彤学号410109060209班级4101090102指导教师李明亮2014年1月8日要求:1 .指导教师按照课程设计大纲要求完成学生课程设计指导工作。2 .课程设计任务书由指导教师照大纲要求填写,内容要全面。3 .课程设计报告由参加本学生填写。课程设计结束时交指导教师。4 .指导教师要根据每一位学生课程设计任务完成情况,认真审核设计报告,并在课程设计结束时,给出客观、准确的评语和成绩。5 .课程设计任务书和报告要语言流畅,图表正确规范。6 .本表要用钢笔、圆柱笔填写或打印,字迹工整。课程设

2、计任务书班级4101090102姓名王彤学号410109060209课程设计题目基于Arduino的智能垃圾桶的设计课程设计起止日期2013.12.23至2014.1.10实习地点实验楼106课程设计内容与要求设计任务:基于Arduino的智能垃圾桶要求:1 .可以用遥控器控制垃圾桶的行走,并由人们实时随意控制;2 .垃圾桶在行进过程中可以躲避障碍物;3 .有人伸手扔垃圾时,垃圾桶盖自动打开,之后自动关闭;4 .圾桶内垃圾到达一定程度时,垃圾桶能自动发出提醒声;指导教师:李明亮2013年12月23日注:此表可加附页课程设计报告一、设计原理与技术方法(包括:电路工作原理分析与原理图、元器件选择、

3、电路调试方法与结果说明;软件设计说明书与流程图、软件源程序代码、软件调试方法与运行结果说明。)1 .智能垃圾桶的功能分析为实现所有功能,需要一个控制中心,即主控单元,实时接收各方面信息并处理,然后发出指令,从而实现功能。要实现无线遥控功能,需要一个外置的遥控器,垃圾桶主体还要设置一个信号接收的模块接受遥控的指令并把信号转换为电信号传输给主控单元,再由主控单元处理并发送指令,驱动发动机转动和控制轮子以改变方向。而对于自动避障功能,需要设置一个避障模块和电机驱动模块,能够检测前方是否有障碍。若有,则发送电信号至主控单元,再由主控单元发送指令至发动机,从而停止行进。需要检测环境的功能还有自动开盖功能

4、和自动提醒垃圾已满功能。自动开盖功能需要一个感应模块和一个轴承控制模块。如果有人体靠近,感应模块就发送信号到主控单元,通过主控单元控制轴承控制模块,打开垃圾桶盖。自动提醒垃圾已满功能需要一个测试模块和语音控制模块。桶内垃圾达到一定高度时测试模块就发送信号给主控单元,从而使语音控制模块发出提醒声。以上三个功能都需要传感器来检测外界环境从而判断是否发出信号给主控单元,实现其相应的功能。1.1 设计方案的选择以Arduino板作为控制中心的主控单元,为实现垃圾桶的智能化,还需要加入其他功能模块,分别与主控单元相连接,接收主控单元的命令从而实现其特有功能。需要的功能模块如下:用于为各个模块供电的电源模

5、块,其电源输出端分别连接上述各个模块的电源端;用于接收遥控命令的无线信号接收模块;用于避免障碍物的红外避障模块,用于测试垃圾高度的红外测试模块,用于自动感应人体靠近的红外感应模块;用于驱动电机工作的电机驱动模块;用于当垃圾桶内物品到达指定高度时,自动发出提醒声的语音控制模块。用于当人体靠近时自动开盖的轴承控制模块。1.2 设计方案的各模块关系框图及说明电源A红外避障模块C1电机驱动模块D红外测试模块C2主控单元G语音控制模块E红外感应模块C3轴承控制模块F遥控器B1无线信号无线模块B2图1各模块关系框图图1各模块关系框图各模块关系图如图1所示,电源模块A用于为各个模块供电的,其电源输出端分别连

6、接所用到的各个模块的电源端。当使用时,首先通过遥控器B1发送命令,此命令通过无线信号传输给无线电模块B2,无线模块B2将信号处理后传送至Arduino主控单元G,由主控单元G发送命令至电机驱动模块D,垃圾桶按照命令,在电机驱动模块D的驱动下实现前进、后退、左移、右移功能。在行驶过程中,距离障碍物20cm处,垃圾桶可通过红外避障模块C1感应前方障碍物,此模块发送命令至主控单元G,再发送给电机驱动模块指令,此时垃圾桶会向左或向右转弯,控制者可根据自己的方位对垃圾桶进行实时控制以使垃圾桶到达控制者附近,控制者向垃圾桶内扔垃圾,当手靠近垃圾桶时,垃圾桶可通过红外控制模块C3发送命令到主控单元G,再由主

7、控单元G发送命令到轴承控制模块F,使垃圾桶自动开盖,5秒后自动关盖。如果垃圾桶内物品装满时,可通过红外测试模块C2感应到垃圾桶内物品高度,如果桶内物品高度到达距桶盖5厘米处,红外测试模块C3可向主控单元G发送命令,主控单元G向语音控制模块E传输命令,使得语音控制模块E自动发出提醒声。2 .智能垃圾桶设计器材的选择由于时间及材料有限,我们仅利用红外避障模块和红外感应模块及Arduino板模拟了躲避障碍物,自动感应周围的人来自动开盖关盖的功能。所需材料如表一所示:表一设计所需器材说明表元件名称经委规格数量实物参考图Arduino开发板UnoR3_块1-T-WNT17个,吊.jl9V电池一块S<

8、;k5喻)K喻Ni321泮红外避障模块三个k红外测距模块夏普GP2Y0D805Z0一个L-P省3无线遥控模块OPENJUMPER蓝牙模两个a.c:一c耳w/JI块v2.0/-i-l*X:红外感应模块HC-SR501一块,HLS%1车体Openjumper小车车体套件一个1-扩展板UNO配套的传感器扩展板一个.“1*HP-1I1.j二IJC!111f二yf一一IM*''i-arlWO:!一E电机驱动openjumperL298电机驱动板一个面包板840孔无焊板一个1、»M«r,一,11县二1.una,修HibitIHriiealtb(Kaie»j1I

9、b»«.t.1.It.st._g111fcBM1一,J,J.4"J",J,“11二:;::=;:;i7i;二二二;:W二:*:二:二二,->.1.-MixMt-«ll.-II.二.一一ini!,ern",”",,tirMenman.a«fc.H蜂鸣器一个13面包板专用线指示灯LED灯2.1 芯片说明2.1.1 ArduinoUNO芯片ARDUXNO图2ArduinoUNO芯片实物图ArduinoUNO芯片,如图2ArduinoUNO是ArduinoUSB接口系列的最新版本,作为Arduino平台的参考标准模板

10、。UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可彳乍为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSPheader一个复位按钮。与51单片机相比,ArduinoUNO具有很多优势,例如功耗小、每个人模块是打包好的可以直接用,操作简单等等。所以在这里我们选用ArduinoUNO芯片。参考数据(1)处理器ATmega328(2)工作电压5V(3)输入电压(推荐)7-12V(4)输入电压(范围)6-20V(5)数字IO脚14(其中6路作为PWM输出)(6)模拟输入脚6IO脚直流电流40mA(8) 3.3V脚直流电流50

11、mA(9) FlashMemory32KB(ATmega328,其中0.5KB用于bootloader)(10) SRAM2KB(ATmega328)(11) EEPROM1KB(ATmega328)(12)工作时钟16MHz2.1.2HC-SR501芯片图3HC-SR501实物图红外感应模块可采用HC-SR501普通型人体红外感应模块热释电红外传感器。如图3其技术参数如下:(1)工作电压:DC5V至20V(2)静态功耗:65微安(3)电平输出:高3.3V,低0V(4)延时时间:可调(0.3秒18秒)(5)封锁时间:0.2秒(6)触发方式:L不可重复,H可重复,默认值为H(7)感应范围:小于1

12、20度锥角,7米以内(8)工作温度:-15+70度(9)PCB外形尺寸:32*24mm,螺丝孔距28mm,螺丝孔径2mm,感应透镜尺寸:(直径):23mm(默认)其功能特点如下:(1)全自动感应:当有人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平。输出低电平。(2)两种触发方式:L不可重复,H可重复。可跳线选择,默认为HoA.不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。B.可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,具输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每

13、一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。(3)具有感应封锁时间(默认设置:0.2秒):感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(4)工作电压范围宽:默认工作电压DC5V至20V(5)微功耗:静态电流65微安,特别适合干电池供电的电器产品。7.输出高电平信号:可方便与各类电路实现对接。把人体红外感应模块放在垃圾桶盖上,放在桶盖中心位置,一个即可。若有条件,

14、可放4个甚至跟多,均匀的放在桶盖边上,并联即可。2.1.3红外避障模块原理图4红外障传感器实物图如图4红外避障模块采用普通的红外障传感器,该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围280cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等

15、众多场合。其主要参数说明如下:(1)当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离280cm,检测角度35。,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。(2)传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。(3)传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO(4)比较器采用LM393、工作稳定;(5)可采用3-5V

16、直流电源对模块进行供电。当电源接通时,红色电源指示灯点亮;(6)具有3mm的螺丝孔,便于固定、安装;(7)电路板尺寸:3.1CM*1.5CM(8)每个模块在发货已经将阈值比较电压通过电位器调节好,非特殊情况,请勿随意调节电位器。模块接口说明(3线制)如下:(1) VCC外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)(2) GND外接GND(3) OUT小板数字量输出接口(0和1)这个模块的主体是三个红外传感器。只需要把三个红外传感器均匀的安装在小车上。2.1.4电源ArduinoUNO可以通过3种方式供电,而且能自动选择供电方式(1)外部直流电源通过电源插座供电。(2)电池

17、连接电源连接器的GND和VIN引脚。(3)USB接口直接供电。电源引脚说明:VIN-当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向UNO直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源。5V-通过稳压器或USB的5V电压,为UNO上的5V芯片供电。3.3V-通过稳压器产生的3.3V电压,最大驱动电流50mA0GND-地脚。2.1.5 遥控器和无线模块:图5蓝牙串口通信模块HC-05实物图OPENJUMPER蓝牙模块v2.0是主从一体的蓝牙串口通信模块HC-05,可通过AT模式改写其各参数。适用于Arduino与PC、手机等设备的无线连接,如图5所示。将蓝牙

18、模块通过USB传串口模块连接到电脑USB端口,可直接通过串口助手发送AT命令来配置蓝牙模块。设置好AT指令后,让蓝牙主机通过转用口模块连接电脑,蓝牙从机连接小车上。蓝牙处于工作状态,也就是AT引脚接低电平或者悬空(工作状态下,蓝牙state灯为快闪)此时蓝牙会自动搜索能够与之配对的模块,自动连接配对,配对成功后LINK灯变为常亮2.1.6 红外测距模块图6红外测距传感器实物图在垃圾桶盖的下方安装一个红外测距传感器,该传感器与主控单元连接,用来测试桶内垃圾高度,实物图如图6所示。2.1.7 电机驱动模块图7整体连接效果图先下载一个程序来为电机接线做准备。电机的2根线并没有正负之分,电机驱动板上的

19、M1,M2接线端子也不能确定应该对应左右哪一个电机然后要对uno下载一段程序,以方使我们对小车电机进行连线。效果图如图7所示。2.2设计说明由于时间和材料有限,我们利用小灯、面包板、HC-SR501普通型人体红外感应器、红外避障传感器等实验器材,编写了红外避障、红外感应模块的程序,并用小灯的亮灭检测两个模块是否能正常执行。各模块程序如下:电机测试程序:intINA=4;/电机A正反转控制端intPWMA=5;/电机A调速端intINB=7;/电机B正反转控制端intPWMB=6;/电机B调速端voidsetup()pinMode(INA,OUTPUT);pinMode(INB,OUTPUT);

20、配置电机输出IO口为输出voidloop()intvalue;for(value=20;value<=255;value+=2)循环每次速度增加2最大至U255motosp(-value,value);/速度赋值,左电机负值为反转,右电机正转。delay(50);voidmotosp(intsp1,intsp2)/声明电机速度控制函数。括号内定义的变量分别为左右电机速if(sp1>0)digitalWrite(INA,HIGH);elsedigitalWrite(INA,LOW);if(sp2>0)digitalWrite(INB,HIGH);elsedigitalWrite

21、(INB,LOW);analogWrite(PWMA,abs(sp1);analogWrite(PWMB,abs(sp2);功能:测试电机驱动功能和电机连线是否正确,左电机反转,右电机正转,电机转速由小到大。红外感应模块:intSensor=2;intina=13;voidsetup()pinMode(ina,OUTPUT);Serial.begin(9600);pinMode(Sensor,INPUT);/13引脚定义为输出/设置下载程序的串口的波特率为9600/2引脚定义为输入voidloop()intSensorState=digitalRead(Sensor);读取2引脚的电平whil

22、e(SensorState=1)SensorState=digitalRead(Sensor);卯脚为高电平时,设置13引脚为高digitalWrite(ina,HIGH);delay(1000);while(SensorState=0)延时1000ms/当2引脚为低电平时,设置13引脚为低SensorState=digitalRead(Sensor);digitalWrite(ina,LOW);delay(100);/延时100ms实验现象:当我们靠近此模块圆形凸面时,13引脚连接的小灯亮了并延时一段时间,过后小灯灭,也延时一段时间,在此期间内,在接近圆形凸面时,小灯不亮,过后会亮。这说明红

23、外感应模块能够正常工作。避障模块:intSensor1=2;intSensor2=4;intina=13;intinb=12;/定义输入、输出引脚voidsetup()pinMode(ina,OUTPUT);pinMode(inb,OUTPUT);Serial.begin(9600);pinMode(Sensor1,INPUT);pinMode(Sensor2,INPUT);void100P()intSensorStatel=digTalRead(Sensorl);读取数据intSensorState2=digitalRead(Sensor2);booleanWrite=true;/定义布尔变

24、量booleanBlack=true;if(SensorState1=1)Write=false;if(SensorState2=1)Black=false;if(Write&&Black)当量输入引脚同时为高时,两输出引脚为高digitalWrite(ina,HIGH);digitalWrite(inb,HIGH);delay(1000);digitalWrite(ina,LOW);/复位digitalWrite(inb,LOW);delay(100);实验现象说明:当芯片上红外发射管周围有障碍物时,12、13引脚连接的小灯同时亮,有障碍物时一直亮,障碍物除去以后,小灯灭。这

25、说明红外避障模块能够正常工作。二、课程设计工作记录1.设计步骤与时间安排(含调试步骤与时间安排)12月23日至12月27日,选课题,查阅资料,确定设计方案。12月28日至1月1日,根据设计方案,确定所需模块及器材,学习Arduino的编写语言,然后分模块编写程序。1月2至1月5日,通过实验板调试程序,纠正程序的功能错误,不断完善程序。1月6日,行答辩。1月7日至1月8日,交实习报告,修改实习报告。2.课题完成结果说明(1)程序实现了以下功能1)当避障模块周围出现障碍物时,连接的小灯点亮,障碍物移走,小灯灭,反应比较灵敏。2)当红外感应模块周围有人活动时,连接的小灯点亮,亮一段时间后,小灯灭并延时,再次期间,再有人活动小灯不亮,过了延时期,才会正常感应。3)通过量模块小

温馨提示

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

评论

0/150

提交评论