栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Arduino 点灯实验

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Arduino 点灯实验

目录

1.实验说明

2.实验原理

3.接线图

4.实验代码

5.代码说明

6.测试结果


1.实验说明

LED模块:它的控制方法非常简单,要想点亮LED,只要让它两端有一定的电压就可以。

实验中,我们通过编程控制信号端S的高低电平,从而控制LED的亮灭。我们提供两个实验程序,分别控制LED模块上实现点亮和闪烁的效果。

2.实验原理

下面附了两个电路原理图,左边我们直接把LED串联一个电阻,负极接地,正极接到单片机的IO口,理论上来说当我们把信号端S输出高电平(5V),LED两端就会有电压,LED就会被点亮,那么我们为什么说这么接不合理呢?原因就是我们单片机IO口输出电流的能力有限(最大20mA),虽然输出了高电平,但是可能达不到控制LED的电流,此时LED可能比较暗。

右边的接法:控制时,GND和VCC上电后,如果信号端S为高电平,那么三极管Q1就会导通,则LED有电流流过,LED即会亮起(注意:此时电流是由VCC电源端流经LED和电阻R3到GND,而不是直接从单片机IO口输出,此时输出电流的能力就比较强),S端为低电平时三极管Q1截止,那么就没有电流流过LED,那么LED就会熄灭。也就是说,我们这里的三极管Q1相当于一个开关作用,而电阻R1,R3都是一个限流电阻,顾名思义就是限制电流的大小,以免烧坏电子元器件。

 


3.接线图

 

4.实验代码

代码1:

void setup() {

  pinMode(3, OUTPUT);//设置模式为输出

}



void loop() {

  digitalWrite(3, HIGH); //输出高电平,点亮



}

代码2:

int ledPin = 3; //定义LED管脚接D3

void setup() {

  pinMode(ledPin, OUTPUT);//设置模式为输出

}



void loop() {

  digitalWrite(ledPin, HIGH); //输出高电平,点亮

  delay(1000);//延迟1000毫秒

  digitalWrite(ledPin, LOW); //输出低电平,熄灭

  delay(1000);



}

5.代码说明

代码1说明:

  1. int ledPin = 3;int是变量类型范围为-32,768 ~ 32,767,这条代码语句意思是取个ledpin的变量名然后赋值为3,后面我们需要用到这个引脚时就直接使用ledpin而不用“3”,当我们接的传感器模块多了,引脚多了我们就需要这样设置一个简单易记的变量名方便我们使用。
  2. pinMode(pin,mode);pin是用于设置模式的Arduino引脚号;mode为模式,可选:输入模式INPUT,输出模式OUTPUT或输入上拉INPUT_PULLUP,在这里我们设置了管脚3为输出模式。
  3. digitalWrite(pin, value);pin是单片机数字管脚,在这里我们定义了管脚3;value是你将要输出的数字电平(HIGH/LOW);如果使用pinMode()将引脚配置为OUTPUT,则其电压将设置为相应的值:5V(在3.3V板上为3.3V)为HIGH,低电平为0V(接地)。如果没有把pinMode()设置为OUTPUT,而是将LED连接到引脚,则在调用digitalWrite(HIGH)时,LED可能会变暗。因为此时digitalWrite()将启用内部上拉电阻,其作用类似于一个大限流电阻。

代码2说明:

  1. setup()中代码是只执行一次,而loop()函数里面的代码是一直循环执行。delay(ms);延时函数,ms为暂停的毫秒数,数据类型:unsigned long(范围 0~ 4,294,967,295 (2^32 - 1))。
  2. 通过整合前面知识。我们再来看代码就清楚明了了,代码中第一条我们把模块信号端接到ledpin也就是数字口D3,设置为高电平,就是点亮模块上LED;第二条延迟1000毫秒,就是让模块上LED点亮1秒。同样第三条第四条代码表示让模块上LED熄灭1秒。代码默认循环,也就是控制模块上LED,循环亮1秒,灭1秒,实现闪烁效果。通过代码设置,我们可以更改模块上LED亮灭的延迟时间,从而使模块上LED实现不同的闪烁效果。

6.测试结果

代码一:上传实验程序一成功后,上电,模块上白色LED点亮

代码二:上传实验程序二成功后,上电,白色LED亮1秒灭一秒,循环交替闪烁。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875720.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号