IKEA Dioder und Arduino – ein erster Test

In der Nachbarschaft blinkt und leuchtet es schon wieder recht kräftig. Wie immer, knapp bei Kasse und eher bastelwillig suchte ich mal, was ich denn basteln könnte um die Nachbarn auch weihnatlich mit Licht zu nerven einzustimmen. Da liegt ja noch so ein IKEA DIODER rum, den ich eigentlich kaum verwende. Ob man den eventuell per Arduino steuern könnte? Gesagt getan, Multimeter raus gekramt und erst mal ausgemessen: Betriebsspannung 12V, Strom für einen Strip zwischen 16,1 mA und 44,7 mA bei 12V.
Auf der Rückseite des Dioder-Strips steht passenderweise die Pinbelegung: RBGW, wobei W +12V sind. Widerstände sind im Strip selber schon enthalten, daher verzichtete ich auf Vorwiderstände. Der Arduino selber liefert 5V mit maximal 40 mA per digitalem Ausgang. Daher bedueten 12V Betriebsspannung und bis zu ca. 45 mA Strom, dass man den Strip am besten über einen Transistor oder MOSFET. BC337-40 NPN Transistoren hatte ich gerade da (Notiz an mich: MOSFTEs kaufen), es konnte also los gehen.

Nächster Schritt: Datenblatt des BC337-40 angeschaut, festgestellt, dass der die LEDs locker ansteuern kann und maximal 100 mA Baisstrom auf Dauer verträgt. Soweit so gut, 5V Maximalspannung am Ausgang des Arduino, da kann man dann ja einen Widerstand rein hängen um den Basistrom (IB) zu begrenzen. Aber wie hoch soll der werden? Meine letzten Reste an Elektrotechnikwissen rausgekramt und nachgeschaut wie hoch denn der „DC current gain“ des BC337-40 wäre. Der läge bei einem Collectorstrom (IC) von 40 mA und VCE von 1 V bei ca. 150. Wenn ich mich nicht total irre, bräuchte ich also mindestens 0,3 mA IB um den einen Strip richtig bedienen zu können.  Da ich einen 1,3 kΩ Widerstand zwischen Arduino und Basis verwendete und IB daher auf ca. 3,8 mA beschränkte, sollte das auch kein Problem darstellen.

Flugs mal eben die Schaltung zusammen gesteckt.

Schaltplan zur Dioder Ansteuerung

Schaltplan zu Dioder Ansteuerung. Die einzelnen LEDs stehen für die jeweiligen Anschlüsse.

Eine kleinen Testcode geschrieben:

//PINs festlegen
#define R 3
#define B 5
#define G 6

//PINs als Ausgang festlegen und auf 0V setzen
void setup() {
   pinMode(R, OUTPUT);
   pinMode(G, OUTPUT);
   pinMode(B, OUTPUT);
   digitalWrite(R, LOW);
   digitalWrite(G, LOW);
   digitalWrite(B, LOW);
}

//kleiner Regenbogen
void loop() {
   setColor(155,0,0);
   delay(150);
   setColor(155,27,0);
   delay(150);
   setColor(155,155,0);
   delay(150);
   setColor(0,155,0);
   delay(150);
   setColor(0,0,55);
   delay(150);
   setColor(10,0,30);
   delay(150);
   setColor(43,0,55);
   delay(150);
}

//eine Funktion die RGB-Farben nimmt und auf den Strip ausgibt
void setColor(uint8_t r, uint8_t g, uint8_t b) {
   if(r > 255) r = 255;
   if(g > 255) g = 255;
   if(b > 255) b = 255;
   analogWrite(R, r);
   analogWrite(G, g);
   analogWrite(B, b);
}

Kompiliert und hochgeladen. Läuft und blinkt.

Na klar, war ich nicht der erste, der sich damit beschäftigt hat. Und wie immer, fällt einem bei so einfachen Sachen erst hinterher ein zu schauen, was es denn schon alles gibt. Ich bin dann auf FastLED und auf einen Artikel bei tronixstuff gestoßen. Im Artikel wird die Ansteuerung mit MOSFETs und auch das Steuergerät von IKEA beschrieben. Scheinbar gab es sogar mal DIODER mit reprogrammierbaren Steuereinheiten – ich muss meinen wohl doch mal aufmachen.

Dieser Beitrag wurde unter Arduino, Projekte abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *