在这个Arduino教程中,我们将学习如何使用电位器使LED褪色的基础知识。当你转动电位器的旋钮时,电阻就会改变。Arduino将在连接的模拟引脚上记录这些读数,然后软件将使用脉宽调制以正确的频率发出信号来点亮LED。

用Old School Electronics做这个

在老式的电子学中,这将是简单的把LED与电位器串联,并将其连接到电压源。天啊,时代变了!

在老式的方法中,电位器将简单地根据电位器的位置和电阻降低到LED上的电流。

这看起来很简单,甚至不需要微控制器!我们为什么要用它?如果你需要一个超级简单的解决方案,那就没有理由了!然而,如果你想提供额外的功能,那么像Arduino这样的微控制器是必要的。用Arduino的方法让一个带电位器的LED褪色,单片机负责的是LED而不是电位器。只要改变软件,我们就可以改变LED的行为。我们甚至可以打开或关闭它,不管电位器的位置。我们也可以添加额外的传感器,比如a光敏电阻作为二次控制。

本项目零件清单

如果你想从一个简单的地方开始使用Arduino,这里有一个方便的部件清单,让你开始。其中一些链接可能是附属链接。这些成本你什么都没有,但如果你使用他们,我们得到一小笔佣金,帮助我们继续制作这些教程!

数量 部分/链接
1 x Arduino Uno
1 x USB B型线
1 x 无焊料的电路试验板
1 x 跳线设备
1 x 领导的工具包
1 x 电阻箱(220欧姆)
1 x 电位计工具包
买一个极客酒吧!

用电位器褪色和LED的接线图

使用下面的接线图,使用面包板将LED和电位器连接到Arduino。

如何用电位器接线图淡化LED

Arduino代码

该代码将读取Arduino AO模拟输入,使用软件发送PWM脉冲到LED来控制亮度。此外,它将打印模拟读数和当前的亮度水平到串行监视器。

相关:了解Arduino串行监视器

int LED_PIN = 3;//当你按下reset键时,设置程序运行一次:void setup(){//初始化串行通信在每秒9600位:serial .begin(9600);//声明LED引脚为输出:pinMode(LED_PIN, output);void loop(){//读取模拟引脚上的输入A0(值介于0和1023之间)int analogValue = analogRead(A0);//将其缩放到亮度(值在0和255之间)int亮度= map(analogValue, 0,1023, 0,255);//设置连接引脚3 analogWrite的LED亮度(LED_PIN,亮度);//输出Serial值。打印(“模拟:”);并同时analogValue);系列。打印(“亮度:”); Serial.println(brightness); delay(100);

下一个步骤

现在你可以继续下一个教程,或者回到索引。