实验报告.docx

上传人:b****4 文档编号:5476410 上传时间:2022-12-16 格式:DOCX 页数:12 大小:341.08KB
下载 相关 举报
实验报告.docx_第1页
第1页 / 共12页
实验报告.docx_第2页
第2页 / 共12页
实验报告.docx_第3页
第3页 / 共12页
实验报告.docx_第4页
第4页 / 共12页
实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

实验报告.docx

《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

实验报告.docx

实验报告

实验1闪烁LED灯

1、实验器件

LED灯:

1个

220Ω的电阻:

1个

多彩面包板实验跳线:

若干

1)面包板介绍

套件中包含的面包板可以配合Arduino各种型号的ProtoShield(原型扩展板),自带双面粘胶,可以粘贴到各种开发板、扩展板上,也可粘贴到各种轮式机器人或履带式机器人基板上实现个性化功能调试,体积小巧,仅有45mm×35mm(1.8"x1.4")大小,是Arduino互动媒体爱好者、机器人发烧友、电子爱好者和电子工程师必备用品。

它一共具有170个插孔,10行17列。

以中间的长槽为界分成上、下两部分,每一部分都是5行17列。

在每一部分中的每一列有5个插孔,这5个插孔的底部是一个金属簧片,因此插入这5个孔内的导线就被金属簧片连接在一起,每列的5个孔是连通的,而每一行的17个孔是不通的。

2)发光二极管介绍

发光二极管简称为LED。

由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。

磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。

发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。

当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。

不同的半导体材料中电子和空穴所处的能量状态不同。

当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。

常用的是发红光、绿光或黄光的二极管。

发光二极管的反向击穿电压约5伏。

它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。

限流电阻R可用下式计算:

R=(E-VF)/I;

式中E为电源电压,VF为LED的正向压降,I为LED的一般工作电流。

发光二极管的工作电压一般为1.5~2.0V,其工作电流一般为10~20mA。

所以在5v的数字逻辑电路中,可使用220Ω的电阻作为限流电阻。

2、实验连线

按照Arduino使用介绍将控制板、PrototypeShied板子、面包板连接好,下载线插好。

最后,将发光二级管的正极连接到数字I/O口的第8引脚,负极与GND引脚相连。

实验连接图如下图1.1所示。

 

图1.1闪烁的LED灯实验接线图

3、实验原理

先设置数字8引脚为高电平点亮LED灯,然后延时1s,接着设置数字8引脚为低电平熄灭LED灯,再延时1s。

这样使LED灯亮1s、灭1s,在视觉上就形成闪烁状态。

如果想让LED快速闪烁,可以将延时时间设置的小一些,但不能过小,过小的话人眼就识别不出来了,看上去就像LED灯一直在亮着;如果想让LED慢一点闪烁,可以将延时时间设置的大一些,但也不能过大,过大的话就没有闪烁的效果了。

4、实验步骤及代码

1)打开Arduino0023文件夹,里面有一个标有Arduino.exe图标,双击打开会出现软件编码界面,可以在窗口的空白处编写程序了。

2)点击编译按钮,这时编译按钮会发成黄色,下面出现英文compiling.....,这表示软件正在对程序进行编译,等待一会,编译按钮恢复原来的状态,下面出现Donecompiling,最下面一段文字说明编写的程序共有896字节数。

这表明,程序编译成功,并且没有语法上的错误。

3)下载程序前先将板子型号和com口选好。

点击Tools->Board选择开发板型号,由于使用的是Arduino328控制板,所以点击第二个即可。

接下来选择串口,选择的串口是COM3。

4)点击Arduino软件上的下载按钮,点击之后下载按钮变成橙色,软件下方出现UploadingtoI/OBoard,同时板子上标有TX和RX的灯会亮,程序下载完毕后,下载按钮恢复原来的颜色,下面出现DoneUploading。

如果没有显示DoneUploading,而是出现了红色的字,表示下载失败,可以检查一下USB线是否连接好、电源开关是否打开、COM口是否选对等等。

5)代码如下:

intLEDPin=8//设定控制LED的数字I/O脚

voidsetup()

{

pinMode(LEDPin,OUTPUT);//设定数字I/O口的模式,OUTPUT为输出

}

voidloop()

{

digitalWrite(LEDPin,HIGH);//设定PIN8脚为HIGH=5V左右

delay(1000);//设定延时时间,1000=1秒

digitalWrite(LEDPin,LOW);//设定PIN8脚为LOW=0V

delay(1000);//设定延时时间,1000=1秒

}

