版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 Arduino简单实验 目录4.1 LED灯实验4.2 开关按键实验4.3 电机控制实验4.4 LCD显示实验4.5 设计游戏Jumping Pong4.1 Arduino开发环境 4.1.1 材料清单4.1.2 调试代码图4-1为实验的原理图图4-1原理图4.1.2 调试代码 按照右图连接好电路后,就可以开始编写程序了。程序需要让LED小灯闪烁,实现点亮1秒熄灭1秒。这个程序很简单,与Arduino自带的例程里的Blink相似,只是将13数字接口换做10数字接口。图4-2实物图4.1.3 调试代码编好后,单机下载到Arduino,Arduino的编程界面就会出现下列代码。void s
2、etup()pinMode(10,OUTPUT);void loop()digitalWrite(10,!(HIGH);delay(1000);digital Write(10,!(LOW);delay(1000);紧接着就可以看到接到I/O口10脚上的高亮LED灯模块在闪烁了,小灯闪烁实验就完成了。注意:Arduino开发软件的选择工具栏板卡的选项是Uno,通信端口要选择初次安装出现的串口,两项缺一不可,否则不能下载程序。图4-3 Arduino的编程界面4.1.4 拓展训练流水灯,用八个LED,呈现多种流水效果。图4-4 实物图4.2 开关按键实验4.2.1 材料清单4.2.2 实验原理图
3、4-5 按键开关4.2.3 硬件调试图4-6 连接图按照单键控制LED连接原理图连接好电路。按键开关的一端连接5V,另一端接模拟输入的0号端口;LED阳极串联220限流电阻后连接数字13号端口,阴极连接到地。连接图如图4-6所示。4.2.4 程序设计2.程序源码pinMode(LED,OUTPUT); /设置数字I/0引脚为输出模式void loop()int i;while(1)i=analogRead(A0); /读取模拟0口电压值 if(i1000) / 如果电压值大于1000(即4.88V) digitalWrite(LED,HIGH); /设置第13引脚为高电平,点亮LED灯else
4、 digitalWrite(LED,LOW); /设置第13引脚为低电平,熄灭LED灯 3.调试及实验现象图4-8单键控制LED实物连接图4.2.5拓展训练完成上述实验后,会发现一个问题,要想LED一直亮着就必须一直按着按键不放,很显然这是一个不切实际的做法,所以现在要实现的功能就是当按下按键并放开后,LED仍然会一直亮着。要想达到这个目的,在不修改硬件连接的情况下,只需要对程序进行适当的修改即可(定义了state变量用来保存按键按下的状态)。下面为修改后的参考程序源代码:#define LED 13#define sw 7int val=0;int old_val=0;int state=0
5、; /定义状态位void setup() pinMode(LED,OUTPUT); pinMode(sw,INPUT);void loop() val=digitalRead(sw);if(val=HIGH)&(old_val=LOW) state=1-state; /状态位取反 delay(10);old_val=val;if(state=1) digitalWrite(LED,HIGH);else digitalWrite(LED,LOW); 将上述代码下载到开发板上后,可以发现,当按下按键并松开后,LED灯不会熄灭,而是一直亮着。该功能的实现主要归功于上述参考程序中定义的state变量保
6、存了按键按下的状态。4.3电机控制实验4.3.1 材料清单4.3.2 实验原理随着数字化技术的发展,数字控制技术得到了广泛而深入的应用。步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件,具有快速启动和停止的特点。 因为步进电动机的控制系统结构简单,价格低廉,性能上满足工业控制的基本要求,所以广泛地应用于手工业自动控制,数控机床,组合机床,机器人,计算机外围设备,照相机,投影仪,数码摄像机,大型望远镜,卫星天线定位系统,医疗器件以及各种可控机械工具等。 直流电机广泛应用于计算机外围设备(如磁盘,软盘和光盘存储器),家电产品,医疗器械和电动车上,无刷直流电机的转子普遍使用永磁材料组成
7、的磁钢,在航空,航天,汽车,精密电子等行业 被广泛应用。在电工设备中的应用,除了直流电磁铁(直流继电器,直流接触器等)外,最重要的就是在直流旋转电机中的应用。在发电场里,同步发电机的励磁机,蓄电池的充电机等,都是直流发电机;锅炉给粉机的原动机-是直流电动机。此外,在许多工业应用场合,列如大型轧钢设备,大型精密机床,矿井卷扬机,市内电车,电缆设备等严格要求线速度一致的地方,通常都采用直流电动机作为原动机来拖动工作机械。直流发电机通常作为直流电源,向负载输出电能;直流电动机则作为原动机带动各种生产机械工作,向负载输出机械能。在控制系统中,直流电机还有其他的用途,例如测速电机,伺服电机等,它们都是利
8、用电和磁的相互作用来实现向机械能的转换。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机就转过一个步距角。由于这一线性关系的存在,加上步进电机具有只有周期性的误差而无累计误差等特点,所以步进电机在速度,位置控制等领域应用广泛,使用步进电机后使很多原本复杂的控制变得非常简单。 一般采用软件延时的方法来对步进电机的运行速度,步数及方向进行控制。根据计算机所发出脉冲的频率和数量所需的时间来设计一个字程序,该子程序包含一定的指令,设计者通常要对这些指令的执行时间进行严密
9、的计算或者精确的测试,以便确定延长时时间是否符合要求, 每当子程序结束后,可以执行下面的操作。采用软件延时方式时,cpu一般被占用,cpu利用率低,这些许多场合是非常不利的。因此需要重新设计步进电机的控制程序,采用pcl-812PG数据采集卡,利用812PG卡中自带的可编程计数/定时器8254及其他逻辑电路器件,设计一种步进电机控制方式,仅需要几条简单的指令就可以产生具有一定频率和数目的脉冲信号。可编程的硬件定时器直接对系统时脉冲或某一固定频率的时钟脉冲进行计数,计数值则由编程决定。当计数到预定的脉冲数时,给出定时时间到的信号,得到所需的延时时间或定时间隔,由于计数的初始值由编程决定,因此在不
10、改动硬件的情况下,只通过程序的变化即可满足不同的定时和计数要求,使用很方便。 4.3.3 硬件调试4.3.4 程序设计1.步进电机实验软件流程自增自减运算符是一类特殊的运算符,其中,自增运算符(+)和自减运算符(-)对 变量的操作结果是增加1和减少 1。图4-10步进电机试验软件流程图2.步进电机实验程序#include /这里设置步进电机旋转一圈是多少步#define STEPS 100/设置步进电机的步数和引脚Stepper stepper(STEPS, 8, 9, 10, 11);/定义变量用来存储历史读数int previous = 0;void setup() /设置电机每分钟的转速
11、为90步 stepper.setSpeed(90);void loop() int val = analogRead(0); /移动步数为当前读数减去历史读数 stepper.step(val - previous); /保存历史读数 previous = val; 4.3.5 拓展训练 1.直流电机的工作原理直流电机是指能将直流电能转换成机械能的机械设备,因其良好的调速性能而在电力拖动中得到广泛应用。直流电动机按励磁方式分为永磁,它励和自励三类,其中自励又分为并励,串励和复励3种。本文不对直流电机原理进行深入研究,只是大概介绍一下。其实在本实验主要是关注直流电机是有刷电机还是无刷电机,因为有
12、刷电机干扰很大,会对Arduino以及其他外围芯片造成干扰,甚至会导致芯片复位,所以只从有刷和无刷这两类大致进行介绍。 (1)有刷直流电动机。 有刷电动机的2个刷(铜刷或者钢刷)是通过绝缘座固定在电动机后盖上,直接将电源的正负极引入到转子的换相器上,而换相器连通了转子的线圈,3个线圈极性不断地交替交换与外壳上固定的2块磁铁形成作用力而转动起来。由于换相器与转子固定在一起,而刷与外壳(定子)固定在一起,电动机转动时刷与换相器不断地发生摩擦产生大量的阻力与热量。所以,有刷电机效率较低。但是,它具有制造简单,成本低廉的优点。 (2)无刷直流电动机 无刷直流电动机是将普通直流电动机的定子与转子进行了互
13、换。其转子为永久磁铁,产生气隙磁通;定子为电枢,由多相绕组组成。在结构上,它与永磁同步电动机类似。无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同,在铁芯中嵌入多相绕组(三相,四相,五相不等),绕组可接成星行或三角形,并分别与逆变器的各种率管相连,以便进行合理换相。转子多采用钐钴或钕铁硼等高娇顽力,高剩磁密度的稀土料,由磁极中磁性材料所放位置的不同,可以分为表面式磁极,嵌入式磁极和环形磁极。由于电动机本机为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷电动机。2.驱动芯片 驱动步进电机用的是ULN2003。由于只用了4个引脚,ULN2013还有3个空闲的驱动引脚。另外,为了使电路
14、简单,就直接用ULN2003剩余的一个引脚来驱动了。因此,也只能驱动电机朝一个方向转动。3.驱动电路由于使用的是直流电机,干扰较大,驱动电路就要多作一些消除干扰的设计,常见的有在电机两端串联手感,加电容等方法。这里只加了续流二极管和电容,如图4-11所示,其中Arduino的12脚接ULN2003的第7脚。图4-11 电路图4.4 LCD显示实验4.4.1 材料清单4.4.2 实验原理液晶显示器简称LED(liquid crystal display),其结构是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控
15、制液晶分子的转动方向,从而达到每个像素带点偏振光出射的目的。现在LED已经替代CRT成为主流,价格已经下降了很多,其普及速度相当快。1602液晶也叫1602字符型液晶,是指显示的内容为16*2(即可以显示两行),每行16个字符的液晶模块(显示字符和数字),是一种专门来显示字母,数字,符号等的点阵型液晶模块。它由若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到字符间距和行间距的作用。因此。1502型液晶不能很好地显示图形(用自定义CGRAM,显示效果也不好),但非常适合便携式及低功耗测试设备。市面上的字符型液晶大多数是基
16、于HD44780液晶芯片的,控制原理完全相同,因此基于HD44780所编写的控制程序可以很方便地应用于市面上大部分的字符型液晶。本实验是驱动1602液晶显示文字。 4.4.3 硬件调试4.4.4 程序设计4.5 Jumping Pong4.5.1 功能构思Jumping pong.主要功能包括以下几个方面的内容:(1)8乘8点阵的应用 (6)光敏电阻实现光控开关。(2)红外遥控的接收与发射。(7)模块连接。(3)语音模块的使用。(4)1602LCD显示屏显示分数。(5)游戏摇杆模块实现球拍移动。4.5.2 设计原理1.设计思路将游戏代码封装在一个函数game中,改变gane中控制球速的代码将游
17、戏分为不同等级和单双人模式,在游戏开始前,先判断周围环境的光照强度,当光强大于一定值时再继续执行紧接着的功能。之后,判断是否接到红外信号,当接收到特定值得信号时,调用game函数,游戏开始。每当球碰到一次拍子,分数就自动加1,实现计分功能。当一方未接到球时,游戏结束,显示分数及下一步功能选择。如此反复,在游戏进行中,不断刷新光敏电阻的值,判断是否符合光强条件,以保证游戏功能正常运行。2.各模块电路连接 所需材料:Arduino主板和扩展板(各1个),88点阵(1个),MAX7219驱动芯片(1个),面包板(2块),LCD显示屏(1个),语音模块(1个),导线若干,游戏摇杆模块(2个),小喇叭(1个),红外线遥控和光敏电阻(各1个)。电路连接分为88点阵部分,红外线遥控都分,光敏电阻部分,1602LCD显示屏部分及总体电路,分别如图4-14、4-15、4-16、4-17所示。图4-14 8*8点阵连接Arduino UNO图4-15 红外遥控部分图4-16光敏电阻部分图4-17 LCD显示屏部分4.6打地鼠游戏机设计一个打地鼠游戏机,该设计中4个LED灯,对应4个按键,每秒生成一个14的随机数,对应点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息化中心网络安全应急演练实施方案范文
- 2025年行政执法人员政治理论和法律知识考试试题及答案
- (完整)组织行为学期末考试试题及答案
- 飞行员知识教学课件
- 人工智能语音识别系统设计原则
- 电气工程基础理论测验试卷
- 书法文化知识专业测试试题及真题
- 2025年高考英语语法知识点梳理考试及答案
- 中国文化产业现状与未来发展趋势试题考试
- 水务设施设计规范与施工管理(标准版)
- 云南省昆明市2026届高三三诊一模摸底诊断测试数学试卷(含答案)
- 古代文学八股文课件
- 正压式消防空气呼吸器培训
- 2025年产品成本核算实操培训
- 延边大学本科生毕业论文(设计)撰写规范
- 粉笔线上协议班 合同
- 行测题库5000题及答案
- 2025年职高对口升学c语言试题及答案
- 设备部应急管理制度
- 软土路基换填施工方案
- 代收款三方协议
评论
0/150
提交评论