How to de-couple DMX512 with opto-isolators?
I'm doing that very thing in a project I'm working on right now. I can't take credit for this, but it sure has worked well.

Both the MAX485 and MAX481 should work well. I modified this design a bit. This design currently has a 133ohm terminating resistor between pins 2 &amp; 3 of the DMX connector. This is used to terminate the end of the dmx bus. I added a switch so that I could enable or disable the terminator.

You'll also note that a DC/DC converter is used to create isolated supply and ground. I'm sure someone else can explain, in better detail, why this is important. My understanding is that it helps with ground loops and voltage differences with the external devices that are connected to the dmx bus.

DMX Shield for Arduino with isolation