Arduino实验一:草帽LED

网友投稿 2019-03-23 08:51

实验说明

这次实验是让大家了解Arduino板是如何控制引脚来驱动一些硬件设备和了解PWM模拟输出。我们将使用LED灯来做两个实验,一个是让草帽LED灯进行发光闪烁实验;另一个是利用PWM输出控制草帽LED的亮度。

实验器材

开发板*1

USB线*1

草帽LED灯模块*1

杜邦线若干

https://cdn.china-scratch.com/timg/190325/0U1136232-0.jpg

上一篇文章提到过开发板的测试,当时是利用的板载LED灯进行的实验。板载LED灯的默认Arduino控制引脚是13。这次我们将使用外设模块来进行实验。

试验一(1):

实验代码如下

void setup(){  pinMode(3, OUTPUT);     //设置数字引脚 3为输出状态},void loop(){  digitalWrite(3, HIGH);   //开启led  HIGH为高电平通电的意思   delay(2000); //延迟2秒                digitalWrite(3, LOW);    //关闭led  LOW为低电平断电的意思  delay(2000);//延迟2秒 }

通过以上代码我们可以知道我们这次实验控制的是3号引脚,灯的输出状态是亮2秒、灭2秒,多次循环。

所以我们要做的是将LED灯的信号线(S)连接到主板引脚3号口位置,VCC(正极线)、GND(地线、负极线)分别连接到主板的GND和VCC引脚。至此硬件部分接线就完成了。

注意:先接线检查无误后再通电

https://cdn.china-scratch.com/timg/190325/0U114LS-1.jpg

mixly程序示例

https://cdn.china-scratch.com/timg/190325/0U1142160-2.jpg视频

试验一(2):PWM模拟输出控制亮度

脉冲宽度调制或PWM,是通过数字均值获得模拟结果的技术。数字控制被用来创建一个方波,信号在开或关之间切换。这种开关模式通过改变“开”和“关”的时间段比值来模拟从开(5V)到关(0V)之间的电压。开的时间周期称为脉冲宽度。为了得到不同的模拟值,可以更改或调节脉冲宽度(开的时间)。如果重复这种开关模式速度足够快,其结果是一个介于0-5V之间的稳定电压,用以控制LED的亮度。

1秒在电气元件中是一个非常长的时间,这里我们用微秒来作为基本时间单位。1秒=10的6次方微秒。1s=1000000us

我们假设10us开关通断一次,如果开关闭合的时间比较长,断开的时间比较短。那么灯泡亮度就会偏亮,极端的状态就是10us内开关一直闭合,那就是灯泡一直保持最亮的状态。10us内亮5us灭5us,因为这个时间频率非常快,完全高于人眼分辨的频率,那么看起来就是LED的亮度是最亮时候的一半。就是通过改变开关通断所占的一个周期的比例,来实现控制LED亮度变化的效果。

下图中绿色的线段之间表示一个固定的周期。每个周期的数值范围是0-255.例如analogWrite(0)是0%的占空比(常闭,LED灯灭)

analogWrite(255)是100%的占空比(常开,LED灯最亮)

analogWrite(127)是50%的占空比(开关各占一半的时间,LED灯亮度居中)

也就是我们可以改变占空比来实现控制LED灯的亮度。https://cdn.china-scratch.com/timg/190325/0U1152622-3.jpg

https://cdn.china-scratch.com/timg/190325/0U115E45-4.jpg

现在拿起Arduino主控板,在主控板上能看到有些数字引脚的旁边标有“~”标识,该标识就是指明该引脚(3、5、6、9、10、11)具有PWM功能。PWM通常用于控制电机速度

实验代码如下

void setup(){pinMode(3, OUTPUT); //设置数字引脚 3为输出状态}void loop(){  analogWrite(3,255);   //设置3号引脚开的状态为255(100%)  delay(1000);   //延迟1秒  analogWrite(3,127);    //设置3号引脚开的状态为127(50%)  delay(1000);   //延迟1秒analogWrite(3,0); //设置3号引脚开的状态为0(0%)  delay(1000); //延迟1秒 }

mixly程序示例

https://cdn.china-scratch.com/timg/190325/0U11B524-5.jpg视频

mixly是绿色软件,下载是压缩包,解压后双击程序图标即可打开,自行探究。

硬件模块购买地址:淘宝店铺 DIYbot

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com