Hallo ich habe noch einmal eine Frage zu der IR Fernbedienung. Also ich habe keine Probleme normale LED`s an und aus zuschalten. Doch jetzt habe ich versucht ein stück Strip von den WS2812B Strips zu schalten, so das ich mit jeder taste einen Pixel an schalte und mit der 0 Taste alle aus. Könnte einmal evll jemand über das Programm schauen ob ich da einen Fehler habe
ich finde nichts, also die einzel LED geht mit digitalWrite an und aus zu schalten nur an den Strip tut sich nicht.
#include <FastSPI_LED2.h>
#include <IRremote.h>
#define NUM_LEDS 5
#define DATA_PIN A5
CRGB leds[NUM_LEDS];
int RECV_PIN = 11; //define input pin on Arduino
int ledpin = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
for (int i=0;i < NUM_LEDS; i++) {leds[i] = CHSV(255,0,0);}
irrecv.enableIRIn(); // Start the receiver
pinMode(ledpin,OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value,HEX);
if (results.value == 0xFF6897) //Taste 1
{
digitalWrite(ledpin,HIGH);
leds[0] = CHSV(100,255,60);
}
if (results.value == 0xFF9867) //Taste 2
{
leds[1] = CHSV(100,255,60);
}
if (results.value == 0xFFB04F) //Taste 3
{
leds[2] = CHSV(100,255,60);
}
if (results.value == 0xFF30Cf) //Taste 4
{
leds[3] = CHSV(100,255,60);
}
if (results.value == 0xFF18F7) //Taste 5
{
leds[4] = CHSV(100,255,60);
}
/*
if (results.value == 0xFF7A85) //Taste 6
if (results.value == 0xFF10EF) //Taste 7
if (results.value == 0xFF38C7) //Taste 8
if (results.value == 0xFF5AA5) //Taste 9
*/
if (results.value == 0xFF4AB5) //Taste 0 für Aus
{
digitalWrite(ledpin,LOW);
for (int i=0;i < NUM_LEDS; i++) {leds[i] = CHSV(0,0,0);}
}
irrecv.resume(); // Receive the next value
}
}