Usando el PCF8575 i2c i/o Expander a leer entradas con Arduino (2 / 3 paso)

Paso 2: El código

Bueno ahora la parte de miedo - el código.

Si desea utilizar dispositivos i2c es mejor entender cómo funciona el código de lo contrario vas a tener muchos problemas por el camino.

I2C es manejado usando la Arduino biblioteca de alambre.

Entender vas a tener que hacer un poco de lectura i2c. Esperamos que sea muy confuso al principio. Si usted planea hacer cualquier electrónica intermedio y avanzado de aprendizaje i2c es imprescindible.

Voy a intentar dar una explicación muy simple de i2c.

Una cosa que usted notará, al empezar a trabajar con la electrónica, es que siempre tienes un lío de cables. Hace mucho tiempo que Phillips dijo 'el infierno con todos estos hilos - necesitamos una forma para todos los dispositivos hablar a unos de otros con sólo dos cables'. Poco después, se creó el i2c. Ahora usted puede comprar chips i2c que hacen casi todo, y todos estos chips son capaces de comunicarse entre si utilizando únicamente dos cables. I2C a menudo se llama la 'interfaz de dos hilos'.
¿Cómo estos dispositivos hablar? Bueno, todos tienen una dirección, mucho tienes una dirección de correo electrónico en su casa. Con esta dirección única puede hablar con cada dispositivo individualmente. El Arduino, que sería el dispositivo de maestro i2c, puede enviar instrucciones a los esclavos-i2c-dispositivos individuales usando un protocolo de comunicación de lujo. En Arduino, la comunicación de envío se ve así:

Wire.beginTransmission(aDeviceAddress); //who ¿estás hablando?
Wire.Send(someDate); Qué datos se están enviando este dispositivo
Wire.endTransmission(); terminar comunicación

