MakeCourse
ZMAKER
LED已经能够亮起来了,但只是能够实现亮灭功能,基本上就是一个“上电断电”的操作。而本次课程,我们将控制LED灯让它渐渐变亮,再慢慢熄灭。
当然,不需要过多硬件啦~
这里我们用一个电位计(电位器)先来控制LED观察效果。手边如果有万用表的话,可以先测量一下它的电阻值变化,具体三个引脚怎么接,自己摸索啦。
需 要 的 器 件:
Arduino UNO电路板(1块)
面包板(1块)
220Ω电阻(1个)
LED神灯(1盏)
面包线(若干)
这里我们用一个电位计(电位器)先来控制LED观察效果。手边如果有万用表的话,可以先测量一下它的电阻值变化,具体三个引脚怎么接,自己摸索啦。
连接方式:
程序就是类似下面这个样子:
但是,为了规范一些,因为电位器的读数是0-1024的范围,而LED的亮度值范围是0-255,所以,这里我们要进行一下运算了,也就是"val/1024*255",但是如果遇到别的状况怎么办呢?比如要把10~300,对应成2.5~6.5呢?这样的情况显然如果再进行计算的话就得费一番心力了,有兴趣的可以试一下。所以就有了这样一个固定函数map(),具体用法如下:
或者改成这个样子:
好了这就是我们今天的程序了,而今天的知识点就已经在这个程序里面了---analogRead()和analogWrite();
对的,今天我们遇到两个新的函数,analogRead()是模拟输入函数,analogWrite()是模拟输出函数。关于模拟量,是跟数字量相对应的另一种常见的数据类型。数字量,之前就已经很熟练的使用了,比如开和关、是和不是、对和错等,我们上节课的按键开关就是典型的数字输入量。但就像在我们生活中,并不是所有问题都只有“是,不是”这两情况一样,比如数学中的数字,不只是0和1,还有1、2、3、4、5、6、7等,甚至从0数到1都数不完呢,0.1,0.01,0.001等而这些就可以看作模拟量。就像我们这节课用到的电位计,当我们转动旋钮的时候,可以随意的选择在什么时候停止转动,,可以通过添加程序命令来看一下电位计的读数:
这个就是模拟输入,在Arduino主控板上是A0~A6引脚。而模拟输出,就是另一种独特巧妙的方式了,我们可以留着下节课仔细讲解。
↓ 更多精彩作品 ↓
Processing系列教程
CAD轻量化教程
Arduino开发入门教程
Scratch图形化编程教程
App Inventor程序开发课程
《玩儿转Micro: bit》系列
Magicavoxel像素体3D建模
Linux基础入门课程
Python入门&人工智能
人工智能先修课程
开放 融合 创造
未完待续
欢迎好奇宝宝们来玩儿!个人参观可直接空降~
团体参观请联系后台,或根据下方联系方式提前预约~
交通路线:乘坐地铁1号线梧桐街站(A出口)
河南省国家大学科技园南配1号楼东1-2层
欢迎关注我们的新浪微博@郑州创客空间
领取专属 10元无门槛券
私享最新 技术干货