2 votos

¿Cómo leo la memoria I2C con un Arduino?

Tengo el sensor de humedad HH100D. Emite una señal de frecuencia, que sé cómo manejar. Sin embargo, también tiene una pequeña EEPROM con valores de calibración que está disponible a través de I2C. Esos valores son necesarios para obtener la humedad real.

El problema es que soy muy nuevo en I2C. No puedo averiguar cómo leer esos bytes. He buscado en Google durante medio día y todavía no tengo ninguna solución.

Hay algo que tengo:

3voto

JW. Puntos 145

Usted va a querer utilizar el Arduino Biblioteca de cables (más detalles aquí ) para hablar con el dispositivo (viene incorporado con el IDE).

Las líneas I2C que necesitarás conectar entre tu Arduino y tu sensor son SDA, SCL y GND. A saber:

  • Arduino Analog Pin 4 = SDA = Sensor Pin SDA (2)
  • Arduino Analog Pin 5 = SCL = Sensor Pin SCL (1)
  • Pin GND Arduino = GND = Pin GND del sensor (5)

Dependiendo de la distancia entre el sensor y el Arduino, es posible que también necesite resistencias pull up externas (por ejemplo, 3,3 k Ohm) conectadas entre SDA, SCL y VCC.

Pero hay un problema. El sensor parece funcionar a 3,3V y el Arduino funciona a 5V. Así que para "interfaz" I2C entre ellos es necesario utilizar transistores para cambiar el nivel de la señalización como se describe en este otro post (con este referencia clave ). Vas a querer esas resistencias pull up que mencioné a cada lado de los transistores de conversión de nivel.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X