Como funciona la comunicacin? La transmisin bidireccional serie se puede realizar a dos velocidades, el modo ms comn de funcionamiento es el estndar de 100kbit/s. Esta velocidad tambin puede llegar a 400Kbit/s en modo rpido o 3.4Mbit/s para aplicaciones industriales. Una vez montada la red tendr una apariencia como la de la figura 1. En esta imgen podemos observar ambas resistencias de pull-up en las dos lneas de comunicacin y la conexin de los diversos dispositivos.
figura
1
Esquema
de
comunicacin
I2C.
Dicha figura, muestra un momento dnde el uC de la derecha est funcionando como Master, es decir, estara enviando un mensaje a uno de los otros dispositivos. El Master, tal y como se ha comentado anteriormente, es el dispositivo emisor, es decir, es el que decide a quien y el que enviar. Cuando el Master inicia la transferencia de informacin hacia el Slave, genera la seal de Clock, es decir, tal y como observamos en la figura 2, enviaremos la informacin y unos microsegundos despus generamos la seal de Clock (SCL).
Ejemplos prcticos. 1 Comunicacin con un sensor de temperatura TC74A0. En este primer ejemplo vamos a trabajar con un sensor de temperatura I2C como el que podemos observar en la figura 3.
figura
3
Pineado
del
sensor.
Tal y como hemos comentado anteriormente, cada dispositivo debe tener un cdigo propio para ser reconocido dentro de la red. Este tipo de sensores, tal y como observamos en la figura 4, disponen de un nmero de comunicacin que viene indicado en su datasheet.
figura
4
Direccin
del
sensor.
Como
vemos,
en
funcin
de
la
nomenclatura
del
sensor
el
cdigo
vara
y
es
nico
para
cada
modelo.
As
que
para
el
modelo
TC74A0
el
nmero
de
comunicacin
ser
el
72
o
0100
1000
y
para
el
modelo
TC74A5
el
nmero
ser
el
77
o
0100
1101.
NOTA:
Se
nombra
el
modelo
de
sensor
TC74A5
porque
este
se
utilizar
junto
al
TC74A0
en
el
segundo
ejemplo.
Una vez identificadas las ids por los que podremos localizar a los sensores de temperatura, debemos localizar los pins del Atmega con los que construiremos las vas de comunicacin I2C. En este tutorial utilizaremos para la realizacin de la totalidad de los ejemplos dos placas de Arduino, la Arduino UNO y la Arduino MEGA. Tal y como observaremos en los esquemas realizados con Fritzing, los pines de comunicacin son: Arduino UNO. SDA = A4 Arduino MEGA. SDA = 20 SCL = A5 SCL = 21
2 Comunicacin con una red de sensores de temperatura TC74A0 y TC74A5. Este ejemplo ser prcticamente igual al anterior. Tal y como hemos indicado en la figura 4, deberemos aadir el cdigo del nuevo sensor (TC74A5) en la programacin a ms a ms de incorporarlo en nuestra red de comunicacin. 3 Comunicacin entre Arduino UNO y Arduino MEGA. En el ltimo ejemplo, vamos a realizar una comunicacin entre dos Arduinos. Vamos a comunicar un Arduino UNO y un Arduino MEGA. Para ello, necesitaremos realizar dos cdigos de programacin diferentes. Un cdigo para Arduino UNO, el cual funcionar como MASTER, y otro cdigo para el Arduino MEGA, el cual actuar de SLAVE.