华东交通大学机械工程测试技术课程设计_第1页
华东交通大学机械工程测试技术课程设计_第2页
华东交通大学机械工程测试技术课程设计_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、测试技术课程设计课题:基于arduino的超重警报装置学院:机电与车辆工程学院专业班级:车辆丄程姓 名:学 号:一、设计目的 3二、设计要求3三、设计任务3四、电路的总体结构 4五、课程设计进度7六、标定7七、学习心得 8附录一:9设计目的1. 学会应用Arduino设计一个在超重时会有警报音和信息显示的装置。2. 能够通过设计掌握独立分析和解决实际问题的能力。3. 通过设计掌握Arduino的使用,并了解压力传感器的工作原理。4. 学会使用和查找设计有关的书籍和资料。5. 学会撰写课程设计总结报告,培养阐述,写作与表达能力。二、设计要求1. 测试技术基础的基本理论为指导,将设计实验分为电路设

2、计和编程,电路 设计是指将Arduino与压力传感器连接起来,并连接其他模块设计出超重警报器 的装置;编程指通过Arduino软件对系统发出指令实现物体超重时发出警报声和液晶屏显示的双提醒的功能。2. 使用Arduino,并了解压力传感器的原理。3. 学会使用液晶屏和分辨率的调整以及对整个测试系统的调试。三、设计任务设计一个测试物体重量的电路,测定物体重量并判断该物体是否超重, 通过 放大电路对信号进行放大,并通过结论对其进行相应的处理,未超重则显示测得 重量;超重则液晶屏显示超重蜂鸣器响。四、电路的总体结构1.电路的总体功能框图,如图1所示图1功能框图2. 图中所使用的AD转换模块是个24b

3、it的AD模块,24bit的AD读出来的 值为0-16777216 (2的24次方),如果用5v是基准电压,则其中 AD值的1 表示5/16777216=0.000298mV ,所以24bit的AD去读取 mv左右的变化完全 可以。其内部自带放大,可以把输入信号放大 128倍,然后再做处理。3、LCD1602液晶显示屏,能够同时显示16x2即32个字符(16列2行)。1602液晶显示屏也叫1602字符型液晶显示屏,它是一种专门用来显示字母、 数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,

4、起到了字符间距和行间距的作用,正因为如此所以它不能很好地显 示图形,但是可以很好的显示字符。LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。示容星;16X2个字苻芯片工作电压;4. 57 5V工作电瀛:Z0mA(5 0V)模块说愫工作电压:5. 0V字符尺寸;2. 95K4. 35 (WXH)nn表1LCD1602液晶显示屏主要技术参数图2LCD1602液晶显示屏实物图娟号紡号引脚说明编号引御说明1VSSt02Data I/O2VOD电涯正樋0防Data 1/03VL液晶显示Ifi压怡号IID4Data 1 04RS菽据/曲令选择塔H.L)12

5、ID5Data I/O513D5Data I/O6E便能信号14Data I/O700Data I/O15BLA背光懣正械aD1Ddtd I/O16BLK背光灌负襁表2LCD1602液晶显示屏引脚说明其与Arduinod主板连接电路图如图3所示。其中有引脚V0需要接入LCD调整电压来调节对比度,对比度过高或过低均 会使屏幕无法正常显示,会显示一片黑或者一片亮光,我采用接入滑动电阻器进 行调整以正常显示。图3LCD1602液晶显示屏与Arduin4. 超重报警装置实现的原理非常简单, 一句话表述就是:压力传感器有一个 自己的限值(5kg),当质量未超过限值5kg时,液晶屏则会显示该物体的重量,

