Arduino模拟传感器的使用

一、实验目的

1、熟悉了解Arduino UNO的硬件组成、使用方法

2、熟练掌握arduino软件的使用方法

3、能够在arduino软件的IDE开发环境编译运行程序

4、掌握Arduino的数字、模拟端口相关功能


二、实验内容和要求

1、完成跑马灯,使3个LED灯轮流闪烁

2、设计一个温度计,显示当前温度、记录的最高温度和记录的最低温度

3、设计一个根据环境亮度自动调节的LED灯,环境越暗灯越亮


三、实验器材

    Arduino UNO控制板,光线传感器模块Light Sensor,温度传感器Temperature Sensor,LED灯,USB线缆,面包板Bread Board,杜邦线

四、注意事项

1、选择正确的控制板型号和端口

2、正确进行接线,以防反接短路造成电路板损坏


五、实验步骤

从网上下载好Arduino的IDE开发环境,根据自身情况选择版本,本次实验选择Windows版本。

下载好之后,打开Arduino的软件

首先进行Arduino的型号选择

本实验使用的是Arduino Uno


型号选择

然后进行串口选择

在IDE中选择对应端口


串口选择

然后开始编写程序代码

(一)完成跑马灯


跑马灯代码

代码中,函数setup()是初始化数字端口为输出端口,pinMode()是设置led为输出端口的函数,loop()是一个循环函数,digitalWrite(led,HIGH)表示led输出高电平,点亮LED灯,digitalWrite(led,LOW)表示led输出低电平,熄灭LED灯,delay()为延时函数,表示LED灯状态延时多久。

这里的代码表示使用3个LED灯,分别使用了13,12,8三个数字端口作为输出端口。每个灯延时0.1秒亮一次。

最后点击“上传”按钮编译并下载代码到arduino开发板中


(二)设计一个温度计

编写程序代码如下

温度计代码

在setup()里面Serial.begin(9600)表示设置波特率。全局定义两个变量,最大温度max、最小温度min。在loop()函数里面,analogRead(A0)读取A0引脚的数值, val * (5.0 / 1024) * 100是把读取到的val转换为温度数值。使用Serial.print()进行输出。

编写完代码,点击“上传”按钮编译并下载代码到arduino开发板中

在这个实验中,使用了A0模拟信号引脚,5V电压引脚,以及接地引脚。将温度传感器的数值,通过IDE的串口监视器可以看到输出结果。

串口监视器的位置如下图红色箭头所指


(三)设计一个根据环境亮度自动调节的LED灯

编写程序代码如下

Setup()函数里面Serial.begin(9600)表示设置波特率,pinMode(10,OUTPUT)是设置l0为输出端口。Loop()函数里面,analogRead(A0)读取A0引脚的数值赋给val,val_2 = map(val, 0, 1023, 0, 255)是把val数据从0~1023区间映射到0~255区间。然后使用analogWrite(pin, value)输出,参数pin:支持引脚3、5、6、9、10、11,参数value表示PWM输出的占空比,pin, value这里分别为10和val_2。

六、实验结果与分析

(一)完成跑马灯


效果如图,实现了LED灯轮流闪烁,达到预期效果。

(二)设计一个温度计

通过IDE的串口监视器看到的输出结果如上图,显示了测量时间,当前温度,记录最高温度,记录最低温度,结果符合预期。

(三)设计一个根据环境亮度自动调节的LED灯


传感器上光线越亮LED灯越暗,相反亦然,结果符合预期。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容