Ich habe große Probleme, einen Prototypen auszuführen, der aus zwei I2C-Modulen besteht, von denen eines zu Beginn deaktiviert ist.
Hier ist die Liste der Komponenten:
Das Feuchtigkeitssensormodul ist standardmäßig ausgeschaltet, um eine Oxidation der Sensorelektrode zu verhindern.
Wenn das Arduino startet, erzeugt der Strom, der in den SDA/SCL-Pins des Feuchtigkeitssensormoduls fließt, eine Schleife und kollidiert mit dem LCD-Modul.
Ich kann es zum Laufen bringen, wenn ich den Transistor entferne und den Vin-Pin des Feuchtigkeitssensors direkt mit dem Arduino Vout verbinde
Wie kann ich sie dazu bringen, zusammenzuarbeiten? Ich denke, ich sollte irgendwo eine Diode verwenden oder einen oder zwei weitere Transistoren verwenden, um zu verhindern, dass Strom in SDDA / SCL-Pins eintritt ...
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
I2C wurde nie entwickelt, um über große Entfernungen zu funktionieren, es ist nur zum Verbinden von Geräten auf derselben Leiterplatte oder benachbarten Leiterplatten gedacht. Die Kapazität langer Drähte tötet die Signalflanken. Es gibt jedoch Möglichkeiten, diese Arbeit zu erhalten. Dieser Hackaday-Artikel beschreibt einige Optionen. Von diesen Optionen sollten Sie wahrscheinlich einen differentiellen Buspuffer ( PCA9615 ) wählen. Der Differentialpuffer löst zwei Probleme für Sie: Er treibt Ihr langes Kabel an und löst das Kapazitätsproblem; und es schützt Sie vor Rauschen, das auf das Kabel induziert wird.
glen_geek
Trevor_G
Dämme
Rohat Kılıç
Dämme
stobbe