Comment faire parler un Arduino (5 V) et un MPR121 (3,3 V)?

8

J'ai la carte de dérivation de capteur tactile capacitif Sparkfun MPR121 I2C

J'ai lu qu'il utilise 3,3 V, je sais que je ne peux pas simplement connecter la sortie d'alimentation 3,3 V de l'Arduino car les lignes de communication nécessiteraient également 3,3 V. Comment connecter les autres lignes?

J'ai trouvé un tutoriel sur le site Web de Sparkfun . Le 3ème diagramme utilisant la diode - serait-ce la meilleure façon d'interfacer le capteur à l'Arduino?

Toute idée ou information serait formidable, ma connaissance est assez faible.

Ashley Hughes
la source
3
Connexion d'un capteur I2C 3,3 V (différent) à Arduino electronics.stackexchange.com/questions/708/…
Toby Jaffey

Réponses:

14

Vous pouvez le faire en utilisant exactement deux transistors, ce qui est assez lisse.

texte alternatif

Cela vient directement d'une note d'application Philips .

vicatcu
la source
Cette note Phillips est pratiquement un classique.
Kevin Vermeer
@reemrevnivek oui, et très intelligent en effet
vicatcu
Je compte 2 tractions de plus que la normale. Pas tout à fait exact: P
Nick T
4

Selon la consommation actuelle de l'appareil en question, la sortie 3,3 V de l'arduino devrait suffire. En ce qui concerne les lignes de communication, vous aurez besoin d'un certain type de décalage de niveau. On dirait que SparkFun a aussi une solution pour cela:

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

Craig
la source
J'en ai un à la maison, je ne sais pas comment le brancher car I2C a plus d'une ligne. et est bidirectionnel
Ashley Hughes
Selon certains des commentaires des utilisateurs sur cette page, les lignes «TX» sont censées être bidirectionnelles. Je suppose donc que vous connectez SDA à TX1 et SCL à TX2, par exemple.
Craig
1
Si vous regardez la fiche technique, c'est presque le même que le schéma que vicatcu a publié dans sa réponse. Et selon l'expérience, ils sont bidirectionnels.
jsolarski