Hallo, I'm a newbie in the µC area but I have some knowledge in programing C++, Java, VB.NET. Last week I bought me an Arduino board with an ATmega168. I'm very surprised of easy programing of the board. But now I have a little problem.

I have to read seven different sensors with the baord. Two of the sensors are proximity sensors(proximity switch) with a NAMUR output(NAMUR: constant voltage and variable current). If a metal part is near (<2mm) the switch, I have an output current of <=1mA. If the metal has a bigger distance than 2mm, I have an output current of >3mA. The voltage is the whole time constant at 8,5V.My idea now is to convert the current signal to a voltage signal with a transimpedance amplifier(http://en.wikipedia.org/wiki/Current-to-voltage_converter). So I would like to know if somebody has an better and easyier idea how can I measure this signal with my Arduino.I have attached the datasheet of the sensor below.I hope my idea is not the only way to measure such a signal.

At the beginning I was trying to measure with a shunt resistor, but like it seems it was a little bit to big. Now I've tryed a smaller one and it works fine. @MarkT: Thank you for your post, it make me to try it again. Saved me a lot of time

Though I have good knowledge about programming, I'm a newbie in electronics. And , like Proteus, I would like to interface a Namur type sensor with an Arduino Uno.I followed your posts, I understood that this sensor type switches the current flow (<1mA or >3mA) depending if there is a metal part near it or not.What I did not understand was the answer/idea given by MarkT. He said to use a series resistor. Ok, but from which point to take the signal for the Arduino input ? And how much ohms the resistor should have ? He said also to use the analog input. Is this safe considering that the maximum accepted voltage is 5V on Arduinos ?