Quiero realizar el siguiente programa:
Mando una señal analógica de 220V y cada vez que pase por 0V, manda a una entrada de arduino UNO un 1 (x = 1) Esta parte del código ya lo tengo, mi duda es la siguiente:
Cuando mande el x=1 dicho anteriormente, quiero que a partir de ese tiempo espere un retardo (asignado por mí) y que active una salida desde el T_espera hasta 10 milisegundos. (es decir, si T_espera=1, la salida debería activarse durante 9 ms)
Me gustaría hacerlo sin usar delay, y estableciendo el máximo de 10ms
void loop()
{
T_espera = 1; //tiempo de espera 1 ms
if(cero == 1)
{
delay(T_espera);
salida = 1;
}
Espero haberme explicado bien, un saludo, y gracias
Busca arduino AC phase control y tienes todo el código de como hacerlo.
CONSEJO PARA LA PROXIMA Cuando plantees un tema no te guardes nada, si vienes a un foro público no pretendas que tengamos que sacarte las cosas con cuenta gotas. Nada que las normas del foro no expresen con claridad. Dicen : plantea debidamente tu problema, aporta esquemas, código, enlaces y toda información que ayude. Compara esto que te digo con tu pregunta inicial? Tienes suerte que llevo años en esto y ya se para donde apuntan la mayor parte de las consultas, pero si no? estaríamos dándole vueltas al millis() intentando desentrañar tu idea. Espero lo recuerdes para la próxima, y todos ganaremos tiempo!!