使用电位器控制LED灯的亮度
程序员文章站
2022-07-13 22:26:29
...
一、所需要的原件
1.arduino Uno R3 开发板
2.220欧姆电阻
3.led灯
4.电位器
5.杜邦线若干
6.面包板
二、项目连接图
三、项目代码
int val;
void setup() {
pinMode(6,OUTPUT);
//Serial.begin(9600);
}
void loop() {
val=analogRead(A0);
val=map(val,0,1023,0,255);
if (val<50)
{
digitalWrite(6,LOW);
}
else
{
analogWrite(6,val);
}
//Serial.println(val);
//delay(100);
}
四、代码解释
-
analogRead() 代码中analogRead(A0)
A0-A5模拟引脚默认被定义为INPUT类型,可以不用声明
描述:读取指定模拟引脚的值。
函数原型:analogRead(pin)
参数:模拟输入引脚。
返回值:0到1024之间的整数。 -
map() 代码中map(val,0,1023,0,255)
描述:将数据从一个范围映射到另一个范围。
函数原型:map(value, fromLow, fromHigh, toLow, toHigh)
参数:
value: 要映射的数据
fromLow: 当前范围的下限值。
formHigh: 当前范围的上限值。
toLow: 目标范围的下限值。
toHigh: 目标范围的上限值。 -
if (val<50)
在代码中添加了这个,意思是当val被map()函数映射之后,如果它的值小于50,则led灯不会被点亮,只有当大于等于50之后才能被电位器调节亮度。 -
analogWrite(6,val);
把val的值通过6号引脚输出,来控制led灯亮度
五、效果展示
上一篇: Mixly遥控器调节LED灯亮度
下一篇: Arduino呼吸灯&五档调节LED亮度