choose LED and power supply
simulate this circuit &ndash; Schematic created using CircuitLab

For successful visible-light communication, the data-link needs to handle/ignore the sunlight and the 120Hz of lightbulbs and the 80KHz of desk lighting.
To ignore the sunlight (a DC source of overload), you need negative feedback used in a phototransistor (3 leads, including the base); wire 2 resistors in series, connected from collector to base. Use 100K ohms to start. Place 1uF cap from midpoint to Ground. This 2R/1C network allows DC nulling of the sunlight, but shuts down the feedback at higher frequencies, so your modulated energy gets preserved. Use a 1Kohm from collector to +5volts.
Again, use a 3-lead phototransistor.

This makes a very sensitive "receiver" and you may not need much power from the LEDs.