Neopixel - 3 Poti & OLED-Display


Bastelseite Display + Antriebe Sensoren C++


Neopixel

... und hier der Sketch mit drei Potis und dem OLED-Display!

OLED-Display anschließen

Die Schaltung mit den drei Potis und den Neopixeln wollte ich um ein Display erweitern, damit nicht immer der Laptop oder PC eingeschaltet werden muss.

Da ich bereits mit dem 0,96 Zoll OLED-Display monochrom sehr gute Erfahrungen gemacht hatte, habe ich dieses Display noch integriert:

VCC an Plus   und GND an Ground/GND/Masse  

SDA an A4   und SCL an A5   angeschlossen.
Dank I2C ist dieser Anschluß recht unkompliziert und einfach zu ergänzen.

Ein Band aus Neopixel


Sketch vom Strandtest3


Hier der Sketch mit 3 Potis und dem OLED-Display:



// Neopixel - Farben mit 3 Potis steuern über Display anzeigen
// OLED an UNO:
// SCL an SCL = A5
// SDA an SDA = A4
// VCC an +5V
// GND an GND

#include   Adafruit_NeoPixel.h>
#ifdef   __AVR__
#include  
#endif

// OLED
#include  SPI.h>
#include 
#include 
#define  OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
//
#define   PIN 8
#define   NUMPIXELS 16
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int  i, z;

int  PinR = 0;
int  PinG = 1;
int  PinB = 2;
int  WertR, WertG, WertB = 0;

void  setup() {
pixels.begin(); // Initialisierung der NeoPixel Bibliothek
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}

void  loop() {

WertR = map(analogRead(PinR), 0, 1023, 0, 255);
WertG = map(analogRead(PinG), 0, 1023, 0, 255);
WertB = map(analogRead(PinB), 0, 1023, 0, 255);

// OLED
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0, 5);
display.print("R: ");
display.println(WertR);
display.setCursor(0, 25);
display.print("G: ");
display.println(WertG);
display.setCursor(0, 45);
display.print("B: ");
display.println(WertB);
display.display();

for  (int  i = 0; i < NUMPIXELS; i++) {

// pixels.Color übernimmt die RGB-Werte, von 0,0,0 bis zu 255,255,255
pixels.setPixelColor(i, pixels.Color(WertR, WertG, WertB, 50)); // Helligkeit: 50 von 255
pixels.show(); // Dies sendet den Werteschlüssel an die Neopixel

delay(10); // Wartezeit (in milliseconds).
  }
}



Übersicht Seiten Anfang


brixelweb.de