A basic buck converter circuit to power 3W LEDs from PC power supply?
For starters, don't use a 555, Arduino, or op amp circuit.  There chips designed for this sort of thing, and they will work better and are easier to use.  But your design is a little unique, which can be both good and bad.

You don't want a simple "voltage regulator with a buck topology".  You want a CURRENT regulator with a buck topology.  The reason for this is that you really want a specific current to flow through your LED, and the voltage is of minimal importance.  (Voltage is important only in that you want to make sure you have enough of it.)

To make it even more interesting, you don't need a very good current regulator.  LEDs can withstand quite a bit of noise before it becomes visible (or messes with other things).  The average current needs to be spot on, but there can be quite a lot of ripple and the design will still work fine.  

Fortunately for you there are chips specifically designed for this:  Driving LEDs with a current regulator in a buck topology!  A quick look on the TI web site found the TPS92510.  TI has, literally, 65 different chips for driving high brightness LEDs.  I am sure that other manufacturers, like Linear Tech, have some too.