Pages: [1]   Go Down
Author Topic: How to determine sensor is compatible with Arduino UNO?  (Read 1311 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all,

i'm new to arduino and would like to know how you can determine that a sensor is compatible with an arduino board.

I would like to purchase http://export.farnell.com/invensense/itg-3200/ic-gyro-tri-axis-2000-deg-s/dp/1858279RL but i'm not sure whether it works.


EDIT:

my search has brought me some understanding but has raised several questions more:

In another topic (http://arduino.cc/forum/index.php/topic,104951.0.html) about which sensors can be directly connected to the arduino UNO, krodal states:

It's not hard. The only problem is that most sensors use 3.3V. But the Arduino has 3.3V onboard for those sensors.

The accelerometer i want to use in my project runs on 3V (http://www.bosch-sensortec.com/content/language1/downloads/BMA150_Flyer_Rev1.3_14JAN2008.pdf)

I was in the understanding that i could not use this sensor directly on the arduino UNO since the arduino runs on 5V (and it would fry the sensor). But if you look at the arduino picture:



You see that at the bottom there is indeed a pin which states 3.3V.  Does this mean that the board can run on 3.3v as well, or what is the pin for?

in the tutorial on arduino.cc (http://www.arduino.cc/en/Tutorial/ADXL3xx) it says that the example uses the breakoutboard from sparkfun. http://www.sparkfun.com/products/9814 But it seems that even that board requieres 3.3V. How can they manage?



Thank you,

Jorrit
(i've also put this question in the topic list)
 

Please advice and explain!

Thank you
« Last Edit: May 09, 2012, 07:05:07 am by dieselboris » Logged

Brunsbüttel, SH, F.Rep.GERM
Offline Offline
God Member
*****
Karma: 4
Posts: 596
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

arduino can do I2C:
http://www.arduino.cc/en/Reference/Wire
Logged

-Arne

0
Online Online
Shannon Member
****
Karma: 200
Posts: 11730
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

But you'll need an I2C level-converter to 3.3V unless the Arduino is running on 3.3V
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the reply. one more question though:

How can i determine, *in general terms*, which sensors i can use without any converters? The datasheets overwhelm me somewhat since i'm not very technical. But a hint on what i should look for is very much appriciated!

 
Logged

Brunsbüttel, SH, F.Rep.GERM
Offline Offline
God Member
*****
Karma: 4
Posts: 596
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

digikey allows to search for certain parameters:
http://search.digikey.com/us/en/cat/sensors-transducers/gyroscopes/1967243?k=gyro
Logged

-Arne

Dubuque, Iowa, USA
Offline Offline
Edison Member
*
Karma: 45
Posts: 2474
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How can i determine, *in general terms*, which sensors i can use without any converters?

The datasheet reports the "Absolute Maximum Ratings" which state that VDD can be up to 6V and the logic signals can be up to VDD + .5V. But still, "absolute maximum" is the scary side of "recommended"; it's like saying that the device won't blow up at 3.3V and isn't likely to blow up at 5V.

The 3.3V pin on the Uno is a 3.3V regulated, positive supply. You can use this to power your Bosch sensor or the ITG3200 safely. You still need to be aware that any digital output from the Uno to your sensor will be 5V and should have either a small transistor or at least a resistor voltage divider to knock that voltage down.

With respect to the Sparkfun ADXL345 board, they run the ATMega at 3V. While it's plugged in to a USB 5V port they never use the 5V power for anything other than the FTDI (USB to serial) chip. The ATMega will see the 5V TX/RX signals from the FTDI chip but the accelerometer never sees any 5V signals from the ATMega.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you Chagrin, very informative.

Two questions though:

The 3.3V pin on the Uno is a 3.3V regulated, positive supply. You can use this to power your Bosch sensor or the ITG3200 safely. You still need to be aware that any digital output from the Uno to your sensor will be 5V and should have either a small transistor or at least a resistor voltage divider to knock that voltage down.
Ok soldering a resistor of transistor should not be too hard. There is no option of NOT connecting the ouput of the UNO to the sensor? This may sound stupid but i thought that, since i only need to READ values from the sensor it could work?
But if i'm not mistaken, since i use I2C, their is only one connection pin between UNO and sensor?

With respect to the Sparkfun ADXL345 board, they run the ATMega at 3V. While it's plugged in to a USB 5V port they never use the 5V power for anything other than the FTDI (USB to serial) chip. The ATMega will see the 5V TX/RX signals from the FTDI chip but the accelerometer never sees any 5V signals from the ATMega.
Can the UNO also be run at 3V? That would solve my problem at once i would say?

Thanks again.
Logged

Dubuque, Iowa, USA
Offline Offline
Edison Member
*
Karma: 45
Posts: 2474
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok soldering a resistor of transistor should not be too hard. There is no option of NOT connecting the ouput of the UNO to the sensor? This may sound stupid but i thought that, since i only need to READ values from the sensor it could work?
But if i'm not mistaken, since i use I2C, their is only one connection pin between UNO and sensor?
Both the SPI and I2C protocols used by the sensors you've listed require bi-directional signaling (there are two lines for I2C -- SDA and SCL, btw). Yes, you are just "reading" it but there are signals going back and forth between the Uno and sensor. If you use an analog accelerometer like the ADXL335 then there would be no problem, but there is of course the tradeoff between analog vs. digital signals just like there is with a tape cassette vs. a DVD.

Can the UNO also be run at 3V? That would solve my problem at once i would say?
I'd assume it's within the realm of possibility but if you were going to undertake a problem like that it'd be a lot more straightforward to just buy a level shifter. Sparkfun sells these for $3. For future purchasing decisions you might look at clones like the Seeeduino which has a switch to go between 3.3V and 5V.
« Last Edit: May 09, 2012, 12:08:07 pm by Chagrin » Logged

Brunsbüttel, SH, F.Rep.GERM
Offline Offline
God Member
*****
Karma: 4
Posts: 596
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

u could use a resistor and a 3.5V zener diode on the arduino/sensor pins...

ITG3200/pin ---------------- 5kR -------------- arduino/pin
                            |
                          3.5V
                         zener
                            |
                      ground
« Last Edit: May 09, 2012, 11:58:03 am by RIDDICK » Logged

-Arne

Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok thanks, you both helped me out a lot!
Logged

Offline Offline
Edison Member
*
Karma: 9
Posts: 1016
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I want to collect everything about I2C level shifters here: http://arduino.cc/playground/Main/I2CBi-directionalLevelShifter
Feel free to add to that page.
Logged

Pages: [1]   Go Up
Jump to: