• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z FastLed.h
#1
Witam.Na początku chciałbym powiedzieć że jestem początkujący w arduino jak i również w  bibliotece FastLed.h.Mam zmienną switchonoff2 którego można po dotknięciu przełaczyć on/off działający na ttp223.Na początku miałem taki plan: jeśli switchonoff2== HIGH to skaluj jasność z 255 do zera i jeśli LOW to odwrotnie.To mi się udało zrobić.Później chciałem podpiąć pod if switchonoff2 ==HIGH zmienną onoff=1; i adekwantnie do LOW na odwrót.Napisałem if który by to sprawdzał i w tym if umieściłem troche zaporzyczony kod od innego projektu.(troche przerobiłem).Problem tkwi w tym że jak włączam switchonoff2 to drugi pasek się uruchamia tylko problem w tym,że ten kod powoduje jakieś komplikacje i  dioda odświerza się tak jakby chciała a nie mogła.Automatycznie jak włącze diode to i druga odświerza sie tak z oporem jakby z delayem sporym.Nawet jak usunołem delay (10); problem nie znikną.Nagrałem film żeby to zilustrować:https://youtu.be/VYqGFTo82N4
Plus kod:
Kod:
#include "FastLED.h"
#define NUM_LEDS 2 // liczba led 1 paska
CRGB leds[NUM_LEDS]; //tablica 1 paska
#define PIN 7 // data ws2812b 1 paska
#define COLOR_ORDER GRB
int i = 255;
int j = 255;
int switchonnoff1 = 3; //switch włącz/wyłącz 1
int switchonnoff2 = 4; //switch włącz/wyłącz 2
//Animacja 2 paska led{
#define NUM_LEDSs 56
CRGBArray<NUM_LEDSs> ledss; //tablica 2 paska
uint8_t hue[NUM_LEDSs];
#define PINa 6 //data2 paska
int onoff = 0;
//}Animacja 2 paska led
void setup()
{
    FastLED.addLeds<WS2812B, PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
    //Animacja 2 paska led{
    FastLED.addLeds<NEOPIXEL, PINa>(ledss, NUM_LEDSs);
    for (int i = 0; i < NUM_LEDSs; i++) {
        hue[i] = 255 / NUM_LEDSs * i;
    }
    //}Animacja 2 paska led
}

void loop()
{
    leds[1].setRGB(255, 0, 255);
    leds[1].fadeLightBy(j);
    leds[0].setRGB(255, 255, 0);
    leds[0].fadeLightBy(i);
    if (digitalRead(switchonnoff1) == LOW) {
        if (i < 255) {
            i = i + 3;
        }
    }
    if (digitalRead(switchonnoff1) == HIGH) {
        if (i > 0) {
            i = i - 3;
        }
    }
    if (digitalRead(switchonnoff2) == LOW) {
        onoff = 0;
        if (j < 255) {
            j = j + 3;
        }
    }
    if (digitalRead(switchonnoff2) == HIGH) {
        onoff = 1;
        if (j > 0) {
            j = j - 3;
        }
    }
    FastLED.show();
    //Animacja 2 paska led{
    if (onoff == 1) {
        for (int i = 0; i < NUM_LEDSs; i++) {
            ledss[i] = CHSV(hue[i]++, 255, 255);
            FastLED.show();
        }
        //}Animacja 2 paska led
    }
}
 
Odpowiedź
  


Wiadomości w tym wątku
Problem z FastLed.h - przez kamil456 - 09-05-2019, 13:09
RE: Problem z FastLed.h - przez kaczakat - 09-05-2019, 18:58
RE: Problem z FastLed.h - przez kamil456 - 09-05-2019, 22:10
RE: Problem z FastLed.h - przez kaczakat - 10-05-2019, 00:34
RE: Problem z FastLed.h - przez kamil456 - 18-05-2019, 21:38
RE: Problem z FastLed.h - przez kaczakat - 19-05-2019, 20:29
RE: Problem z FastLed.h - przez es2 - 20-05-2019, 08:42
RE: Problem z FastLed.h - przez Jarewa0606 - 20-05-2019, 10:00

Skocz do:


Przeglądający: 1 gości