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

8

Ich habe das kapazitive Touchsensor-Breakout-Board Sparkfun MPR121 I2C

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 ebenfalls 3,3 V benötigen würden. Wie verbinde ich die anderen Leitungen?

Ich habe ein Tutorial auf der Sparkfun-Website 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.

Ashley Hughes
quelle
3
Anschließen

Antworten:

14

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

Alt-Text

Dies stammt direkt aus einem Philips Anwendungshinweis .

vicatcu
quelle
Diese Phillips-Appnote ist praktisch ein Klassiker.
Kevin Vermeer
@reemrevnivek ja, und in der Tat sehr klug
vicatcu
Ich zähle 2 Klimmzüge mehr als normal. Nicht ganz genau: P
Nick T
4

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. Es sieht so aus, als hätte SparkFun auch dafür eine Lösung:

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

Craig
quelle
Ich habe eine davon zu Hause, bin mir aber nicht sicher, wie ich sie anschließen soll, da I2C mehr als eine Leitung hat. und ist bidirektional
Ashley Hughes
Laut einigen Benutzerkommentaren auf dieser Seite sollen die TX-Leitungen bidirektional sein. Ich gehe also davon aus, dass Sie beispielsweise SDA mit TX1 und SCL mit TX2 verbinden.
Craig
1
Wenn Sie sich das Datenblatt ansehen, ist es fast dasselbe wie das Schema, das vicatcu in seiner Antwort veröffentlicht hat. Und erfahrungsgemäß sind sie bidirektional.
jsolarski