给我写一个Arduino的代码用触摸传感器控制灯带的打开的灯带的效果是正向白红白流动
时间: 2024-03-01 17:53:42 浏览: 206
好的,下面是一个简单的 Arduino 代码,可以使用触摸传感器控制灯带的打开,并以正向白红白流动的效果显示。
```C++
#include <Adafruit_NeoPixel.h>
#define PIN 6 // 灯带的数据引脚
#define NUM_PIXELS 30 // 灯带上的像素数量
Adafruit_NeoPixel pixels(NUM_PIXELS, PIN, NEO_GRBW + NEO_KHZ800);
int touchPin = 2; // 触摸传感器的引脚
void setup() {
pixels.begin();
pixels.show(); // 初始化灯带
pinMode(touchPin, INPUT); // 设置触摸传感器引脚为输入模式
}
void loop() {
if (digitalRead(touchPin) == HIGH) { // 如果检测到触摸传感器被触摸
for (int i = 0; i < NUM_PIXELS; i++) {
pixels.setPixelColor(i, 255, 255, 255, 255); // 设置像素颜色为白色
}
pixels.show(); // 显示灯带上的像素
// 白红白流动的效果
for (int i = 0; i < NUM_PIXELS - 2; i++) {
pixels.setPixelColor(i, 255, 0, 0, 0); // 设置当前像素为红色
pixels.setPixelColor(i+1, 255, 255, 255, 255); // 设置下一个像素为白色
pixels.setPixelColor(i+2, 255, 0, 0, 0); // 设置下下一个像素为红色
pixels.show(); // 显示灯带上的像素
delay(50); // 等待50毫秒
}
}
}
```
这段代码做的事情是:当检测到触摸传感器被触摸时,将所有像素设置为白色,然后显示白红白流动的效果,直到再次检测到触摸传感器被触摸。
阅读全文
相关推荐












