TSL230R is a programmable light frequency integrated circuit(IC) that gives you pulses which are related to light intensity. You can program its sensitivity and scaling. They are very easy to use and very sensitive. Especially for applications that needs high sensitivity like IR light pulse sensing, they are really useful. You can easily get it from sparkfun.com, and they are $5.95
Pins and what they means and their functions:
You can use pin number 1&2 for calibrating the sensitivity by turning them on and off, 7&8 are for scaling and you can program them by turning on and off again, pin 4&3 will be connected to ground and pin number 5 will be connected to power, pin number 6 will give you sensor values, and you need to plug it in to one of the digital pins in your Arduino.
Here are the settings for sensitivity and scalling:
Also, for power connection, datasheet says this: "Power-supply lines must be decoupled by a 0.01-μF to 0.1-μF capacitor with short leads placed close to the device package. A low-noise power supply is required to minimize jitter on output pulses." So, I put a 0.1-μF capacitor in pin number 5 (VDD).
Here is a picture from my breadboard.
Then you can connect ground and power from your Arduino. You will be receiving data digitally, by looking at the time intervals between pulses(pulseIn()). If you need more information about pulseIn() function of Arduino you can read documentation on Arduino page(pulseIn()).
Now, connect pin number 6 of the sensor to any digital pin of the Arduino. In my case, I used digital pin number 9 on my Arduino Board.
And here is the code for Arduino:
unsigned long duration;
duration = pulseIn(pin, HIGH);
Values that you will be receiving will be different then most of the sensors that you have tried. Since it is giving values according to time intervals(millis) it can be really low like "0" or it can be high like "3000". These values are changing according to light intensity. High intensity of light means low values and less intensity of lights means high values.