




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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所示。AD模块内含放大电路Arduino压力传感器
3、带质量物体蜂鸣器液晶显示屏图1 功能框图2.图中所使用的AD转换模块是个24bit的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 个字符液晶模块(显示字符和数字)。表1 LCD1602 液晶显示屏主要技术参数图2 LCD1602液晶显示屏实物图表2 LCD1602 液晶显示屏引脚说明 其与Arduinod主板连接电路图如图3所示。其中有引脚V0 需要接入LCD 调整电压来调节对比度,对比度过高或过低均会使屏幕无法正常显示,会显示一片黑或者一片亮光,我采用接入滑动电阻器进行调整以正常显示。图3
5、 LCD1602液晶显示屏与Arduin4.超重报警装置实现的原理非常简单,一句话表述就是:压力传感器有一个自己的限值(5kg),当质量未超过限值5kg时,液晶屏则会显示该物体的重量,蜂鸣器不会发出声响;当物体质量超过限值5kg时,液晶屏则会显示“over”字样,同时蜂鸣器发出声响来提醒超重,当物体离开传感器,蜂鸣器响声延迟两秒。当超重时,液晶屏上虽不显示重量,但在电脑上可以进行串口显示超重时的重量,这样就可以进行远程警报。 图4 压力传感器 5.所需器件: Arduino、压力传感器、面包板、液晶显示屏、蜂鸣器、电线电阻若干等等。五、课程设计进度准备好需要的模块,将线路接好,写好程序基本实现
6、超重报警的功能,并用液晶显示屏显示出来,用蜂鸣器来提醒是否超重。六、标定本系统所采用的是压力传感器,内部采用AD转换模块,其输出信号已经经过其模块内部信号调理电路(放大电路)进行处理,再通过其程序进行计算和处理,就能够得到关于距离测重物体的重量的数据 ,不用特别进行标定。七、学习心得 在本次小作品的制作过程中,我通过视频学习,对各个模块的连线和编程有了大致的了解。例如: LCD1602液晶显示屏、压力传感器的使用等。通过本次的制作,我学会了制作一个简单测试系统所需要的步骤先是编写程序和连线,然后标定误差分析。刚开始所设想的功能最终觉得实现起来太简单,所以想多添加几个功能,就需要多加几种程序。在
7、编写程序过程中,能更好的理解各个模块之间的联系以及数据是如何进行传输的。Arduino是一个开源的系统,可以通过互联网下载免费获得库文件,从而大大简化了程序开发工作。对于初学者来说比较好入门。我就是通过老师给的视频以及网上的资源来完成本次制作。连线主要是对着引脚图,像LED的连线会相对来说复杂一些,因为要连很多根线比较多的引脚,还要接入电阻调节背光。因为背光太亮或者太暗就会看不清你所要显示的东西。其他模块的连线都比较简单。主要问题还是在编写程序上,一开始对于程序不是很懂也不知道怎么把各个模块连接在一起,然后向同学求教,大致对程序有个了解,然后开始把各个模块的程序拼接在一起,为了方便自己和别人易
8、于迅速的读懂我的程序,还在程序必要的地方加上的注解。附录一:程序:#include "HX711.h"#include <LiquidCrystal.h>#define TrigPin 6#define EchoPin 7/#define FM 8#define Buzzer 9LiquidCrystal lcd(12,11,5,4,3,2);int Weight = 0;void setup() Serial.begin(9600);pinMode(TrigPin, OUTPUT);pinMode(EchoPin, INPUT); lcd.begin(16,2
9、);/初始化LCD1602 lcd.print("start");/液晶显示start delay(2000);/延时1000ms lcd.clear(); /pinMode(FM,OUTPUT);/为IO带上拉输入Init_Hx711();/初始化HX711模块连接的IO设置Serial.begin(9600);Serial.print("Welcome to use!n"); Get_Maopi();/获取毛皮delay(3000);Get_Maopi();/获取毛皮pinMode(Buzzer,OUTPUT); digitalWrite(Buzze
10、r,LOW);/蜂鸣器初始为不鸣叫/蜂鸣器为IO输出void loop()Weight = Get_Weight();/计算放在传感器上的重物重量Serial.print(Weight);/串口显示重量Serial.print(" gn");/显示单位delay(1000);/延时1sif(Weight>5000) lcd.clear(); lcd.setCursor(0,1);/设置液晶开始显示的指针位置 lcd.print("over");digitalWrite(Buzzer,HIGH);/蜂鸣器响 delay(2000);/延时20ms digitalWrite(Buzzer,LOW);/蜂鸣器关闭 if(5000>Weight )/&& Weight>0 lcd.clear(); lcd.setCursor(0,1); lcd.setCursor(0,0);/设置液晶开始显示的指针位置 lcd.print("g=");/液晶显示“g =” lcd.setCursor(0,1);/设置液晶开始显示的指针位置 lcd.print(Weight); lcd.setCursor(4,1); lcd.print("
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修工期承诺方案(3篇)
- 先进生产班组管理制度
- 宾馆客房怎样管理制度
- 学校培训食堂管理制度
- 公司卫生安全管理制度
- 情医疗采购方案(3篇)
- 办公室标准化管理制度
- 小区楼道广告管理制度
- 材料设备配置方案(3篇)
- 土鸡销售策划方案(3篇)
- 移动基站物业协调方案
- 岩土锚杆技术规程课件
- 技术服务合同(中国科技部范本)
- VDA6.3过程审核检查表(中英文版)
- 城市轨道交通客运组织电子教案(全)完整版课件整套教学课件
- GB∕T 33917-2017 精油 手性毛细管柱气相色谱分析 通用法
- 高压氧治疗操作规程以及护理常规
- 高中人教物理选择性必修二专题05 单双杆模型-学生版
- 二手车评估作业表简单实际样本
- 人民币小学学具图
- 新能源汽车的研究论文
评论
0/150
提交评论