Olá pessoal tudo bem?
Gostaria de saber se é possível alterar o parâmetro de tempo de uma função delay via serial? Pensei em algo do tipo.
Testei dessa forma e não funciona.
time = serial.read();
delay(time);
Olá pessoal tudo bem?
Gostaria de saber se é possível alterar o parâmetro de tempo de uma função delay via serial? Pensei em algo do tipo.
Testei dessa forma e não funciona.
time = serial.read();
delay(time);
Desculpem só um bocadinho...
:0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 :0 GRRRRRRRRRRRRRRRRR
Já libertei um pouco da raiva. ![]()
Não vou perguntar porque queres usar um delay porque a resposta apenas me vai deixar mais doido e existem muitos posts (e um exemplo) sobre porque não devemos usar o delay().
Respondendo à tua questão, tu provavelmente vais enviar ascii, então tens de ter isso em atenção:
#include <stdlib.h>
char time[5];
unsigned long time_number;
for (int i = 0; i < 4; i++) {
if ((time[i] = Serial.read()) == '\n') {
time[i] = '\0';
break; // chegaste ao fim da string.
}
}
time[4] = '\0'
time_number = atoi(time);
delay(time_number);
Não compilei, mas esta é a lógica. No Serial monitor, metes o numero que queres e carregas no enter.