Addded Controls for WS2812

This commit is contained in:
mrcory
2019-05-20 22:32:54 -04:00
parent 0dad93f6b0
commit bb85cfafeb
4 changed files with 67 additions and 7 deletions
+10 -2
View File
@@ -41,8 +41,16 @@ const int stepPerRev = 4096;
#define ANALOGBUTTONS_SAMPLING_INTERVAL 10
//Feedback for button presses
#define ledPin D1
#define ledBrightness //Not used yet
#define lightEnable true //Allow control of LED
#define lightMode 1 //0-PWM 1-FastLED
#define ledPin D1 //Feedback LED
int ledBrightness = 2; //Not used yet
//Extra Stuff
#define alternateFunction false //Enable alternate use of the reset button
+4 -2
View File
@@ -25,7 +25,7 @@ void configLoad() {
Serial.println(savedPosition);
}
void ledFeedback() {
void ledFeedbackf() {
if (ledMode == 0) {
if (ledTimer > millis() - 500) {
@@ -58,7 +58,7 @@ void ledFeedback() {
void ledTurn(int _mode) {
ledTimer = millis();
ledOn = true;
ledFeedback = true;
ledMode = _mode;
}
@@ -157,3 +157,5 @@ void moveNow() {
}
}
#endif
+44 -3
View File
@@ -25,6 +25,16 @@
#include <Ethernet.h>
#include "config.h"
#include <FastLED.h>
FASTLED_USING_NAMESPACE
#define NUM_LEDS 9
#define DATA_PIN 2
#define LED_TYPE WS2812
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];
#if cmds
#include <Cmd.h>
#endif
@@ -49,9 +59,12 @@ bool moveUp = false;
int motorPos = 0;
unsigned long ledTimer;
bool ledOn = false;
bool ledFeedback = false;
byte ledMode = 0;
bool lightOn = false;
bool lightOld = true;
#include "wifi.h"
#include "functions.h"
@@ -123,8 +136,13 @@ byte ledMode = 0;
BlynkTimer timer1;
#endif
void setup() {
//FastLED.addLeds<WS2811, 2, GRB>(leds, NUM_LEDS);
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
pinMode(ledPin,OUTPUT);
digitalWrite(ledPin,LOW);
@@ -172,12 +190,16 @@ void setup() {
Serial.print(F("Loaded | Position S|C : ")); Serial.print(savedPosition); Serial.print("|"); Serial.println(stepper.currentPosition());
FastLED.setBrightness(ledBrightness);
FastLED.setDither(1);
}
void loop() {
if (ledOn == true) {
ledFeedback();
if (ledFeedback == true) {
ledFeedbackf();
}
#if cmds
@@ -199,10 +221,29 @@ void loop() {
stepper.run(); //AccelStepper runs here
moveNow();
lightControl();
FastLED.setBrightness(ledBrightness);
FastLED.show();
}
void lightControl() {
if (lightOn == true && lightOld != lightOn) {
for (int i = 0;i<NUM_LEDS;i++) {
leds[i] = CRGB::White;
}
}
if (lightOn == false) {
for (int i=0;i<NUM_LEDS;i++) {
leds[i].fadeToBlackBy( 32 );
}
}
lightOld = lightOn;
}
+9
View File
@@ -21,3 +21,12 @@ BLYNK_WRITE(V13) {
BLYNK_WRITE(V20) {
motorPos = param.asInt();
}
BLYNK_WRITE(V21) {
lightOn = param.asInt();
}
BLYNK_WRITE(V22) {
ledBrightness = param.asInt();
}