Boa noite amigos, preciso de uma ajuda.
Como é possível no void loop com if, caso a condição de entrada de serial for verdadeira é iniciada outro void.
Fiz essa sketch
//
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
Serial.begin(9600);
Serial.println(5);
Serial.println(6);
Serial.println(7);
}
void loop(){
char c = Serial.read();
if ((Serial.available()) == 1)
void exec1();
if ((Serial.available()) == 2)
void exec2();
if ((Serial.available()) == 3)
void exec3();
}
void exec1(){
if ((digitalRead(5)) == 1)
digitalWrite(5, 0);
else {
digitalWrite(5, 1);
Serial.flush();
}
}
void exec2(){
if ((digitalRead(6)) == 1)
digitalWrite(6, 0);
else {
digitalWrite(6, 1);
Serial.flush();
}
}
void exec3(){
if ((digitalRead(7)) == 1)
digitalWrite(7, 0);
else {
digitalWrite(7, 1);
Serial.flush();
}
}
Ou seja, o void loop escuta a serial e caso o valor seja 1 ou 2 ou 3 é executada o void corrspondente
exec1 ou exec2 ou exec3.
Obrigado.
Tags:
Nesse link mostra como declarar e chamar funções em C
faça apenas 1 função exec(int qualpino) e coloque antes do setup()
ao chamar a funçao,
if ((Serial.available()) == 1) {
void exec(5);
}
boa sorte,
'Eiju
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por