I would like to connect three Arduino Pro Minis with one Ethernet Module through SPI. Therefore, I would like to use the Ethernet module ENC28J60 from Az-Delivery (here). You can find an overview of the assembly in the attachments.
The goal is to get and send data from and to different Arduinos over the ethernet module.
So at first glance, this seems to be a multi master problem for me. Because the Arduino are all waiting and sending data to the Ethernet module. Is it possible to solve this issue with an SPI-BUS? Please have in mind that I have only one CS pin on every Arduino and Ethernet Module.
My current idea would be that every Arduino’s CS pin (i.e. pin 10) is connected to the SS of the Ethernet Module. But than they would all occupy the Bus at the same time right?
Thanks for all your help.
It seems to be easier to connect the ENC28J60 to just one Arduino and the other two (Slave) connected to the first (Master) via I2C. Less headache, fewer occupied pins (except for the first)
Thanks rtek1000 for your response.
Your answer raises some further questions:
Am I able to address the two slave Arduino Pro Minis separately? Don't they share the same address? Because the Arduino is capable for only one I2C-Bus (just one SDA and SCL pin).
Is the slave Arduino then able to request data at the ENC28J60 through the master Arduino?
1: Possibly, in the code of each slave Arduino, you must put a different address.
How many Devices can you Connect to the I2C Bus?
"You have a 7-bit address. That means you can address up to 127 slaves."
"The number of devices connected to the bus is only limited by the total allowed bus capacitance of 400 pF."
"Short answer: it depends!"
Source: How many Devices can you Connect to the I2C Bus? - BlueDot Sensors
2: The Arduino Master will have to manage Ethernet and I2C communication, in order to bridge the gap between the slave and the Ethernet network. It will work as a router. The good thing about this is that only 1 Arduino will work with Ethernet, which should make the slave code smaller.
It's fairly straightforward. Check the wiring documentation under "Wiring (TWI)" for the master and slave sender and receiver examples.
Arduino as I2C Slave
Wire Slave Receiver
Wire Slave Sender
YouTube: I2C Part 1 - Using 2 Arduinos