arduino y corriente alterna?????

Hola.
Qué pregunta más interesante, veamos...

OPCIÓN 1


Esta es la opción más complicada.

No puedes conectar esa señal de 12VAC directamente al CAD de Arduino (ATmega8) por varias razones:

La tensión de entrada a ese CAD debe estar entre 0 y 5V. Por tanto, antes tienes que reducirla mediante un divisor de tensión (2 resistencias).

La tensión de entrada a ese CAD debe ser unipolar (sólo positiva, entre 0 y 5V como ya he dicho). Por tanto, además de reducir la tensión tendrás que sumarle una componente continua (DC) de 2.5V.

Una vez que hayas conectado correctamente la señal AC al ADC de Arduino y tengas las muestras de señal, debes escribir un algoritmo de procesado de señal que detecte sus cruces por cero (para saber donde termina un semicilo y empieza el siguiente). El más simple es:

  • La muestra x[n] = analogRead() - 512

  • Habrá un cruce por cero cuando x[n] y x[n-1] tengan distinto signo

Cada vez que detectes un cruce por cero, usa las salidas digitales de Arduino para generar un pulso que dispare el TRIAC. En realidad, el pulso deberás generarlo no inmediatamente sido con el retardo que tu quieras para regular la potencia que recibe la lámpara. Cuando más tarde generes el pulso menos potencia recibirá la lámpara.

OPCIÓN 2


Creo que esta es más simple. Es la que te recomiendo.

Usa el siguiente (y muy simple) circuito detector de cruce por cero:
Un amp-op como comparador que se sature a +5V cuando la onda AC está en su semiciclo positivo y a +0V cuando esté en su semiciclo negativo. Lo que hace este circuito es convertir la señal AC sinusoidal en una onda cuadrada de la misma frecuencia.

Ahora conecta esta onda cuadrada al pin 2 de Arduino y haz que dispare una interrupción cada vez que en la señal haya un flanco (ascendente o descendente)

Cada vez que la interrupción dispare, sabrás que la señal AC ha pasado por cero, en ese momento podrás usar la salidas digitales de Arduino para generar el pulso que dispare el TRIAC (igual que lo que te comentaba anteriormente).

O mejor aun, en vez de utilizar un amp-op externo, prueba a usar el comparador que ya trae consigo el ATmega (menos cables) pero antes reduce la tensión con un divisor de resistencias, entre [-5, +5].

Es más fácil de lo que parece (explicarlo con palabras es un lio)
¡Buena suerte!

PD.
Piensa también en la posibilidad (pregúntale a tu profesor) de usar un transformador 1:1 que sirva para aislar (aislamiento galvánico) la electrónica de control de la electrónica de potencia. De esta forma evitarás que Arduino se queme si algo sale mal. La electrónica de potencia es cosa muy seria así que cuidadito