6、蜂鸣器不会发出声响;当物体质量超过限值 5kg时,液晶屏则会显示“ over”字 样,同时蜂鸣器发出声响来提醒超重,当物体离开传感器,蜂鸣器响声延迟两秒。 当超重时,液晶屏上虽不显示重量,但在电脑上可以进行串口显示超重时的重量, 这样就可以进行远程警报。图4压力传感器5.所需器件:Arduino线电阻若干等等。、压力传感器、面包板、液晶显示屏、蜂鸣器、电五、课程设计进度准备好需要的模块,将线路接好,写好程序基本实现超重报警的功能, 并用 液晶显示屏显示出来,用蜂鸣器来提醒是否超重。六、标定本系统所采用的是压力传感器,内部采用 AD转换模块,其输出信号已经经 过其模块内部信号调理电路(放大电路)

7、进行处理,再通过其程序进行计算和处 理,就能够得到关于距离测重物体的重量的数据,不用特别进行标定。七、学习心得在本次小作品的制作过程中,我通过视频学习,对各个模块的连线和编程 有了大致的了解。例如:LCD1602液晶显示屏、压力传感器的使用等。通过本 次的制作,我学会了制作一个简单测试系统所需要的步骤先是编写程序和连线,然后标定误差分析。刚开始所设想的功能最终觉得实现起来太简单,所以想多添 加几个功能,就需要多加几种程序。在编写程序过程中,能更好的理解各个模块 之间的联系以及数据是如何进行传输的。 Arduino是一个开源的系统,可以通过 互联网下载免费获得库文件,从而大大简化了程序开发工作。

8、对于初学者来说比 较好入门。我就是通过老师给的视频以及网上的资源来完成本次制作。连线主要是对着引脚图,像LED的连线会相对来说复杂一些,因为要连很多根线比较多的 引脚,还要接入电阻调节背光。因为背光太亮或者太暗就会看不清你所要显示的 东西。其他模块的连线都比较简单。主要问题还是在编写程序上,一开始对于程 序不是很懂也不知道怎么把各个模块连接在一起,然后向同学求教,大致对程序有个了解,然后开始把各个模块的程序拼接在一起, 为了方便自己和别人易于迅 速的读懂我的程序,还在程序必要的地方加上的注解。附录一:程序:#in elude "HX711.h"#i nclude <L

9、iquidCrystal.h>#defi ne TrigPin 6#defi ne EchoP in 7#defi ne FM 8#defi ne Buzzer 9LiquidCrystal lcd(12,11,5,4,3,2);int Weight = 0;void setup()Serial.begi n(9600);pinMode(TrigPin, OUTPUT);pi nM ode(EchoPi n, INPUT);lcd.begin(16,2);/ 初始化 LCD1602lcd.print("start");/ 液晶显示 startdelay(2000);/

10、 延时 1000mslcd.clear();/pinMode(FM,OUTPUT); 为 IO 带上拉输入Init_Hx711();/初始化HX711模块连接的IO设置Serial.begi n(9600);Serial.pri nt("Welcome to use!n");/获取毛皮Get_Maopi();delay(3000);pi nM ode(Buzzer,OUTPUT); digitalWrite(Buzzer,LOW); / void loop() Weight = Get_Weight();Serial.pri nt(Weight);Serial.pri nt

11、(" gn");蜂鸣器初始为不鸣叫/蜂鸣器为10输出/计算放在传感器上的重物重量/串口显示重量/显示单位delay(1000);/ 延时 1sif(Weight>5000)lcd.clear();lcd.setCursor(0,1);lcd.pri nt("over"); digitalWrite(Buzzer,HIGH); delay(2000);digitalWrite(Buzzer,LOW);if(5000>Weight )/&& Weight>0/设置液晶开始显示的指针位置/蜂鸣器响/延时20ms/蜂鸣器关闭 lcd.clear();lcd.setCursor(0,1);lcd.setCursor(0,0);lcd.pri nt("g=");lcd.setCursor(0,1);/设置液晶开始显示的指针位置/液晶显示“ g = ”/设置液晶开始显示的指针位置Icd.pri nt(Weight);lcd.setCursor(4,1);Icd.pri

温馨提示

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

评论

0/150

提交评论