My power meter pulses everytime 1Wh (Watt Hour) is consumed. By watching for this pulse I can gauge my home power consumption in near real-time.
BOM: (1) NPN IR Phototransistor (1) 100nF ceramic capacitor (1) LED (1) 18k resistor (1) Project box
As my meter has the IR light pipe on top, the trick was to mask or shade the area to cut down the solar IR. I used silver foil duct tape. I mounted the IR PT in a small project box. In the project box I put in a small ½" piece of fuel tubing to create a dark space for the PT to mount. This kept the tip of the IR PT about ⅜" from the clear plastic enclosure. In addition to the 18k resistor I also have the digital pin set with PULLUP. This gives me sure-fire 1's when the pulse emits and 0's when it's idle, even in direct sunlight.
The backend of the project pipes the data to ThinkSpeak.com for archiving and such.
The orange LED is on my protoshield. It pulses everytime the IR PT received a pulse. It's just an easy way to look for activity.
In the Arduino, simply watch for a rise from LOW to HIGH on a digital pin. The pulse lasts about 10ms, so Arduino sees about 23 (on my Mega) "HIGHS". Just watch for the rise to HIGH, increment a var, ignore the remaining HIGHs until after it goes LOW again. Rinse and repeat. I have a for loop that when the var is incremented sets the orange LED HIGH for 255 iterations. It's barely a blink and I left a resistor out, you should probably add a proper resistor for this.