嗯,在开始之前,我们要先在硬件和软件方面做一些准备。
硬件方面
像之前一样,依然是一块Arduino UNO电路板,一盏标准的LED神灯,还有一条连接Arduino和电脑的USB线。
软件方面Arduino官方提供的IDE即可。
像之前一样,准备好上面的软硬件之后,接下来需要连接好电路,然后敲几行代码,就可以让LED神灯产生亮度渐变的效果啦!
连接电路
和让LED神灯闪烁的电路连接一样,只需要简单的一步,即可连接好我们的电路。这里唯一要注意的点是,LED的长针脚要插入11号孔,短针脚插入GND地线孔内,这一点要注意!最后,用USB线把Arduino连接到电脑上,连好之后会看到Arduino电路板上的一个小电源灯被点亮!
添加几行代码像之前一样,最后需要我们添加几行代码,即可大功告成!
首先打开Arduino的IDE,新建一个Arduino项目窗口。
新建完成之后,需要向其中添加几行代码。
- // 定义LED神灯的针脚号是 11
- int led = 11;
- // 定义LED神灯当前亮度值为整数值0
- int brightness = 0;
- // 定义LED神灯亮度变化的幅度为整数值5
- int fadeAmount = 5;
- // 对Arduino电路板或相关状态进行初始化方法
- void setup() {
- // 声明11号针脚为输出状态
- pinMode(led, OUTPUT);
- }
- // 系统调用,无限循环方法
- void loop() {
- // 设置LED神灯的当前亮度
- analogWrite(led, brightness);
- // 计算LED神灯的此次循环的亮度数值,
- // 每次循环累加5(fadeAmount定义的数值)。
- brightness = brightness + fadeAmount;
- // 此判断语句实现的效果是,判断LED神灯的当前亮度,
- // 当LED神灯全亮,将fadeAmount数值变为负数,
- // 达到降低LED神灯亮度的效果。
- // 当LED神灯熄灭,将fadeAmount数值变为正数,
- // 达到增加LED神灯亮度的效果。
- if (brightness == 0 || brightness == 255) {
- fadeAmount = -fadeAmount ;
- }
- // 每次循环结束,进入下一次循环之前,延时30毫秒执行
- delay(30);
- }
除此之外,还出现了一个新方法,即analogWrite(),这个方法和之前在学习中遇到的那个digitalWrite()是两兄弟,分别对应着电路中的模拟信号和数字信号的设置,从方法名即可看出,前一个是对针脚进行模拟信号的设置,后一个是对针脚进行数字信号的设置。为什么要使用analogWrite()方法呢?很简单,因为模拟信号是连续的,数字信号是非连续的。只有连续的信号才可以让LED神灯产生渐变的效果,所以这里使用的是模拟信号。
还剩最后一步!把代码烧入Arduino!只需要点击新建项目文件上,那个指向右侧箭头的图标,即可自动完成代码的烧入。
图片来源:Arduino官方IDE的文件编辑菜单选项(注意此处不是指Arduino顶部工具栏)
如果在此操作中碰到了连接Arduino的失败错误,可以查看点亮LED神灯那一节中,关于这部分需要注意的两个小细节。
如果一切顺利,将会看到LED神灯渐变闪烁的效果!
总结通过这次学习,我们实现了LED神灯的亮度进行渐变的效果。多出来的知识点呢,一共有两个,一个是if语句,另一个是analogWrite()方法。
下期预告至此呢,我们已经学习了点亮LED神灯,以及点亮神灯的两种方式。通过这两种点亮LED神灯的方式,我们了解了如何向外输出数字信号,以及模拟信号。接下来,我们将会学习如何从Arduino读出元器件输入的数字信号以及模拟信号。
还剩最后一步!把代码烧入Arduino!只需要点击新建项目文件上,那个指向右侧箭头的图标,即可自动完成代码的烧入。
图片来源:Arduino官方IDE的文件编辑菜单选项(注意此处不是指Arduino顶部工具栏)
如果在此操作中碰到了连接Arduino的失败错误,可以查看点亮LED神灯那一节中,关于这部分需要注意的两个小细节。
如果一切顺利,将会看到LED神灯渐变闪烁的效果!
总结通过这次学习,我们实现了LED神灯的亮度进行渐变的效果。多出来的知识点呢,一共有两个,一个是if语句,另一个是analogWrite()方法。
下期预告至此呢,我们已经学习了点亮LED神灯,以及点亮神灯的两种方式。通过这两种点亮LED神灯的方式,我们了解了如何向外输出数字信号,以及模拟信号。接下来,我们将会学习如何从Arduino读出元器件输入的数字信号以及模拟信号。