parent
58359b9bc6
commit
cd483ffe39
@ -0,0 +1,127 @@
|
||||
#include <Arduino.h>
|
||||
#include "WS2812.h"
|
||||
#include "led_control.h"
|
||||
#include "KeyboardConfig.h"
|
||||
|
||||
WS2812 LED(LED_COUNT);
|
||||
cRGB value;
|
||||
byte intensity;
|
||||
byte sign;
|
||||
byte offset=0;
|
||||
|
||||
|
||||
void setup_leds() {
|
||||
LED.setOutput(LED_DATA_PIN);
|
||||
|
||||
LED.setColorOrderRGB(); // Uncomment for RGB color order
|
||||
//LED.setColorOrderBRG(); // Uncomment for BRG color order
|
||||
//LED.setColorOrderGRB(); // Uncomment for GRB color order (Default; will be used if none other is defined.)
|
||||
|
||||
intensity = 0;
|
||||
sign = 1;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void update_leds_rgb(){
|
||||
|
||||
if (1) {
|
||||
|
||||
|
||||
byte i = 0;
|
||||
if (sign) {
|
||||
intensity+=1;
|
||||
if (intensity >= 128)
|
||||
sign = 0;
|
||||
}
|
||||
else {
|
||||
intensity-=1;
|
||||
if (intensity < 5){
|
||||
sign = 1;
|
||||
offset++;}
|
||||
}
|
||||
if (offset>2) offset=0;
|
||||
|
||||
while (i < LED_COUNT){
|
||||
|
||||
|
||||
if (((i+offset) % 3) == 0) { // First LED, and every third after that
|
||||
value.b = 0;
|
||||
value.g = 0;
|
||||
value.r = intensity; // RGB Value -> Red Only
|
||||
LED.set_crgb_at(i, value); // Set value at LED found at index 0
|
||||
}
|
||||
else if (((i+offset )% 3) == 1) { // Second LED, and every third after that
|
||||
value.b = 0;
|
||||
value.g = intensity;
|
||||
value.r = 0; // RGB Value -> Green Only
|
||||
LED.set_crgb_at(i, value); // Set value at LED found at index 0
|
||||
}
|
||||
else { // Third LED, and every third after that
|
||||
value.b = intensity;
|
||||
value.g = 0;
|
||||
value.r = 0; // RGB Value -> Blue Only
|
||||
LED.set_crgb_at(i, value); // Set value at LED found at index 0
|
||||
}
|
||||
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
LED.sync(); // Sends the data to the LEDs
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
int red;
|
||||
int green;
|
||||
int blue;
|
||||
int rednext=1;
|
||||
int bluenext=1;
|
||||
int greennext=1;
|
||||
void update_leds_scroll() {
|
||||
int i=0;
|
||||
|
||||
if(red==0&& blue==0&& green==0) {
|
||||
red=random(50);
|
||||
green=random(50);
|
||||
blue=random(50);
|
||||
rednext=bluenext=greennext=1;
|
||||
}
|
||||
|
||||
if (red<0) {red=0;}
|
||||
if (green<0) {green=0;}
|
||||
if(blue<0){blue=0;}
|
||||
|
||||
if (red+blue+green>100) {
|
||||
rednext=-1;
|
||||
bluenext=-1;
|
||||
greennext=-1;
|
||||
}
|
||||
// if (green>100) {
|
||||
// greennext=-1;
|
||||
// }
|
||||
// if (blue>100){
|
||||
// bluenext=-1;
|
||||
// }
|
||||
red+=rednext;
|
||||
green+=greennext;
|
||||
blue+=bluenext;
|
||||
|
||||
value.r=red;
|
||||
value.g=green;
|
||||
value.b=blue;
|
||||
|
||||
|
||||
while (i < LED_COUNT){
|
||||
LED.set_crgb_at(i, value); // Set value at LED found at index 0
|
||||
i++;
|
||||
}
|
||||
LED.sync();
|
||||
}
|
||||
void update_leds() {
|
||||
update_leds_rgb();
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef led_control_h
|
||||
#define led_control_h
|
||||
void setup_leds();
|
||||
|
||||
void update_leds();
|
||||
|
||||
#endif
|
Loading…
Reference in new issue