Cómo conectar dos Arduino Nano por I2C.

Hola a toda la comunidad. Tengo una duda. ¿De qué maneras puedo comunicar dos Arduino Nano entre sí? Sé que lo puedo hacer con I2C, y con Rx y Tx. Pero quiero saber con respecto a mi problema cuál es la aplicación más apropiada.
El problema que tengo es que quiero trabajar con dos Arduino Nano, en los cuales, uno de ellos trabaje como esclavo y el otro como maestro.
El Arduino Nano esclavo se encarga de recoger la lectura del tiempo del temporizador RTC DS1307, y las lecturas de la presión y la temperatura del barómetro BMP180.
A partir de ello, el Arduino Nano esclavo debe enviarle la información al Arduino Nano maestro. El Arduino Nano maestro ocupa esa información para enviarla a un celular a través del módulo de Bluetooth HC-05, y también para escribirla en un archivo en una memoria SD.
Por lo tanto, el esquema que representa el sistema del diseño que planteé se visualiza abajo.

Gracias por la atención prestada.

With one as a slave the I2C will work. RX and TX will also work but they are also used for the debugging and programming functions. You can use software serial and do the communications if you like. More complicated is using CAN, I2C, SPI, RS485 and many others. The separation of the two units will probably have the biggest influence on what you decide on. I posted this on multimaster:
This is doable however there is software and hardware overhead if the OLED Graphics Display is controlled with a multimaster and not on the I2C buss between microprocessors.
This is Directly from: MultiMaster - I2C Bus

"MultiMaster
There are I2C environments where multiple masters are driving the bus.
In such case each device needs to be able to cooperate with the fact that another device is currently talking and the bus is therefore busy.

This translates into:

a) Being able to follow arbitration logic. If two devices start to communicate at the same time the one writing more zeros to the bus (or the slower device) wins the arbitration and the other device immediately discontinues any operation on the bus.

b) Bus busy detection. Each device must detect an ongoing bus communication and must not interrupt it. This is achieved by recognizing traffic and waiting for a stop condition to appear before starting to talk on the bus.

If you plan to use a multimaster device on a bus it is essential that all masters are multimasters. A single-master is simply a device, which does not understand the above mechanisms. If a singlemaster and a multimaster are connected, the singlemaster may well interrupt the multimaster causing unpredictable results."
Good Luck & Have Fun!
Gil

Bienvenido al foro Arduino.
4 cosas te haré notar antes que nada.
1. Siempre que llegues a un sitio nuevo lee las
Normas del foro
2. No postees en español en las sección de otro idioma. Cada idioma debe respetarse.
3. Los enlaces van con etiquetas. Edita.
4. Las imágenes deben verse. Edita.
Te envío privado con las normas, pero en el primer hilo de cualquier sección estan para su lectura.

Mi respuesta, lo que no quita que EDITES lo que te he sañalado.
La comunicación entre dos arduinos puede hacerse de 3 maneras.

  1. via serial o sea Rx1 con Tx2 y Tx1 con Rx2 ademas de compartir GND.
  2. via I2C pines A4 y A5 ademas de compartir GND
  3. via SPI pines 11, 12, 13 y otro pin llamado Chip Select que puede ser cualquier aunque se suele usar el 10.

Los he puesto por grado de dificultad, donde el Serial es la forma mas simple y los otros dos aumentan en complejidad pero tambien he de decir que SPI es el más rapido aunque hablamos de niveles que no creo te interesen a esta altura.

En este foro, todas las opciones han sido debatidas, asi que una simple búsqueda te dará respuestas y tal vez nuevas dudas.