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?
Indem du dir mal anschaust, was es mit I2C-Adressierung auf sich hat :)
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.
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.
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
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.