 # High(ish) voltage analogue inputs

I want to connect one of my Arduinos to some old analogue hardware, which has a number of sensor wires running at 12V. I just want to read and analyse the signal on Arduino. I'm wondering what I need to do to make this safe for the 5V inputs.

Would it be right to assume that just reading an analogue input will have a fixed power draw (40mA?) and therefore use Ohm's law and a single resistor (per pin) to bring the 12v down to 5v? Or should I be looking at a linear regulator or a buck converter etc? The simpler the better because I have about 20 pins to read!

Regards, Rob

robfocus:
Would it be right to assume that just reading an analogue input will have a fixed power draw (40mA?) and therefore use Ohm’s law and a single resistor (per pin) to bring the 12v down to 5v?

No, but the method is pretty simple. You need to use two resistors set up as a voltage divider to bring the 12V down to 5V.

Yes, use a voltage devider. 2 Resistors, some cables.

Use a resistor voltage divider to drop the 12V to 5V (or less).

Thanks for the rapid replies.

I understand the 2-resistor method but presumably I need to know the rough range of power draw in order to choose the resistor sizes (well choose one and calculate the other), otherwise I need to over-estimate and waste energy.

Use high value resistors (50K or higher). The current will be very low so the power dissipated in the resistors will be milli to micro Watts. The analog input impedance is on the order of 10 to 100 Meg Ohms so the current into the input can be cosidered as zero. A 0.1uF cap from the analog input to ground will help with response.

I understand the 2-resistor method but presumably I need to know the rough range of power draw in order to choose the resistor sizes (oell choose one and calculate the other), otherwise I need to over-estimate and waste energy.

You seem to know Ohms Law, and the current will typically be far less than 40mA.

The Arduino’s inputs are around 100 meghoms so essentially no current flows into the Arduino, only through the voltage divider.

Power (Watts) = Voltage x Current
Power = Voltage2/R
Power = Current2 x R

The simpler the better because I have about 20 pins to read!

The Uno has 6 analog inputs and the Mega has 16. You can use an analog multiplexer but that may not be easy for a beginner.

FYI - The Arduino’s ATmega chip has only one shared analog-to-digital converter and an internal multiplexer to get multiple analog inputs.

DVDdoug:
The Uno has 6 analog inputs and the Mega has 16. You can use an analog multiplexer but that may not be easy for a beginner.

Thanks, my overall device has a couple of “daughter board” sections so I’m planning to split the inputs, a Mega will handle most of them, and the remainder between a couple of Nanos probably.