Bom dia senhores,Estou com a dificuldade de como faço pra chamar a minha função temperatura1 somente uma vez, sem a necessidade de estar dentro da função loop. E também como faço pra ler da serial um número inteiro do jeito que está estou recebendo o ASCII. Abaixo o código feito até o momento.
#define resistenciaMostura 13
int temperatura1 (int temp1) {
for (int i = 0; i < temp1; i++) {
delay (1000);
if ((temp1 != 0) || (temp1 == i)) {
digitalWrite (resistenciaMostura, HIGH);
Serial.println(temp1);
Serial.println("Entrou");
Serial.println(i);
} else {
digitalWrite (resistenciaMostura, LOW);
Serial.println(temp1);
Serial.println("Saiu");
Serial.println(i);
}
}
}
void setup() {
Serial.begin (9600);
pinMode (resistenciaMostura, OUTPUT);
}
void loop() {
}
Tags:
Se você quer chamar somente uma vez a função, chame ela no setup(), pois ela é executada somente uma vez. Agora sobre a leitura de inteiro pela serial você poder fazer assim:
String serial = '';
while(Serial.available() > 0)
{
serial += (char) Serial.read();
delay(5);
}
int numero = serial.toint();
Valeu Gabriel,
Mas eu esqueci de um detalhe, dessa leitura a função irá receber esse valor via serial e ser chamada mas que somente uma vez. Pode me ajudar?
Olá,
Coloque o código do Gabriel dentro do loop() que ele irá repetir.
depois (ainda dentro do loop()) chame a sua função assim:
temperatura1(numero);
'Eiju
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por