I assume you've already got yours answered, since months have passed.
Well, I could finally manage my SFE SCP1000 breakout board to work with the red 'Arduino Skinny,' after a couple of weeks searching.
Connections I made :
CSB -> SlaveSelect (Pin 10)
SCK -> clock (Pin 13)
MOSI -> (Pin 11)
MISO -> (Pin 12)
Another Noobi question.
Does CSB stand for ChipSelect something?
my noob questions:
My understanding is that Arduino Skinny or Pro(3v3) supplies 4 pins for SPI protocols, 10,11,12,and 13.
I'd like to measure and record two or three SCP1000 barometer data to my PC.
If I'd like to connect two or three SCP1000 sensor to one of the Arduino series, what would be the better choice for the purpose.
Would a single arduino allow two or three SCP1000's on the 4pins? If not, may I use other pins, e.g., pin 9, or 8, as SlaveSelect?
Would I need more than two arduinos-SCP1000's hooked up to my PC in that case, running two Arduino programs at the same time?
Good question. In Spi.h, the SS pin defaults to digital 10. The class definition doesn't seem to allow the creation of more than one instance of Spi either.
That's the reason I'm using the TWI version of the SCP1000. I have an ethernet shield on the Arduino that I'm using multiple SCP1000s on and I couldn't figure out how to have more than one SPI device either.
Sorry. Does anyone else know?
Edit:
Okay, the ATmega SPI hardware doesn't do anything with /SS when it's configured as a master. It's up to the user to control the /SS line. The library configures D10 as an output but doesn't explicitly set it to a level. That means that your software must be setting it low whenever it needs to be low. It also means that you should be able to add more sensors as long as you configure and control more /SS lines.
Curiously, when I connect the SCP1000 on a SeeDuino, it's working very fine,
But I need a smaller card, and I'm trying to connect it on a StickDuino, or better on a Pro mini 3V. But there, it does'nt work fine.
In first, after the upload, I get 0, 0 for the pressure & temperature.
I need to power off, then power on the Pro mini, after I can obtain a correct valor for the pressure (100300), but no for the temperature (41°C !! in reality it's 26°). and it seems the valors are not very "stable"......41° +/-1 ....?
Connect the PD pin of each sensor and enable them one at a time to write a unique address into their slave address register. Also be aware that they use I2C's repeat start protocol on the 8 and 16 bit read register command.
Hi, if I am using this sensor with a Duemilanove can I connect the power supply to the 3.3V supply on the Duemilanove board and the data pins as normal or is there a need to use a logic level conveter?
It shows how(and why!) to hook up resistors so you don't toast the 3.3V device. I used the resistor network on mine, and usedthe 3.3V on the Decimilia for the power supply for the device. It works fine.
we are using connor's code and an arduino duemilanove, but we are getting random numbers. pressure(kpa) is in the 66xxx and 99xxx range and temp(fahrenheit) is either -58 or 1xx range.
I also started out with Coner's code and had the same problems. I fixed a couple of errors and got it working great. Since then I've re-written it into a library.
Oh, I forgot about your other question. You don't need to use the Drdy pin. The Trig and PD pins should be connected to ground via a resistor. If you're using the Sparkfun breakout board, then this is already done on board and you can just ignore these pins.
Thanks for the great code. and explanation of the pins its great help to us (me and Kathy (who asked question) are working together). Now our sensor seems to be giving relevant values. Thanks a lot once again. Really appreciate the help.
The code worked for a day and then it starting giving us the same random values. I unplugged the 3.3v pin and the values normalized. we check the temp reading against a thermostat. and the pressure is generally 989-990 indoors which is reasonable.
can anyone explain why the chip is working without the 3.3v pin?