Reading an analog current using Arduino board

Hi there,
I am using an Arduino board to conduct a simple turbidity experiment using photodiodes and laser. I am using the SM1PD1A photodiode from Thor labs and I was wondering how I can go about reading the current from the photodiode.
Thanks in advance for any help.
Kishan

R=V / I

You can't read current only voltage. Once you know the current range, select a resistor that will produce a maximum of 4.5-5V at the maximum current.

I think you need a transimpedance amplifier to convert photo diode current into a voltage.
Photodiode amplifiers.
Leo..

Hi thanks for that info.. I was wondering if I get a photodiode amplifier and my code looks like this are there any adjustments I must carry out to the code to obtain readings?

unsigned long cnt= 0;
unsigned long oldcnt= 0;
unsigned long t= 0;
unsigned long last;
int laserPin= 10; //laser

void irq1()
{
cnt++; //cnt+1
}

void setup() { //void means there will be no return only the function is carried out
Serial.begin(9600);
Serial.println("START");
analogReference(INTERNAL);
pinMode(2, INPUT);
digitalWrite(2, HIGH);
attachInterrupt(0,irq1,RISING);
pinMode (laserPin, OUTPUT); //laser
digitalWrite (10, HIGH);
}

void loop() {
if (millis() -last > 1000)
{
last=millis();
t= cnt;
unsigned long hz = t -oldcnt;
Serial.print("FREQ: ");
Serial.print(hz);
Serial.print("\t = ");
Serial.print((hz+50)/100);
Serial.println(" mW/m2");
oldcnt= t;
digitalWrite (laserPin, HIGH); //Laser
}
}

Thanks in advance!

When posting code, please use code tags (the </> button in the full editor - click Preview to see it).

Trash this code and start anew as there's no obvious relationship between what you want to do and this code. You apparently want to read an analog signal, yet you're only reading some digital pin and even use an interrupt for that. Makes no sense whatsoever based on your project description