¿Cómo hago para que un Arduino (5 V) y un MPR121 (3,3 V) hablen?

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 simplemente conectar la salida de la fuente de alimentación de 3,3 V del Arduino, ya que las líneas de comunicación también requerirían 3,3 V. ¿Cómo conecto las otras líneas?

Encontré 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.

Conexión de un sensor I2C (diferente) de 3,3 V a Arduino electronics.stackexchange.com/questions/708/…

Respuestas (2)

Puede hacerlo usando exactamente dos transistores, lo cual es bastante ingenioso.

texto alternativo

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

Esa nota de Phillips es prácticamente un clásico.
@reemrevnivek sí, y muy inteligente por cierto
Cuento 2 dominadas más de lo normal. No del todo exacto :P

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

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

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
De acuerdo con 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ía SDA a TX1 y SCL a TX2, por ejemplo.
Si observa la hoja de datos, es casi lo mismo que el esquema que vicatcu publicó en su respuesta. Y según va la experiencia son bidireccionales.