video_vorschaubild

Dazu benötigen wir:

 

 

Schaltplan

rgb1

 

Zuerst verdrahten wir die gesamten Komponenten entsprechend des Schaltplans. Die 3 LEDs vor dem Gate des Mosfets sind optional. Diese dienen nur dazu den Ausgangspegel des jeweiligen Kanals zu visualisieren.

Der DC  Step-Down (LM2596S) ist ebenfalls optional.
Lässt man diesen weg, muss der Arduino allerdings über USB oder den Stromanschluss mit Strom versorgt werden. Der Arduino hat zwar einen DC  Step-Down integriert, aber da dieser sehr schnell heiß wird habe ich mich dazu entschlossen den Step-Down über ein externes Bauteil zu realisieren.
Bei Verwendung des LM2596S muss man die 12V Stromquelle mit den Eingangspins des LM2596S verbinden und mit einem Multimeter an den Ausgangspins die Spannung überprüfen. Der LM2596S hat eine Einstellschraube für die Ausgangsspannung. An dieser drehen wir nun so lange, bis die Spannung am Ausgang möglichst genau 8V beträgt.
Ist die Ausgangsspannung eingestellt, verbinden wir die Ausgangspins mit VIN und GND des Arduino.

 

 

Display (optional)

Das OLED Display habe ich nicht in den Schaltplan mit aufgenommen. Da ich ein Display mit I2C Schnittstelle verwendet habe (OLED Display 128×64) ist das aber schnell erklärt.
Dieses wird wie folgt mit dem Arduino verdrahtet.

Display Arduino
VCC 3,3V
GND GND
SDA A4
SCL A5

ACHTUNG!!! Wenn kein Display am I2C angeschlossen ist, muss das Display im Sketch-Konfigurationsbereich deaktiviert werden, ansonsten hängt sich das Sketch auf, wenn das Display angesprochen wird!

 

 

Sketch einrichten

Das notwendige Sketch für den Arduino könnt ihr unter dem folgenden Link downloaden.
http://smarthomeyourself.de/hc_downloads/arduino/homecontrol_rgb_stripe_controller.ino

 

Der Sketch startet auf dem Arduino einen Webserver, der die aktuelle Farbeinstellung anzeigt und diese ändern lässt. Ebenfalls kann man über URL-Parameter von außen direkt die Farbwerte setzen. Der Webserver lauscht auf die Parameter red, green und blue.
Diese Parameter akzeptieren Zahlen zwischen 0 und 255.

Beispiel:
http://IP_DES_CONTROLLERS/rawCmd?red=75&green=0&blue=100

webintf

Wird die Farbeinstellung geändert, werden diese neuen Werte, falls useEepromToStoreSettings aktiviert ist, ins EEPROM geschrieben und beim nächsten Start wieder geladen. So startet das System immer mit der zuletzt eingestellten Farbeinstellung. Das hat allerdings zur Folge dass nach 100.000 Schaltvorgängen die Speicherbereiche des EEPROM den Geist aufgeben.
Ist useEepromToStoreSettings deaktiviert startet das System immer im ausgeschalteten Zustand. (Rot, Grün und Blau = 0)

 

Um das Sketch zu installieren öffnet Ihr die Datei mit dem Arduino-Editor. Wie Ihr die Arduino-Software einrichtet, falls noch nicht geschehen, erfahrt Ihr hier:
http://smarthomeyourself.de/anleitung-zum-selber-bauen/arduino-ide-installieren/

 

Die benötigten Librarys findet Ihr hier:
OLED Display
Da das Sketch sonst zu groß geworden wäre, habe ich auf die sonst übliche GFX-Lib verzichtet und eine reine Text-Library für das Display verwendet
http://smarthomeyourself.de/hc_downloads/arduino/SSD1306Ascii.rar

Alternative Ethernet Library UIPEthernet.h
wird nur benötigt, wenn ENC28J60 anstelle eines Ethernet-Shield verwendet wird
http://smarthomeyourself.de/hc_downloads/arduino/arduino_uip.rar

 

 

Am Anfang des Sketchs findet Ihr die folgenden Einstellungen. Passt diese frei nach euren Bedürfnissen an und ladet anschließend das Sketch auf euren Arduino.

// ---------------------------------------------------------------
// --                      START CONFIG                         --
// ---------------------------------------------------------------
// Display
boolean useDisplay = false;
#define OLED_I2C_ADDRESS 0x3C
// Display-Timeout in ms
long displayTimeout = 60000; 

// Die 3 RGB-Pins müssen PWM-fähig sein
#define RED_PIN 3
#define GREEN_PIN 5
#define BLUE_PIN 6

// Netzwerk
unsigned char _mac[]  = {0xB2, 0xAB, 0x32, 0x56, 0xFE, 0x0D  };
unsigned char _ip[]   = { 192, 168, 1, 130 };
unsigned char _dns[]  = { 192, 168, 1, 15  };
unsigned char _gate[] = { 192, 168, 1, 15  };
unsigned char _mask[] = { 255, 255, 255, 0  };

// EEPROM
// Ist das EEPROM aktiviert, werden bei Neustart die zuletzt verwendeten Farbwerte geladen. 
// Bei Deaktiviertem EEPROM wird mit Default R=0, G=0, B=0 gestartet.
// Deaktivieren um EEPROM zu schonen (da maximal 100.000 Schreibzyklen)
boolean useEepromToStoreSettings = false;

// Serielle Ausgabe zu Debugzwecken aktivierbar
boolean serialOut = true;
// --------------------------------------------------------------- 
// -- END CONFIG -- 
// ---------------------------------------------------------------

 

Prüft nach anpassen der Einstellungen des Sketches unter „Werkzeuge“ noch, dass auch der richtige Arduino-Typ und Port in der Software ausgewählt sind.

settings

 

 

Sobald Ihr alle Einstellungen angepasst habt, könnt Ihr das Sketch auf den Arduino hochladen.

upload

 

Wenn alles geklappt hat sollte der RGB-Controller nun einsatzbereit sein.

 

Die STL-Dateien findet Ihr auf Thingiverse unter:
http://www.thingiverse.com/thing:2044160

 

Zum Abschluss gibt es die ganze Anleitung noch mal als Video:

[wpdevart_youtube]aFa4TZYteyk[/wpdevart_youtube]


Bei Links auf Amazon-Artikel handelt es sich um Affiliate-Links. In diesen Links wird meine Amazon-Partner-Id mit übergeben, wodurch ich eine kleine Provision für eure Käufe erhalte. Ihr zahlt natürlich das gleiche wie sonst auch.
Ich würde mich freuen, wenn Ihr bei eurer Bestellung die Links verwendet und mich so einfach und für euch kostenlos unterstützt, um weiterhin neue Projekte mit euch teilen zu können.

Vielen Dank für euer Verständnis und eure Unterstützung!


Diese Webseite verwendet Cookies, um die Nutzung der Seite zu verbessern, den Erfolg von Werbemaßnahmen zu messen und interessengerechte Werbung anzuzeigen.
Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen.

Wenn Sie diese Website ohne Änderung der Cookie-Einstellungen verwenden oder auf "Akzeptieren" klicken, erklären Sie sich damit einverstanden.

Weitere Informationen zu den verwendeten Cookies und unseren Datenschutzbestimmungen finden Sie in unseren Datenschutzbestimmungen.

Schließen