Y la comunicación de la recepción se ve así:
dataReceived Byte [2]; //a dos byte array para mantener nuestros datos Wire.beginTransmission(aDeviceAddress); ///who está usted hablando? Wire.endTransmission(); //end comunicación Wire.requestFrom(aDeviceAddress,2); //request dos bytes de datos
if(Wire.Available()) {
dataReceived [0] = Wire.receive(); //read byte 1 dataReceived [1] = Wire.receive(); //read byte 2 }
La parte realmente difícil de i2c es interpretar la hoja de datos y la comprensión Cómo usted y espera recibir o enviar datos al dispositivo. Al escribir el código de i2c constantemente debe hacer referencia a la hoja de datos.

El archivo de código de Arduino se coloca por debajo.

Nota si está utilizando Arduino1.0
Declaraciones de Wire.Send y Wire.receive debe ser cambiaron a Wire.write y Wire.read

Artículos Relacionados

Usando un LCD I2C Attiny85

Usando un LCD I2C Attiny85

Con una pantalla LCD en un pequeño chip como un attiny85 no es realmente duro y hasta el reciente no incluso creo justificada una instructable, pero he recibido preguntas sobre él, para que así pueda ampliar sobre el proceso.Con el attiny tener sólo
Aplicación de la MCP-23008 usando Relé interfaz (I2C):

Aplicación de la MCP-23008 usando Relé interfaz (I2C):

HolaBueno saludos..!!I (Somanshu Choudhary) en nombre de empresas de tecnología Dcube va a control de relés mediante el protocolo I2C con Arduino nano y MCP23008.Paso 1: ResumenEl dispositivo de MCP23X08 proporciona 8 bits de propósito general, ampli
Cómo medida actual de AC usando el Sensor de efecto Hall con Arduino u otros microcontroladores comunes

Cómo medida actual de AC usando el Sensor de efecto Hall con Arduino u otros microcontroladores comunes

Un nuevo enfoque más simple consulte aquíObjetivo: Este Instructable muestra cómo hacer una caja de interfaz que, al empalmar un cable de extensión, permite a los microcontroladores comunes como Arduino a medida AC actual como una señal de voltaje DC
Interfaz TMP-112 con Arduino nano (I2C)

Interfaz TMP-112 con Arduino nano (I2C)

Hola,Bueno saludos..!!I (Somanshu Choudhary) en nombre de empresas de tecnología Dcube va a medir la temperatura con Arduino nano, es una de las aplicaciones del protocolo I2C para leer los datos analógicos de temperatura Sensor TMP-112.Paso 1: Resum
Interfaz ADC121C con Arduino nano(I2C)

Interfaz ADC121C con Arduino nano(I2C)

Hola,Bueno saludos..!!Hoy me (Somanshu Choudhary) en nombre de empresas de tecnología Dcube va ADC121C dispositivo usando Arduino, es una de las aplicaciones del protocolo I2C para leer los datos analógicos a través de Arduino.Paso 1: ResumenADC121C0
Pantalla OLED i2c con arduino

Pantalla OLED i2c con arduino

En este instructable mostraré cómo conectar y probar un 0,96" i2c pantalla OLED módulo a un arduino.Partes:Cables de protoboard y conexiónArduino (mediante un clon de 16mhz 5v nano v3 en este caso)Fuente de alimentación externa (5v regulados)La panta
El primer uso de 0,96" pantalla OLED de I2C con Arduino UNO

El primer uso de 0,96" pantalla OLED de I2C con Arduino UNO

Hoy, voy a mostrarte cómo utilizar 0,96" pantalla OLED de I2C con placa Arduino UNO. Hay un montón de diferentes tipos de pantallas OLED. Tengo 4-pines OLED pantalla conmigo. Esta muestra puede ser con pernos SPI en vez de I2C. Estas versiones se pue
Controlando pantalla LCD I2C con Arduino

Controlando pantalla LCD I2C con Arduino

Hace unos días nos llegaron unas LCD I2C de 16 × 2 y no se si alguna vez te ha pasado estas haciendo un proyecto con muchos componentes y debes usar una pantalla LCD se lleva 6 pines de tu Arduino y todo se vuelve un caos porque ya no tienes pines di
Luces de Navidad usando 8 canales relé con arduino

Luces de Navidad usando 8 canales relé con arduino

Tengo 16 años de viejo así que no son que amplia mis conocimientos sobre estos relés para otro instructivo para realizar investigaciones más haga clic aquí.O usted podría sacar de mi blog donde publico algunos de mis mejores proyectos!Este proyecto p
Usando el LED RGB con Arduino

Usando el LED RGB con Arduino

Hola chicos este es mi primer instructivo y mostrará usted cómo controlar LEDs RGB (rojo verde y azul). su no tan difícil de hacer pero los materiales que necesitará son;-Una placa de Arduino-RGB LED-los cables de puente-Breadboard(optional)recomiend
Arduino Nano: Sencillo SSD1306 I2C análogo exhibición de OLED con Visuino

Arduino Nano: Sencillo SSD1306 I2C análogo exhibición de OLED con Visuino

OLED muestra son algunos de los módulos más cool y más avanzados que puede utilizar en su proyecto de Arduino. Vienen en formato pequeño y tiene muy bajo consumo de energía al tiempo que ofrece colores vivos. Algunos de los más baratos y fácilmente d
Rotatorio a la unidad de entrada de Arduino usando LDR (resistor dependiente de luz)

Rotatorio a la unidad de entrada de Arduino usando LDR (resistor dependiente de luz)

desde mi experiencia, muchos dispositivos de entrada giratorios en Arduino dependen de un potenciómetro que permite una resistencia variable. en este instructable, vamos a intentar conseguir el mismo efecto utilizando una LDR, LED y una tira de papel
Controlador de Motor dual con Arduino usando un SN754410NE patio medio H-puente

Controlador de Motor dual con Arduino usando un SN754410NE patio medio H-puente

Una guía paso a paso proyecto por ArduinoFunCon este Instructable voy a mostrarle cómo utilizar un SN754410NE cuádruple puente H IC para controlar dos motores DC de 12 voltios.He añadido un video para que usted pueda ver el Motor de doble acción.  Co
Realidad usando Unity3D, Vuforia, Zigfu y Kinect: carácter de Control con tu cuerpo aumentada

Realidad usando Unity3D, Vuforia, Zigfu y Kinect: carácter de Control con tu cuerpo aumentada

Para más tutoriales de realidad aumentada, visitan aquí:1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.Paso 1: Descargar todo abajo y siga las instrucciones en el videoDescargar # Unity3D (descargar e instalar, si no lo tienes ya) (archivo *.exe)Unity3D también