Wie bringe ich einen Arduino (5 V) und einen MPR121 (3,3 V) zum Sprechen?

Ich habe das Sparkfun MPR121 I2C Breakout Board für kapazitive Berührungssensoren

Ich habe gelesen, dass es 3,3 V verwendet, ich weiß, dass ich nicht einfach den 3,3-V-Stromversorgungsausgang des Arduino anschließen kann, da die Kommunikationsleitungen auch 3,3 V benötigen würden. Wie schließe ich die anderen Leitungen an?

Ich habe ein Tutorial auf der Website von Sparkfun gefunden . Das dritte Diagramm mit der Diode - wäre das der beste Weg, um den Sensor mit dem Arduino zu verbinden?

Irgendwelche Ideen oder Informationen wären großartig, mein Wissen ist ziemlich gering.

Anschließen eines (anderen) 3,3-V-I2C-Sensors an Arduino electronics.stackexchange.com/questions/708/…

Antworten (2)

Sie können es mit genau zwei Transistoren tun, was ziemlich glatt ist.

Alt-Text

Dies geht direkt aus einem Anwendungshinweis von Philips hervor .

Diese Phillips-Appnote ist praktisch ein Klassiker.
@reemrevnivek ja, und in der Tat sehr schlau
Ich zähle 2 Klimmzüge mehr als normal. Nicht ganz genau :P

Abhängig von der Stromaufnahme des betreffenden Geräts sollte der 3,3-V-Ausgang des Arduino ausreichen. Für die Kommunikationsleitungen benötigen Sie eine Art Pegelumsetzer. Sieht so aus, als hätte SparkFun auch dafür eine Lösung:

http://www.sparkfun.com/products/8745

Ich habe eine davon zu Hause, bin mir nur nicht sicher, wie ich sie anschließen soll, da I2C mehr als eine Leitung hat. und ist bidirektional
Laut einigen Benutzerkommentaren auf dieser Seite sollen die 'TX'-Leitungen bidirektional sein. Ich nehme also an, Sie würden zum Beispiel SDA mit TX1 und SCL mit TX2 verbinden.
Wenn Sie sich das Datenblatt ansehen, ist es fast dasselbe wie das Schema, das Vicatcu in seiner Antwort gepostet hat. Und erfahrungsgemäß sind sie bidirektional.