¿Cómo consigo un Arduino (5 V) y MPR121 (3.3 V) para hablar?

8

Tengo la placa de conexión del sensor táctil capacitivo Sparkfun MPR121 I2C

He leído que usa 3.3 V, sé que no puedo conectar la salida de la fuente de alimentación de 3.3 V del Arduino ya que las líneas de comunicaciones requerirían 3.3 V también. ¿Cómo conecto las otras líneas?

He encontrado un tutorial en el sitio web de Sparkfun . El tercer diagrama que usa el diodo: ¿sería esa la mejor manera de conectar el sensor al Arduino?

Cualquier idea o información sería genial, mi conocimiento es bastante bajo.

Ashley Hughes
fuente
3
Conexión de un sensor I2C 3.3V (diferente) a Arduino electronics.stackexchange.com/questions/708/…
Toby Jaffey

Respuestas:

14

Puedes hacerlo usando exactamente dos transistores, lo cual es bastante hábil.

texto alternativo

Esto viene directamente de una nota de aplicación de Philips .

vicatcu
fuente
Esa nota de Phillips es prácticamente un clásico.
Kevin Vermeer
@reemrevnivek sí, y muy inteligente de hecho
vicatcu
Cuento 2 pull-ups más de lo normal. No del todo exacto: P
Nick T
4

Dependiendo del consumo actual del dispositivo en cuestión, la salida 3.3V del arduino debería ser suficiente. En cuanto a las líneas de comunicación, necesitará algún tipo de cambio de nivel. Parece que SparkFun también tiene una solución para eso:

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

Craig
fuente
Tengo uno de esos en casa, pero no estoy seguro de cómo conectarlo, ya que I2C tiene más de una línea. y es bidireccional
Ashley Hughes
Según algunos de los comentarios de los usuarios en esa página, se supone que las líneas 'TX' son bidireccionales. Así que supongo que conectarías SDA a TX1 y SCL a TX2, por ejemplo.
Craig
1
Si nos fijamos en la hoja de datos, es casi lo mismo que el esquema que vicatcu publicó en su respuesta. Y a medida que avanza la experiencia, son bidireccionales.
jsolarski