Duda I2C

Buenos dias, como algunos recordareis empezamos el ardumeteo. Ahora fuera de la VirtualCamp voy a mejorar el proyecto. He podido conectar el barometro por i2c, pero no esotoy seguro de como conectar varios dispositivos por i2c de 5 v y de 3,3 v. No se si tengo que poner las resistencias pull-up a 5v o si funcionarán conectandolos a 3,3v o si tengo que hacer algun circuito para cada voltaje.
Alguno ha hecho algún proyecto I2C con dispositivos de diferente voltaje?

haber si te sirve esto que ha salido en google

eskerrik asko ionhs,
es la única solución que había encontrado por internet, quería ver si me libraba de poner los transistores. Veo que voy a tener que montar una plaquita.....

No hay nada mejor que mirar en la especificación del bus, muy probablemente los creadores lo tuvieran en cuenta y lo documentaran y así es. Sección 18.1 'Connecting devices with different logic levels' de la especificación I2C (página 43): http://www.nxp.com/documents/other/39340011.pdf

Si lo quieres ya hecho, sparkfun lo tiene: http://www.sparkfun.com/products/8745
Lo único que tienes que usar las líneas TX de cada canal, ya que las RX son divisores de tensión y no sirven para trabajar en bidireccional.

Un saludo

Edito: sin transistores difícil es hacer que algo funcione en bidireccional con diferentes tensiones, en unidireccional se pueden hacer algunas chapucillas, pero ésto ya es más difícil.

Gracias Chiva,
veo que como me lo temía tendré que usar transistores, tengo un expansor de I2C, pero no el logic level converter, y Bricogeek, por lo que veo tampoco.

el que dice chiva lo compre yo en bricogeek para lo mismo. necesitas alimentación a 3,3 voltios, y 5 voltios.

tiens lado LV ( low voltage) y lado HV ( high voltage) para utilizarlo con i2c unes TXI con RXO y RXI con TXO tanto del lado de HV como de LV, ahora es como si tuvieras 4 patillas, una en cada esquina. En HV metes 5 voltios y en LV metes 3,3 voltios y ambas GND.

De esta forma utilizas el dispositivo de forma bidireccional, yo tuve que utilizarlo para los senores de la wii y funciona Ok .

Un saludo

SrDonGato, por que dices que hay que unir TXI con RXO?

Para que funcione bidireccionalmente con I2C

Si no queda muy calro subo una foto de como conectarlo. voy a ponerme a ello.

[EDITO]

Os he subido una foto de como se hacen las conexiones, en amarillo la conexión que hay que hacer , un saludo.

I2C5to3v3.JPG

Lo compraste en Sparkfun?

bricogeek

y yo que no lo encontraba, ya estoy haciendo otro pedido :wink:

Yo si no fuera por los gastos de envio pediria mas cosas ... pero es que 10 eur lo veo desproporcional. y para algo que vale 2 eur.
tendré que seguir esperando a necesitar mas cosas, para un pedido de unos 60 eur no está tan mal la cosa y ademas lo traen a casa.

tengo el quadcopter parao porque pedir las palas me salen 18 eur en casa 4 trozos de plastico. pero bueno ..

pronto tengo que pedir material :astonished:

SrDonGato:
Yo si no fuera por los gastos de envio pediria mas cosas ... pero es que 10 eur lo veo desproporcional. y para algo que vale 2 eur.
tendré que seguir esperando a necesitar mas cosas, para un pedido de unos 60 eur no está tan mal la cosa y ademas lo traen a casa.

tengo el quadcopter parao porque pedir las palas me salen 18 eur en casa 4 trozos de plastico. pero bueno ..

es que vaya pasada 10 euros de envio.

yo cada vez mas intento comprar las cosas de hong kong, esta claro que hay cosas que es imposible, pero vamos que prefiero esperar unas semanas y ya no solo por los 10euros. a ver si asi se les baja los humos y ponen gastos de envio reales. que lo que hacen ahora es, me da igual lo que pidas, me voy a llevar 6 euritos de ti "porque si".

SrDonGato, esas líneas no hay que unirlas, si miras el esquemático de sparkfun, puedes ver que la parte TX de cada canal (el circuito más a la izquierda) corresponde con el circuito que comento de la especificación del I2C, figura 45 de la página 43.

En Sparkfun te calculan el envío dinámicamente según el peso/volumen, cosa que el 99% de los comercios on-line en España no hacen.

Pacere ser que si chiva, lo hice asi porque lo encontré en un foro en inglés. Me funcionó de esa manera y así lo he dejado. de la forma que dices se usan tan solo los TX para que rule bidireccional.

tendré que probarlo, a ver cuando siga con el quadcopter.

un saludo

Yo lo uso como te he dicho y me va perfecto, es que es un conversor de niveles en el que el TX es bidireccional y el RX unidireccional