欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用电位器控制LED灯的亮度

程序员文章站 2022-07-13 22:26:29
...

一、所需要的原件

1.arduino Uno R3 开发板
2.220欧姆电阻
3.led灯
4.电位器
5.杜邦线若干
6.面包板

二、项目连接图

使用电位器控制LED灯的亮度

三、项目代码

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);
}

四、代码解释

  1. analogRead() 代码中analogRead(A0)
    A0-A5模拟引脚默认被定义为INPUT类型,可以不用声明
    描述:读取指定模拟引脚的值。
    函数原型:analogRead(pin)
    参数:模拟输入引脚。
    返回值:0到1024之间的整数。

  2. map() 代码中map(val,0,1023,0,255)
    描述:将数据从一个范围映射到另一个范围。
    函数原型:map(value, fromLow, fromHigh, toLow, toHigh)
    参数:
    value: 要映射的数据
    fromLow: 当前范围的下限值。
    formHigh: 当前范围的上限值。
    toLow: 目标范围的下限值。
    toHigh: 目标范围的上限值。

  3. if (val<50)
    在代码中添加了这个,意思是当val被map()函数映射之后,如果它的值小于50,则led灯不会被点亮,只有当大于等于50之后才能被电位器调节亮度。

  4. analogWrite(6,val);
    把val的值通过6号引脚输出,来控制led灯亮度

五、效果展示

相关标签: 笔记 arduino