Hi, i am currently doing a project with different sensors and arduino pro mini.
The pressure sensor and real time clock are I2C interface. Accelerometer and SD shield are SPI interface.
How to i connect 2 I2C device (pressure sensor and real time clock) to a single I2C pin on arduino pro mini? Also how to i connect 2 SPI device (accelerometer and sd shield) to a single SPI pin on pro mini?
You have a Arduino Pro Mini.
But what is your accelerometer, which module ?
And what kind of module is the SD module ?
and what kind of RTC module ?
and the pressure sensor module ?
Can you give a link to the products for each one of them ?
You write that the SD module can be used with 5V, does it have voltage level converters on the module board ?
Some sensors have a voltage regulator. I have to know that before I can tell how to connect it.
So far the only problem will be a 3.3V SPI device to a 5V Arduino board. You might need extra hardware for that.
I2C, connect both in parallel to I2C pins, use 4.7K pullups to 3.3V.
SPI - you will need a chip to translate the 0-5V signals downt to 3.3V for the accelerometer. The SD needs 3.3V too, you could use a different SD module that will accept 3.3 directly and then use 1 buffer for both devices. 74HC4050 is commonly used.
Each needs its own slave select pin, SCK-MOSI-MISO all connect in parallel. Often just SCK-MOSI-CS are buffered to the device, and MISO comes back to the arduino direcetly at 3.3V level.
SD cards are fairly power hungry, like 250-300mA current draw, so good to see you have a seperate regulator for that.
Your BMP180 module is for 3.3V I2C (but Vcc is 5V tolerant ?)
Your ADXL363 module is SPI 3.3V
Your GPS module is 3.3V (but Vcc may be 5V) with TX and RX.
Your SD is 3.3V SPI.
Only the DS1307 RTC is a 5V chip with I2C. I don't know if it can be connected to a 3.3V I2C bus, but I don't think so.
There are better modules for the SD, with a voltage converter and voltage regulator on board, like CrossRoads wrote.
There are also better modules with the BMP180, with voltage regulator and voltage level converters.
About the I2C bus: If you used only 3.3V I2C components, you could have connected them directly to the Arduino board. But now that you also have a DS1307, you better use a I2C voltage level converter. So you will have two I2C busses, one for 5V, and one for 3.3V.
The SPI for the ADX363 and SD need voltage levels converters. CrossRoads wrote about the often used 74HC4050.
What is so special about the ADX363, do you need the high sampling rate ?
I don't know about the GPS. If you run it at 5V, it might work, but 3.3V is recommended.
The Adafruit Ultimate GPS module has a 5V friendly design
If you would use a Pro Mini of 3.3V (they run at 8MHz instead of 16MHz), you would only have to use an RTC of 3.3V like the DS1337.
1 )
A 5V Arduino Pro Mini with a I2C bus only used for 3.3V devices (no extra hardware), and extra hardware for the SPI 3.3V signals (or buy a 5V compatible SD shield and use only extra hardware for the ADXL362). The GPS to 5V.
The BMP180 module has already pull-up resistors for the I2C bus, so you don't need to add those.
You have to do some calculations about the 3.3V power usage, as CrossRoads wrote in reply #2.
2 )
Use a 3.3V Arduino Pro Mini. The DS1307 can be connected to the 3.3V I2C bus, but it needs 5V power. So if you have 5V somewhere, you can use that to power the DS1307, or else buy another RTC for 3.3V.