arduino nano如何实现led的亮暗随机,亮度...-Arduino中文社区 - Powered by Discuz! Archiver

dnkjdggays 发表于 2018-2-3 22:46

arduino nano如何实现led的亮暗随机,亮度...

本帖最后由 dnkjdggays 于 2018-2-5 20:26 编辑

我是刚接触arduino。主要是最近突然用到有关这一些的代码:Arduino Nano或者arduino uno如何实现多个led的亮暗随机,亮度随机,顺序随机,时间随机?恳求大佬给个代码或者案例。

ouyangxin 发表于 2018-2-4 17:37

可以用random(min,max)函数返回一个随机数。在pwm输出亮度
int a=random(0,255);
analogWrite(ledPin,a);
delay(500);
你也可以把时间弄成随机的

ouyangxin 发表于 2018-2-4 17:41

ouyangxin 发表于 2018-2-4 17:37
可以用random(min,max)函数返回一个随机数。在pwm输出亮度
int a=random(0,255);
analogWrite(ledPin,a);


好像是0-254,试一下

dnkjdggays 发表于 2018-2-5 20:25

ouyangxin 发表于 2018-2-4 17:41
好像是0-254,试一下

好的谢谢。我去试下

Nikko0080 发表于 2018-2-5 22:01

dnkjdggays 发表于 2018-2-5 20:25
好的谢谢。我去试下

好像是0-255的设置吧?

dnkjdggays 发表于 2018-2-5 22:13

Nikko0080 发表于 2018-2-5 22:01
好像是0-255的设置吧?

我刚弄了,灯可以实现渐弱,但是怎么再渐强到再次随机的值?

Nikko0080 发表于 2018-2-6 08:17

dnkjdggays 发表于 2018-2-5 22:13
我刚弄了,灯可以实现渐弱,但是怎么再渐强到再次随机的值?

用循环语句,你看看下面的代码对你有没有用
for (int a=0; a<=255;a++)                //循环语句,控制PWM亮度的增加
{
    analogWrite(ledPin,a);
    delay(10);                           //当前亮度级别维持的时间,单位毫秒            
}
    for (int a=255; a>=0;a--)             //循环语句,控制PWM亮度减小
{
    analogWrite(ledPin,a);
    delay(10);                           //当前亮度的维持的时间,单位毫秒
}
delay(600);                           //完成一个循环后等待的时间,单位毫秒

liaojianjun008 发表于 2018-2-6 09:48

对的,对的
页: [1]
查看完整版本: arduino nano如何实现led的亮暗随机,亮度...