用esp8266控制ws2812灯带点射、流水灯、火焰灯光效果。分别写出相关代码
时间: 2023-11-15 14:05:46 浏览: 178
8266-rgb_rgb8266_esp8266_ws2812rgb_WS2812_led5ad_
好的,以下是控制ws2812灯带点射、流水灯、火焰灯光效果的代码:
点射:
```C++
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6
#define NUM_LEDS 16
Adafruit_NeoPixel pixels(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
#ifdef __AVR__
power_adc_disable();
#endif
pixels.begin();
}
void loop() {
pixels.clear();
for(int i=0; i<NUM_LEDS; i++) {
pixels.setPixelColor(i, pixels.Color(255, 0, 0));
pixels.show();
delay(50);
pixels.setPixelColor(i, pixels.Color(0, 0, 0));
}
}
```
流水灯:
```C++
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6
#define NUM_LEDS 16
Adafruit_NeoPixel pixels(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
#ifdef __AVR__
power_adc_disable();
#endif
pixels.begin();
}
void loop() {
for(int i=0; i<NUM_LEDS; i++) {
pixels.clear();
pixels.setPixelColor(i, pixels.Color(255, 0, 0));
pixels.show();
delay(50);
}
}
```
火焰灯:
```C++
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6
#define NUM_LEDS 16
Adafruit_NeoPixel pixels(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
#ifdef __AVR__
power_adc_disable();
#endif
pixels.begin();
}
void loop() {
for(int i=0; i<NUM_LEDS; i++) {
int r = random(0, 256);
int g = r / 2;
int b = r / 4;
pixels.setPixelColor(i, pixels.Color(r, g, b));
}
pixels.show();
delay(50);
}
```
注意,这些代码需要使用Adafruit_NeoPixel库,因此需要将其安装到Arduino IDE中。
阅读全文