Arduino实验一:草帽LED
实验说明
这次实验是让大家了解Arduino板是如何控制引脚来驱动一些硬件设备和了解PWM模拟输出。我们将使用LED灯来做两个实验,一个是让草帽LED灯进行发光闪烁实验;另一个是利用PWM输出控制草帽LED的亮度。
实验器材
开发板*1
USB线*1
草帽LED灯模块*1
杜邦线若干
上一篇文章提到过开发板的测试,当时是利用的板载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引脚。至此硬件部分接线就完成了。
注意:先接线检查无误后再通电
mixly程序示例
视频
试验一(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灯的亮度。
现在拿起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程序示例
视频
mixly是绿色软件,下载是压缩包,解压后双击程序图标即可打开,自行探究。
硬件模块购买地址:淘宝店铺 DIYbot
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com