当连接pin2引脚的按钮按下一次,连接到pin6引脚的LED灯珠改变颜色,颜色变化顺序是品红、蓝色、青色、绿色、黄色、橙色
时间: 2023-07-04 09:15:25 浏览: 60
好的,以下是适用于Arduino Leonardo的代码示例,可以实现您的需求:
```C++
int buttonPin = 2; // 按钮引脚
int ledPin = 6; // LED灯珠引脚
int colors[] = {0xFF00FF, 0x0000FF, 0x00FFFF, 0x00FF00, 0xFFFF00, 0xFFA500}; // 颜色数组,品红、蓝色、青色、绿色、黄色、橙色
int colorIndex = 0; // 当前颜色索引
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入模式
pinMode(ledPin, OUTPUT); // 设置LED灯珠引脚为输出模式
}
void loop() {
if (digitalRead(buttonPin) == LOW) { // 判断按钮是否按下
colorIndex = (colorIndex + 1) % 6; // 取余操作,实现颜色循环
analogWrite(ledPin, colors[colorIndex]); // 改变LED灯珠颜色
delay(500); // 延时500毫秒,避免颜色变化过快
}
}
```
在这个示例中,我们将按钮引脚设为输入模式,并使用 `digitalRead()` 函数来检测按钮是否按下。如果按钮按下,我们将颜色索引 `colorIndex` 加一,并使用 `analogWrite()` 函数来改变LED灯珠的颜色,颜色是从预定义的颜色数组 `colors` 中取出的。为了实现颜色循环,我们使用 `%` 运算符来对颜色数组的长度进行取余操作。最后,我们使用 `delay()` 函数来延时一段时间,以便我们能够看到颜色的变化。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)