Forum: Mikrocontroller und Digitale Elektronik Zwei Bauteile an einem ESP8266


von Torben S. (Firma: privat) (torben_25)


Lesenswert?

Hallo ich möchte mit dem ESP8266 und dem B180-Temperatursensor die 
Temperatur messen und auf einem LCD ausgeben. Sowohl der B180 als auch 
das LCD verwenden SCL und SDA auf Pin D1 bzw. Pin D2. Wie kann ich beide 
Bauteile gleichzeitig betreiben?

von Sebastian R. (sebastian_r569)


Lesenswert?

Indem du dir mal anschaust, was es mit I2C-Adressierung auf sich hat :)

von Chris L. (kingkernel)


Lesenswert?

I²C ist ein Bus, auf dem mehrere Devices Daten übertragen dürfen. 
Auseinanderhalten kann sie der Master über ihre jeweiligen Adressen. Bei 
Sensoren sind diese meist leider fest vergeben. Bei anderen Devices 
kannst du sie über Adresspins am IC, in bestimmten grenzen, selbst 
bestimmen.
Wahrscheinlich haben dein Sensor und das LCD unterschiedliche Adressen, 
müsste man mal testen und im Datenblatt schauen.

von Εrnst B. (ernst)


Lesenswert?

Falle bei den typischen Aliexpress/EBay-Breakout-Boards: Da sind 
jedesmal Pull-Up-Widerstände verbaut, die's am Bus eigentlich nur einmal 
bräuchte.
In Grenzen klappt das Parallelschalten noch, aber wenn es zuviele 
Platinchen werden, gibt der Bus irgendwann auf.

von Michael U. (amiga)


Lesenswert?

Hallo,

Εrnst B. schrieb:
> Falle bei den typischen Aliexpress/EBay-Breakout-Boards: Da sind
> jedesmal Pull-Up-Widerstände verbaut, die's am Bus eigentlich nur einmal
> bräuchte.
Üblicherweise sind da 10k, manchmal auch 4,4k.

> In Grenzen klappt das Parallelschalten noch, aber wenn es zuviele
> Platinchen werden, gibt der Bus irgendwann auf.
Bei den 12mA Ausgangsstrom des ESP8266 erreicht man diesen Zustand also 
bei ca. 10...30 solcher Boards. Viel öfter macht die Kombination längere 
Leitung zum Board da Probleme, weil da 10k schon zu hochohmig sein 
können.

Gruß aus Berlin
Michael

von Εrnst B. (ernst)


Lesenswert?

Michael U. schrieb:
> Bei den 12mA Ausgangsstrom des ESP8266 erreicht man diesen Zustand also
> bei ca. 10...30 solcher Boards.

Nicht nur der ESP muss die Pullups überwinden, auch jedes einzelne 
Device am Bus.
Die Rechnung geht also nur auf, wenn die Devices auch alle >12mA sinken 
können.

von Rainer W. (rawi)


Lesenswert?

Torben S. schrieb:
> Wie kann ich beide Bauteile gleichzeitig betreiben?

Mit der richtigen Software. Du kannst sie zwar gleichzeitig anschließen, 
aber der ESP8266 kann sich immer nur mit einem von beiden gleichzeitig 
unterhalten.

von Sebastian W. (wangnick)


Lesenswert?

Torben S. schrieb:
> Sowohl der B180 als auch das LCD verwenden SCL und SDA auf Pin D1 bzw.
> Pin D2. Wie kann ich beide Bauteile gleichzeitig betreiben?

Alle SCL miteinander verbinden. Alle SDA miteinander verbinden. SCL und 
SDA brauchen jeweils einen Pullup-Widerstand zu VCC 3V3. Falls B180 oder 
LCD 5V-Module sind geht es allerdings eventuell nicht so einfach.

LG, Sebastian

von Michael U. (amiga)


Lesenswert?

Hallo,

Εrnst B. schrieb:
> Michael U. schrieb:
>> Bei den 12mA Ausgangsstrom des ESP8266 erreicht man diesen Zustand also
>> bei ca. 10...30 solcher Boards.
>
> Nicht nur der ESP muss die Pullups überwinden, auch jedes einzelne
> Device am Bus.
> Die Rechnung geht also nur auf, wenn die Devices auch alle >12mA sinken
> können.

Damit hast Du durchaus recht, ich habe gerade mal gkramt:
bis 2000 war für 400kHz weniger als 0,6V bei 3mA Pflicht, das ist 
rausgeflogen. Jetzt ist die Definition scwhamimger...
3mA darf der PullUp liefern bei max. 400pF Kapazität bei 400kHz.

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.