5、实验结果

将程序下载到实验板后我们可以观察到,发光二极管以1s的时间间隔不断的闪烁。

6、实验分析

从Arduino教程中我们可以知道,Arduino语句是以setup()开头,loop()作为主体的一个程序框架。

setup()是用来初始化变量,管脚模式,调用库函数等等,此函数只运行一次。

本程序在setup()中用数字I/O口输入输出模式定义函数pinMode(pin,mode),将数字的第8引脚设置为输出模式。

loop()函数是一个循环函数,函数内的语句周而复始的循环执行,本程序在loop()中先用数字I/O口输出电平定义函数digitalWrite(pin,value),将数字8口定义为高电平,点亮LED灯;接着调用延时函数delay(ms)(单位ms)延时1000ms,让发光二极管亮1s;再用数字I/O口输出电平定义函数digitalWrite(pin,value),将数字8口定义为低电平,熄灭LED灯;接着再调用延时函数delay(ms)(单位ms)延时1000ms,让发光二极管熄灭1s。

因为loop()函数是一个循环函数,所以这个过程会不断的循环。

 

实验2蜂鸣器

1、实验器件

蜂鸣器:

1个

多彩面包板实验跳线:

若干

1)蜂鸣器介绍

蜂鸣器是一种一体化结构的电子器件,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

按其驱动方式的不同,可分为:

有源蜂鸣器(内含驱动线路)和无源蜂鸣器(外部驱动)有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。

还有一种判断有源蜂鸣器和无源蜂鸣器的方法,可以用万用表电阻Rxl档测试:

用黑表笔接蜂鸣器"+"引脚,红表笔在只一引脚上来回碰触,如果觉发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几欧以上的,是有源蜂鸣器。

有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。

按构造方式的不同,可分为:

电磁式蜂鸣器和压电式蜂鸣器;压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。

有的压电式蜂鸣器外壳上还装有发光二极管。

多谐振荡器由晶体管或集成电路构成。

当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。

在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。

电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。

接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。

振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。

2)蜂鸣器工作原理

蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,本实验用的蜂鸣器内部带有驱动电路,所以可以直接使用。

当与蜂鸣器连接的引脚为高电平时,内部驱动电路导通,蜂鸣器发出声音;当与蜂鸣器连接的引脚为低电平,内部驱动电路截止,蜂鸣器不发出声音。

2、实验连线

按照Arduino教程将控制板、Prototypeshield板子、面包板连接好,下载线插好。

将蜂鸣器的正极连接到数字7口,蜂鸣器的负极连接到GND插口中。

连接如图2.1所示。

图2.1蜂鸣器实验连接图

3、实验原理

蜂鸣器发出声音的时间间隔不同,频率就不同,所以发出的声音就不同。

根据这一原理我们通过改变蜂鸣器发出声音的时间间隔,来发出不同种声音,来模拟各种声音。

本程序首先让蜂鸣器间隔1ms发出一种频率的声音,循环80次;接着让蜂鸣器间隔2ms发出只一种频率的声音,循环100次。

4、实验步骤及代码

步骤1)、2)、3)、4)同实验1,略

5)代码如下:

intbuzzer=8;//设置控制蜂鸣器的数字I/O脚

voidsetup()

{

pinMode(buzzer,OUTPUT);//设置数字I/O脚模式,OUTPUT为输出

}

voidloop()

{

unsignedchari,j;//定义变量

while

(1)

{

for(i=0;i<80;i++)//输出一个频率的声音

{

digitalWrite(buzzer,HIGH);//发声音

delay

(1);//延时1ms

digitalWrite(buzzer,LOW);//不发声音

delay

(1);//延时ms

}

for(i=0;i<100;i++)//输出只一个频率的声音

{

digitalWrite(buzzer,HIGH);//发声音

delay

(2);//延时2ms

digitalWrite(buzzer,LOW);//不发声音

delay

(2);//延时2ms

}

}

}

5、实验结果

将程序下载到实验板后我们可以听到,蜂鸣器发出救护车警笛声。

6、实验分析

在loop()中用的while是一个循环语句,一般形式:

while(表达式)

语句

表达式是循环条件,语句是循环体。

语义是:

计算表达式的值,当值为真(非0)时,执行循环体语句。

作用:

实现“当型”循环。

当“表达式”非0(真)时,执行“语句”。

“语句”是被循环执行的程序,称为“循环体”。

实验3数码管

1、实验器件

数码管:

1个

220Ω的电阻:

8个

多彩面包板实验跳线:

若干

数码管介绍

数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

2)工作原理

数码管的每一段是由发光二极管组成,所以在使用时跟发光二极管一样,也要连接限流电阻,否则电流过大会烧毁发光二极管的。

本实验用的是共阳极的数码管,共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

2、实验连线

按照Arduino教程将控制板、Prototypeshield板子、面包板连接好,下载线插好。

按数码管的接法将数码管g段通过限流电阻与数字9引脚相连,f段通过限流电阻与数字8引脚相连,共阳极与5V插口相连,同样的接法a、b分别接7、6引脚,e、d分别接10、11引脚,第二个共阳极可以不接,c、DP分别接5、4引脚,连线完毕。

连接如图3.1所示。

图3.1数码管实验连接图

3、实验原理

数码管共有七段显示数字的段,还有一个显示小数点的段。

当让数码管显示数字时,只要将相应的段点亮即可。

例如:

让数码管显示数字1,则将b、c段点亮即可。

将每个数字写成一个子程序。

在主程序中每隔2s显示一个数字,让数码管循环显示1~8数字。

每一个数字显示的时间由延时时间来决定,时间设置的大些,显示的时间就长些,时间设置的小些,显示的时间就短。

4、实验步骤及代码

步骤1)、2)、3)、4)同实验1,略

5)代码如下:

//设置控制各段的数字I/O脚

inta=7;

intb=6;

intc=5;

intd=11;

inte=10;

intf=8;

intg=9;

intdp=4;

//显示数字1

voiddigital_1(void)

{

unsignedcharj;

digitalWrite(c,LOW);//给数字5引脚低电平,点亮c段

digitalWrite(b,LOW);//点亮b段

for(j=7;j<=11;j++)//熄灭其余段

digitalWrite(j,HIGH);

digitalWrite(dp,HIGH);//熄灭小数点DP段

}

//显示数字2

voiddigital_2(void)

{

unsignedcharj;

digitalWrite(b,LOW);

digitalWrite(a,LOW);

for(j=9;j<=11;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

digitalWrite(c,HIGH);

digitalWrite(f,HIGH);

}

//显示数字3

voiddigital_3(void)

{

unsignedcharj;

digitalWrite(g,LOW);

digitalWrite(d,LOW);

for(j=5;j<=7;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

digitalWrite(f,HIGH);

digitalWrite(e,HIGH);

}

//显示数字4

voiddigital_4(void)

{

digitalWrite(c,LOW);

digitalWrite(b,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(dp,HIGH);

digitalWrite(a,HIGH);

digitalWrite(e,HIGH);

digitalWrite(d,HIGH);

}

//显示数字5

voiddigital_5(void)

{

unsignedcharj;

for(j=7;j<=9;j++)

digitalWrite(j,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(dp,HIGH);

digitalWrite(b,HIGH);

digitalWrite(e,HIGH);

}

//显示数字6

voiddigital_6(void)

{

unsignedcharj;

for(j=7;j<=11;j++)

digitalWrite(j,LOW);

digitalWrite(c,LOW);

digitalWrite(dp,HIGH);

digitalWrite(b,HIGH);

}

//显示数字7

voiddigital_7(void)

{

unsignedcharj;

for(j=5;j<=7;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

for(j=8;j<=11;j++)

digitalWrite(j,HIGH);

}

//显示数字8

voiddigital_8(void)

{

unsignedcharj;

for(j=5;j<=11;j++)

digitalWrite(j,LOW);

digitalWrite(dp,HIGH);

}

voidsetup()

{

inti;//定义变量

for(i=4;i<=11;i++)

pinMode(i,OUTPUT);//设置4~11引脚为输出模式

}

voidloop()

{

while

(1)

{

digital_1();//数字1

delay(2000);//延时2s

digital_2();

delay(2000);

digital_3();

delay(2000);

digital_4();

delay(2000);

digital_5();

delay(2000);

digital_6();

delay(2000);

digital_7();

delay(2000);

digital_8();

delay(2000);

}

}

5、实验结果

将程序下载到实验板后我们可以看到,数码管循环显示数字1~8,每隔数字显示两秒钟。

6、实验分析

在setup()前面定义了一系列的数字显示子程序,这些子程序的定义可以方便在loop()中使用,使用时只需将子程序的名写上即可。

数码管共有七段显示数字的段,还有一个显示小数点的段。

当让数码管显示数字时,只要将相应的段点亮即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1