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

一、所需要的原件

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

四、代码解释

  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灯亮度

五、效果展示

发布了1 篇原创文章 · 获赞 1 · 访问量 79

猜你喜欢

转载自blog.csdn.net/safirh/article/details/104050717