Da der Arduino (und Basic Stamp) 5V-Geräte sind und die meisten modernen Sensoren, Displays, Flash-Karten und Modi nur 3,3V haben, stellen viele Hersteller fest, dass sie eine Pegelverschiebung/-umwandlung durchführen müssen, um das 3,3V-Gerät vor 5V zu schützen.
Obwohl man Widerstände verwenden kann, um einen Teiler zu machen, können die Widerstände bei Hochgeschwindigkeitsübertragungen eine Menge Schwankungen hinzufügen und Chaos verursachen, das schwer zu debuggen ist. Aus diesem Grund verwenden wir gerne die 4050/74LVX245-Serie und ähnliche Logik, um eine korrekte Pegelverschiebung durchzuführen. Das einzige Problem ist, dass sie nur in eine Richtung gut sind, was für einige spezielle bi-diektionale Schnittstellen ein Problem sein kann und auch die Verdrahtung ein wenig haarig macht.
Hier kommt dieser schöne Chip, der bidirektionale Pegelwandler TXB0104 ins Spiel! Dieser Chip führt eine bidirektionale Pegelverschiebung von so ziemlich jeder Spannung zu jeder Spannung durch und erkennt
auto-detect the direction. Das einzige, was mit diesem Chip nicht gut funktioniert, ist i2c (weil er starke Pullups verwendet, die den Sensor für die automatische Richtungserkennung verwirren) oder Steuerleitungen mit viel Kapazität auf ihnen. Wenn Sie Pullups verwenden müssen, können Sie das tun, aber sie sollten mindestens 50K Ohm haben - die in den AVRs/Arduino eingebauten sind etwa 100K Ohm, also sind die OK! Es ist ein wenig luxuriöser als ein 74LVX245, aber wenn Sie sich nicht um Richtungspins kümmern wollen, ist dies ein Lebensretter!
Da dieser Chip ein spezieller bidirektionaler Pegelschieber ist, hat er keine starken Ausgangspins, die LEDs oder lange Kabel treiben können, er ist dafür gedacht, auf einem Breadboard zwischen zwei Logikchips zu sitzen! Wenn Sie keine sofortige bidirektionale Unterstützung benötigen, empfehlen wir den 74LVX245 wie unten, der stärkere Ausgangstreiber hat.
Dieser Breakout erspart Ihnen das Löten der sehr feinen Pitch-Gehäuse, mit denen dieser Chip geliefert wird. Wir fügen auch 0,1uF-Kappen auf beiden Seiten und einen 10K-Pull-Up-Widerstand am Output-Enable-Pin hinzu, so dass Sie den Chip sofort verwenden können!