Estoy haciendo un proyecto el cual consiste en activar un semaforo de luces desde labview conectadas a un arduino, y por otro lado, desde otro arduino con tres celulas apagarán estas luces y mostrará por Labview el tiempo transcurrido. La comunicación entre los dos arduino la realizo mediante bluetooth y la comunicación entre el arduino con el semaforo y Labview mediante cable USB.
El sistema funciona bien, pero cuando tiene que enviar el tiempo que ha transcurrido a Labview, no me lo lee. Estoy utilizando las estructuras de visa read y visa write para leer y escribir. Os dejo aquí el programa de Labview, y el de Arduino para una sola luz.
Aunque el código se ve bien deberías haberlo posteado usando tag de códigos (este </>) ahora quien quiera ayudarte debe re tipearlo.
Podrias haberte tomado la molestia de comentar algo el código.
esclavo 2do Arduino interconectado por SoftwareSerial usando bluetooth?
Serial conectado con LabView
Si x Serial se recibe un '0' x toma el valor de millis() y enciendes un led en el pin 8.
Si el esclavo envia '1' entonces apagas el led del pin 8 (LOW), tomas otro valor con y de millis(), calculas la diferencia en mseg y lo cargas en z y luego lo envias al Labview
Asi como lo he descripto luce bien, sin embargo dices que no funciona. Que no envía el tiempo de la variable z.
yo haría este cambio.
// defino como global
bool cuenta = false;
//
// en el loop()
//
if (Serial.available()>0) {
pc = Serial.read();
if (pc == '0') {
digitalWrite(8, HIGH);
x = millis();
cuenta = true;
}
}
if (blue.available()>=0 && cuenta){
esclavo = blue.read();
if (esclavo == '1') {
digitalWrite(8, LOW);
y = millis();
z = y-x;
Serial.print(z);
cuenta = false;
}
}
El único problema que encuentro es que al leer blue todo el tiempo es posible que el dato se pierda al no estar sincronizado con la orden enviada por labview.
cuenta actúa como flag, se levanta cuando hay orden y se mantiene hasta que se recibe un dato del arduino.
Pero si no hay orden nunca pierde la orden del arduino si no la hubo por parte de Labview