Arduinovato:
Primero deberé aprender a controlar el DAC y de ahí ya veré como hacer el programa.
No es tan difícil. Según la hoja de datos del DAC, hay un "modo rápido" que se usa para inmediatamente cambiar el valor (registro) de la salida analógica, sin tocar la EEPROM que trae; luego están los bits para el apagado y finalmente los 12 bits del DAC.
La siguiente función te facilitará su uso; sólo requiere un valor entero entre 0 y 4095:
void analogI2CWrite(unsigned int val) {
byte* p = (byte*)&val;
Wire.beginTransmission(DAC);
Wire.write (p[1] & 0x0F);
Wire.write (p[0]);
Wire.endTransmission();
}
Creo que ya te vas haciendo la idea: incrementas la salida del DAC del 0 al 4095 en un ciclo for; y con no sé que método de entrada, revisarás si el tiristor se ha activado, para así romper el ciclo y reportar el valor necesario.