这段代码是一个Arduino程序,用于控制一个RGB LED灯。当按下连接到引脚2的按钮时,LED灯的颜色会随机变化,并通过串口输出当前的颜色值和计数。

int button = 3;  // 按键连接到引脚3
int redPin = 12;     // 红色通道连接到引脚9
int greenPin = 9;  // 绿色通道连接到引脚10
int bluePin = 10;   // 蓝色通道连接到引脚11
int buttonState = 0;// 存储按键状态
int val=0;

void setup() 
{
  Serial.begin(9600); // 初始化串口通信,波特率为9600
  randomSeed(analogRead(0)); // 设置随机数种子
  pinMode(button, INPUT); // 设置按键引脚为输入模式
  pinMode(redPin, OUTPUT); // 设置红色通道引脚为输出模式
  pinMode(greenPin, OUTPUT); // 设置绿色通道引脚为输出模式
  pinMode(bluePin, OUTPUT); // 设置蓝色通道引脚为输出模式
}

void Color(int r,int g,int b)
{
  analogWrite(redPin,r); // 设置红色通道的亮度
  analogWrite(greenPin,g); // 设置绿色通道的亮度
  analogWrite(bluePin,b); // 设置蓝色通道的亮度
}
    
void loop() 
{
  int r = random(0, 256); // 生成一个0到255之间的随机数作为红色通道的亮度值
  int g = random(0, 256); // 生成一个0到255之间的随机数作为绿色通道的亮度值
  int b = random(0, 256); // 生成一个0到255之间的随机数作为蓝色通道的亮度值
  if(digitalRead(button)==LOW)//检测按钮是否被按下
  {
    delay(20);//延时0.02秒
    
    if(digitalRead(button)==LOW)//再次检测按钮是否被按下
    {
      buttonState=buttonState+1;//当按钮按下时,使LEDRGB的颜色能发生变化
      while(digitalRead(button)==LOW); // 等待按钮释放
      if(buttonState=HIGH) // 如果按钮状态为高电平
      { 
        Color(r,g,b); // 设置LED灯的颜色
        Serial.println(String(++val)+"-RGB:" + String(r) + "," + String(g) + "," + String(b) + ""); // 通过串口输出当前的颜色值和计数
      }
    }
  } 
}
 

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值