Ich habe SN74HC14 oder BC548 / 2N2222 Transistoren. Ich brauche einen Level-Shifter für I2C zwischen Arduino und RPi. Hier ist eine einfache Schaltung aus dem Internet
Das Problem ist, ich habe keine MOSFETs. Kann ich stattdessen NPN-Transistoren verwenden? oder verwende ich besser 2 74HC14 NOT-Gatter als einzelnen MOSFET?
Sie können versuchen, BJTs zu verwenden. Hier ist, was ich gebaut habe und es funktioniert (es hat jedoch einige Nachteile und funktioniert möglicherweise nicht in allen Fällen):
Quelle: http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter
Nein, das kannst du nicht. Der "Trick" bei der Verwendung von MOSFETs in dieser Art von Pegelumsetzern beruht auf der Tatsache, dass MOSFETs sehr symmetrische Geräte sind - für alle praktischen Zwecke können die Source- und Drain-Anschlüsse vertauscht werden und das Gerät funktioniert identisch (wobei die Auswirkungen des Körpers ignoriert werden Diode).
BJTs haben diese Symmetrieeigenschaft nicht. Die Basis-Emitter- und Basis-Kollektor-Übergänge sind absichtlich mit unterschiedlichen Eigenschaften hergestellt, und während Sie bei Verwendung in umgekehrter Richtung einen gewissen Gewinn erzielen, ist dies viel geringer als bei Verwendung in der richtigen Richtung.
Der 74HC14 hat Pins, die nur Eingang und Ausgang sind, und kann überhaupt nicht für bidirektionale Signale verwendet werden.
user_1818839