How to measure a sensor that outputs a voltage after excitation ?

Dear all,
I'm new to Arduino. I have searched in the forum but I have not found the information I think I need.
The problem is as this:

  1. We have a sensor that after exciting it with a 3 V produces a signal which goes from 0 V to 3 V proportional to the variable we would like to measure.
  2. I understand that I can connect it to the Arduino board with the 3.3 V source and connect it to an analog input. Then use the AnalogRead instruction to read the voltage.
  3. However, if I use this way, it will use a lot of battery since the sensor is connectec all time long.

I was looking for a method that I could excite the sensor for a few milliseconds, delay and then measure. But I have not been able to find an example, or even better an expansion shield board that allows to do that.

Does any one can help me to find the information on how to do it with Arduino ?


Can you provide a link to the datasheet of the sensor? Running it from the 3.3V pin should be OK provided it takes less than 50mA current and doesn't mind having 3.3V rather than 3V.

It should be possible to do what you want by using a PNP transistor (e.g. BC327) to switch the 3.3V supply to the sensor. Connect the emitter of the transistor to the +3.3V supply, and collector to the sensor, and the base to an Arduino output pin via a resistor. The best value of the resistor depends on the current draw of the sensor, however 1K is probably suitable. Set the pin LOW to excite the sensor, HIGH the rest of the time.