En tu circuito te faltaría una resistencia de 220 ohmios a la salida del 7805 para no romper el diodo infrarrojo del MOC.
No obstante, yo lo hago así:

opto.jpg(29.77 kB, 859x341 - visto 590 veces) Media onda nada más. No necesitas rectificar la onda entera.
La resistencia de 33K que sea al menos de 1W por que se calienta. El mismo circuito para 220V se utilizaría con una resistencia de 67K.
El condensador es para que el pic solo vea un pulso a nivel alto cuando hay tensión, o vea cero lógico cuando no la hay. Si no lo pones el pic verá 50 o 60 Hz. No es un problema si luego lo tienes en cuenta en el programa a la hora de leer el puerto por que como hagas una lectura instantanea no sabes por donde iba la señal y puedes leer que no hay tensión cuando si que la había.
Por ultimo, el diodo en paralelo con el condensador sirve para que el led infrarrojo del optoacoplador no reciba nunca la tensión en reversa. En este caso se comería los 110V y no soporta mas de 3, así que si este diodo no está, el opto se va al garete.
Un saludo.