Neopixel am Arduino Uno: Unterschied zwischen den Versionen

Aus eLAB Wiki
Wechseln zu: Navigation, Suche
(new file)
 
 
Zeile 28: Zeile 28:
 
//Adafruit_NeoPixel pixels = Adafruit_NeoPixel(8, ledPin);
 
//Adafruit_NeoPixel pixels = Adafruit_NeoPixel(8, ledPin);
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numLeds, ledPin, NEO_GRB + NEO_KHZ800);
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numLeds, ledPin, NEO_GRB + NEO_KHZ800);
 
  
 
void setup() {
 
void setup() {
 
   strip.begin();
 
   strip.begin();
 
   strip.setBrightness(80); // 1/3 brightness
 
   strip.setBrightness(80); // 1/3 brightness
 
 
}
 
}
  
Zeile 39: Zeile 37:
 
   rainbow(30);
 
   rainbow(30);
 
   delay(10);
 
   delay(10);
 
 
 
}
 
}
 
  
 
void rainbow(uint8_t wait) {
 
void rainbow(uint8_t wait) {
Zeile 55: Zeile 50:
 
   }
 
   }
 
}
 
}
 
  
 
// Input a value 0 to 255 to get a color value.
 
// Input a value 0 to 255 to get a color value.
Zeile 72: Zeile 66:
 
   }
 
   }
 
}
 
}
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[Kategorie:Elektronik]]
 
[[Kategorie:Elektronik]]
 
[[Kategorie:Arduino]]
 
[[Kategorie:Arduino]]

Aktuelle Version vom 13. März 2018, 21:15 Uhr

Anschluss einer Neopixel-LED an den Arduino

Zum Anschluss einer Neopixel-LED an ein Arduino Board wird folgendes benötigt:


Neopixel Verdrahtung

Neopixel Schaltplan

Programm für den Arduino

Das Arduino Programm lässt die Neopixel-LEDs in Regenbogenfarben leuchten.

#include <Adafruit_NeoPixel.h>

// constants won't change. They're used here to 
// set pin numbers:
const int ledPin = 2;     // the number of the neopixel strip
const int numLeds = 8;

//Adafruit_NeoPixel pixels = Adafruit_NeoPixel(8, ledPin);
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numLeds, ledPin, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.setBrightness(80); // 1/3 brightness
}

void loop() {
  rainbow(30);
  delay(10);
}

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i*1+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  if(WheelPos < 85) {
    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } 
  else if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } 
  else {
    WheelPos -= 170;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}