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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8067|回复: 7

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

[复制链接]
发表于 2018-2-3 22:46 | 显示全部楼层 |阅读模式
本帖最后由 dnkjdggays 于 2018-2-5 20:26 编辑

我是刚接触arduino。主要是最近突然用到有关这一些的代码:Arduino Nano或者arduino uno如何实现多个led的亮暗随机,亮度随机,顺序随机,时间随机?恳求大佬给个代码或者案例。
发表于 2018-2-4 17:37 | 显示全部楼层
可以用random(min,max)函数返回一个随机数。在pwm输出亮度
int a=random(0,255);
analogWrite(ledPin,a);
delay(500);
你也可以把时间弄成随机的
发表于 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,试一下
 楼主| 发表于 2018-2-5 20:25 | 显示全部楼层
ouyangxin 发表于 2018-2-4 17:41
好像是0-254,试一下

好的谢谢。我去试下
发表于 2018-2-5 22:01 | 显示全部楼层
dnkjdggays 发表于 2018-2-5 20:25
好的谢谢。我去试下

好像是0-255的设置吧?
 楼主| 发表于 2018-2-5 22:13 | 显示全部楼层
Nikko0080 发表于 2018-2-5 22:01
好像是0-255的设置吧?

我刚弄了,灯可以实现渐弱,但是怎么再渐强到再次随机的值?
发表于 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);                             //完成一个循环后等待的时间,单位毫秒  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:33 , Processed in 0.075208 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表