Pages: [1]   Go Down
Author Topic: Arduino UNO + XBEE PRO s2+ Labview  (Read 2786 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, estoi haciendo una practica para la universidad y tengo un problema: tengo que a un arduino UNO colocarle un sensor de temperatura ambiente en una entrada analogica y otro de temperatura de una superficie en otra entrada analogica, recoger los datos y mandarlos a traves de un modulo XBEE PRO s2 a otro arduino UNO, con su modulo XBEE PRO s2, conectado al ordenador y a Labview. He probado a conectar y enviar informacion de manera inalambrica de un arduino a otro, tambien e probado a conectar un arduino a Labview y probar con varios ejemplos y funcionan perfectamente, el problema viene al realizar la practica en si, ¿como hago para que el arduino que tiene los sensores le mande la informacion al arduino conectado al PC y que este a su vez muestre la informacion por pantalla utilizando Labview?
Si alguien me puede ayudar se lo agradeceria.

Gracias. smiley
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 47
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Usa variables para guardar las lecturas de los sensores y después envía esas variables con la orden Serial.print, no estoy seguro de si la comunicación con Xbee interferirá con la comunicación serie con el Pc, haz pruebas y si ves datos poco consistentes en LabView prueba a conectar el módulo XBee receptor a otros pines y usa la librería SoftSerial.
Para que te hagas a la idea, sería algo así:

int lector1 = 0;
int lector2 = 0;
lector1 = analogRead(0);  //guardar en la variable lector1 la lectura del sensor 1 conectado a pin analógico 0
lector2 = analogRead(1); //guardar en la variable lector2 la lectura del sensor 2 conectado a pin analógico 1
Serial.print(lector1);  //enviar por el puerto serie la lectura del sensor 1
delay(500);
Serial.print(lector2);  //enviar por el puerto serie la lectura del sensor 2
delay(500);

Salu2.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 47
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A ver.........el arduino que tiene que llevar cargado el programa que comunica con Labview obviamente debe ser el que esté conectado al Pc, la velocidad debe ser la misma que tienes configurada para la comunicación serie del XBee con la placa de Arduino, de 9600 hasta un máximo de 115200 bps.
Sobre la configuración de labview ya te tendrá que contestar otro ya que no uso programas de simulación ni similares......
Salu2.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ya consegui comunicar los arduino con labview, ahora tengo otro problema y es de codigo asi que igual conguito me puede ayudar... tengo conectado un modulo xbee con un explorer al ordenador y tengo un arduino con un modulo xbee conectado con un sensor en la salida A0. El shield para arduino de xbee viene con tarjeta SD. Yo tengo que recoger el dato de A0 y guardarlo en un archivo txt y mostrarlo por el puerto serial para labview. En el codigo hay que programar dentro del lifa(labview interface for arduino) y hay es donde tengo problemas. Del lifa e borrado la parte de los servos puesto que no la voy a utilizar en labview y me decia que el skecht era demasiado grande. Pongo el codigo haber si alguien sabe solucionar el error. Gracias. smiley

// Standard includes.  These should always be included.
#include <SPI.h>
#include "LabVIEWInterface.h"
#include <SD.h>
float i=A0;
float data;
File dataFile;
/*********************************************************************************
 **  setup()
 **
 **  Initialize the Arduino and setup serial communication.
 **
 **  Input:  None
 **  Output: None
 *********************************************************************************/
void setup()
{  Serial.begin(9600) ;
// Initialize Serial Port With The Default Baud Rate[/color]
  syncLV();
Serial.print("Initializing SD card...");
pinMode(4,OUTPUT);
if (!SD.begin(4)) {
    Serial.println("Card failed, or not present");
    return;
  }
  Serial.println("card initialized.");
  // Place your custom setup code here
 
}


/*********************************************************************************
 **  loop()
 **
 **  The main loop.  This loop runs continuously on the Arduino.  It
 **  receives and processes serial commands from LabVIEW.
 **
 **  Input:  None
 **  Output: None
 *********************************************************************************/
void loop()
{   
  // Check for commands from LabVIEW and process them.   
 
  checkForCommand();
  // Place your custom loop code here (this may slow down communication with LabVIEW)
 
  dataFile=SD.open("log.txt",FILE_WRITE);
  if (dataFile) {
    dataFile.println(data);
    dataFile.print(",");
    Serial.println(data);
    Serial.print(",");
    dataFile.close();
   
  }
  else{
  Serial.println("juaja");
  }
  delay(5000);
  data=i;
  if(acqMode==1)
  {
    sampleContinously();
  }

}
Logged

Pages: [1]   Go Up
Jump to: