Kann man an einem I2C Bus geräte ohne SDA oder SCL Anschließen?

Ich müsste Led Strips an einem I2C Bus anschließen. Also ist meine Frage da die Lichter Kette nur GND VCC und DI/DO hat ob man die Lichter Kette irgendwie an den I2C Bus bekommt ?

Mit freudlichen Grüßen
Kraddy

Hoffe das mir jemand helfen kann danke schon mal im voraus.

Ja!
Wenn du einen kleinen µC dazwischen baust.

An den I2C Bus kann man nur I2C Geräte anschließen.

Du kannst eine Controller als "Adapter" programmieren der Daten von I2C empfängt und an die LEDs (nehme mal an es sind WS2812) weitersendet. Je nach Anzahl der LEDs brauchst Du unter umständen größere Controller.

Grüße Uwe

hi,

so ganz verstehe ich das nicht. warum "mußt" Du das an I2C anschließen?

welche stripes sind das? oder ist das programm, das Du hast, auf I2C-ausgabe ausgelegt (zb. für PCA9685)? dann müßtest Du das programm anpassen,

gruß stefan

Danke für die Schnellen Antworten :slight_smile:

µC ist was ?

uwefed:
An den I2C Bus kann man nur I2C Geräte anschließen.

Du kannst eine Controller als "Adapter" programmieren der Daten von I2C empfängt und an die LEDs (nehme mal an es sind WS2812) weitersendet. Je nach Anzahl der LEDs brauchst Du unter umständen größere Controller.

Grüße Uwe

Danke Uwe für den Tipp aber könntest du mir vielleicht ein beispiel zeigen ?

Eisebaer:
hi,

so ganz verstehe ich das nicht. warum "mußt" Du das an I2C anschließen?

welche stripes sind das? oder ist das programm, das Du hast, auf I2C-ausgabe ausgelegt (zb. für PCA9685)? dann müßtest Du das programm anpassen,

gruß stefan

Hallo Stefan ich habe nur zwei frei Ports am ESP8266 und habe mir deshalb ein I2C Bus dran gebaut das ich mehrer Slaves Steuern kann.

µC ist was ?

Google gibt gerne Auskunft.

Kraddy18:
Hallo Stefan ich habe nur zwei frei Ports am ESP8266 und habe mir deshalb ein I2C Bus dran gebaut das ich mehrer Slaves Steuern kann.

Welchen Controller haben die LED-Strips?? Den Ws2812??

I2C kann nicht mit jedem x-beliebigen Pins gemacht werden.

Wieso Fragst Du in einem Arduino-Forum nach?

Grüße Uwe

uwefed:
Welchen Controller haben die LED-Strips?? Den Ws2812??

I2C kann nicht mit jedem x-beliebigen Pins gemacht werden.

Wieso Fragst Du in einem Arduino-Forum nach?

http://www.instructables.com/id/ESP8266-controlling-Neopixel-LEDs-using-Arduino-ID/

Grüße Uwe

Ja die Ws2812 benutze ich.
Ich habe rx und tx benutzt.

Weil ich nicht wusste das es sowas gab und ich dachte das macht kein unterschied weil das ja nichts damit zu tun hat oder ?

I2C kann nicht mit jedem x-beliebigen Pins gemacht werden.

Der ESP ist da recht flexibel...
Die I2C Ports können per internem Multiplexer auf verschiedene Pins gelegt werden.
Das macht die Arduino Lib automatisch wenn man beim Wire.begin(,); die Pins angibt.

Diese stehen dann natürlich nicht mehr für die Serielle zur Verfügung.

combie:
Der ESP ist da recht flexibel...
Die I2C Ports können per internem Multiplexer auf verschiedene Pins gelegt werden.
Das macht die Arduino Lib automatisch wenn man beim Wire.begin(,); die Pins angibt.

Diese stehen dann natürlich nicht mehr für die Serielle zur Verfügung.

Dies ist aber sinnlos über I2C und µC wenn man die LED-Streifen direkt ansteuern könnte.
Grüße Uwe

Dies ist aber sinnlos über I2C und µC wenn man die LED-Streifen direkt ansteuern könnte.

Das stimmt!

Aber manchmal kann man nicht.
In der ESP Welt herrscht chronischer Pinmangel

Ich habe auch ein paar ESP Module als I2C Master und mit Arduinos als Portexpander laufen.
Das ist schon eine brauchbare Konfiguration

Der Treadstarter hat immernochnicht gesagt welche LED er hat.

WS2812 braucht 1 Pin während I2C 2 Pins braucht.

grüße Uwe

uwefed:
Der Treadstarter hat immernochnicht gesagt welche LED er hat.

Doch, hat er...

uwefed:
WS2812 braucht 1 Pin während I2C 2 Pins braucht.

Wohl wahr....
Er möchte allerdings mehrere I2C Slaves anschließen. Und damit sind die Pins sowieso schon für I2C reserviert.

(kann auch sein, dass ich das alles völlig falsch verstanden habe)

combie:
Doch, hat er...

Jetzt sehe ich es auch.

Eine Lösung hatte ich schon im Post #6 gegeben: die WS2812 Strips am ESP8266 direkt ansteuern.

Grüße Uwe

combie:
Das stimmt!

Aber manchmal kann man nicht.
In der ESP Welt herrscht chronischer Pinmangel

Ich habe auch ein paar ESP Module als I2C Master und mit Arduinos als Portexpander laufen.
Das ist schon eine brauchbare Konfiguration

Coole Sache. Ich auch :smiley:

Wieviel bytes requestest du von den Arduino slaves maximal? Ich hatte da so meine Probleme...

Wieviel bytes requestest du von den Arduino slaves maximal? Ich hatte da so meine Probleme...

Der Buffer ist 32 Byte groß.
Bis dahin habe ich keine Probleme.

Ich hatte auch den puffer vergrößert. Mehr als 32 hab ich aber trotzdem nicht geschafft.
Ich habe es dann aber auch nicht mehr weiter verfolgt, da ich es auch nicht brauche...

Nur das bereitstellen der daten braucht dem esp beim request zu lange...
Auf was hast du das stretchlimit gestellt?

Verwendest du 3v3 arduinos oder 5v?

Nur das bereitstellen der daten braucht dem esp beim request zu lange...
Auf was hast du das stretchlimit gestellt?

Zu Anfang habe ich daran rum gedreht...

Jetzt bereite ich die zu sendenden Daten im Array vor.
Wenn nicht auf das Ende eines Interrupts gewartet werden muss, und im Request nichts berechnet werden muss, reicht die Zeit(meist)

Ansonsten, wenn es kracht, dann einfach nochmal versuchen.

Verwendest du 3v3 arduinos oder 5v?

Alles 5V 16MHz, bisher.

Kraddy18:
Ja die Ws2812 benutze ich.

Mit wie vielen LEDs?

agmue:
Mit wie vielen LEDs?

Insgesamt 450 LEDS :slight_smile: