arduino 控制小灯渐变

arduino 控制小灯渐变,第1张

for(i=0i<1023i++)

这里改成 for(i=0i<250i++)

然后delay(10)改为delay(20)

就可以了如薯

1023已经溢出了,analogWrite(11,i)函数最高到255,保险起见用到250就可以了渣基者!

往采纳,锋卖满意请追加分!

const int buttpin = 4

const int ledpin = 10

bool ledon = false

void setup() {

// put your setup code here, to run once:

pinMode(buttpin, INPUT_PULLUP)//输入模式,内部上拉

pinMode(ledpin, OUTPUT)

digitalWrite(ledpin, LOW)//关灯

//Serial.begin(9600)

}

int Keydown()

{ //按钮按下只动作一次的检测函数

static int keyflag = 0

if ((keyflag == 0) &&digitalRead(buttpin) == LOW)//按钮负逻辑,按钮被按下

{

delay(100)//延时除颤

if (digitalRead(buttpin) == LOW)

{

//Serial.println("Down")

keyflag = 1//置1,避免持续按下按键时再次进入此函数体。

return 1

}

}

if (digitalRead(buttpin) == HIGH)//按钮断开

{

//Serial.println("UP")

keyflag = 0

}

return 0

}

void loop() {

// put your main code here, to run repeatedly:

if (Keydown())

{

ledon=!ledon//状态取反

//呼吸效果用循环次数和延时控制

if (ledon)

{//真,开灯

for (int i = 0i <255i += 5)

{

analogWrite(ledpin, i)//PWM输出

delay(50)

}

}

else

{//假,关灯

for (int i = 255i >= 0i -= 5)

{

analogWrite(ledpin, i)//PWM输出

delay(50)

}

}

}

}

dfrobot闪烁第一个led的步骤如下:

1. 将dfrobot的led模块连接到arduino板上,将第一个led的正极接到arduino的数桥桐字口8,负极接到arduino的GND口。

2. 打开arduino IDE,编写代码,将第一个led的正极接口纤伍定义为数字口8,负极接口定义为GND口。

3. 在代码中设置第一个led的亮度,设置led的亮度为255,即最亮。

4. 将代码上传到arduino板,第一个led就会敏竖坦闪烁


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12344905.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存