Libelium is offering new technical support channels, to contact with de Technical Support team to solve any issue our doubt please contact with your sales agent or visit our contact site



Post a new topicPost a reply Page 2 of 2   [ 15 posts ]
Go to page Previous  1, 2
Author Message
 Post subject: Re: Problema con Blood Pressure Sensor KODEA KD-202F
PostPosted: Fri Sep 01, 2017 8:27 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola angelmr22,

no sabemos como solucionar ese problema, puedes probar a modificar la librería. Nosotros hemos probado la librería hasta el IDE 1.0.5.

Un saludo


Top
 Profile  
 
 Post subject: Re: Problema con Blood Pressure Sensor KODEA KD-202F
PostPosted: Wed Sep 06, 2017 4:51 am 

Joined: Sun Aug 06, 2017 6:08 pm
Posts: 8
Buenos dias nuevamente, un gusto en saludarles.


Actualmente estoy utilizando todavia el tensiometro y necesito enviar los datos que obtengo del tensiometro a una base de datos. Estoy utilizando el modulo WiFi ESP8266 para realizar la comunicacion. El detalle esta en que para realizar la comunicacion, la unica manera que lo he logrado es conectando el pin Rx del modulo ESP8266 al pin 1 (Tx) del arduino y el pin Tx del modulo al Rx del arduino.

Al intentar integrar ambos codigos en uno solo (Envio de informacion a base de datos con el de obtener la informacion del tensiometro) no logro realizar la comunicacion debido a que la unica manera de ejecutar el codigo es que los pines del modulo y el arduino sea Tx-Tx y Rx-Rx. Esto se debe al comando eHealth.readBloodPressureSensor();. Este comando utiliza los puertos Rx y Tx del arduino y es por eso que crea ese conflicto?

Que me recomiendan hacer? he intentado colocar otros pines digitales para establecer la comunicacion serial y no lo he logrado. solo en los pines 0 y 1 del arduino o sera cuestion de libreria ya que estoy usando el IDE 1.0.6?

Seria de mucha ayuda sus recomendaciones.

Saludos desde venezuela.


Top
 Profile  
 
 Post subject: Re: Problema con Blood Pressure Sensor KODEA KD-202F
PostPosted: Wed Sep 06, 2017 7:28 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola angelmr22,

nunca hemos probado a trabajar con eHealth + ESP8266. El problema que tienes es que la función "eHealth.readBloodPressureSensor();" utiliza la única UART que tiene arduino Uno para comunicarse con el sensor e inicializa el puerto seria a esta velocidad:
Code:
Serial.begin(19200);


por lo tanto si el modulo ESP8266 que tambien utiliza la unica UART de arduino trabaja a otra frecuencia debes de inicializarla cuando quieras comunicarte con el.

Un saludo.


Top
 Profile  
 
 Post subject: Re: Problema con Blood Pressure Sensor KODEA KD-202F
PostPosted: Wed Sep 27, 2017 8:24 pm 

Joined: Sun Aug 06, 2017 6:08 pm
Posts: 8
Buenas tardes, un gusto en saludarles nuevamente.


Es decir que la funcion mencionada anteriormente utiliza los pines RX y TX (0 y 1) del arduino, por lo que es recomendable usar otros pines (digitales) para hacer la conexion con el ESP8266.

Actualmente estoy trabajando en un proyecto que usa el sensor de presion arterial y el de electromiografia (EMG). Tengo el siguiente codigo:

Code:
#include <SoftwareSerial.h>
#include <eHealth.h>
SoftwareSerial ESP1(3,2); // (RX,TX) EN EL ARDUINO
int x=2;
int flag=0;

void setup(){
  Serial.begin(19200);
  eHealth.readBloodPressureSensor();
  ESP1.begin(19200);
}


void loop(){

  Serial.flush();
  String a,coma=",";
  int Syst=0, Dias=0, Puls=0;
 
  //-----Codigo de tension arterial para obtener solo la ultima medicion realizada---------
  while(x>1){ 
    Serial.flush();
    uint8_t numberOfData = eHealth.getBloodPressureLength();
    Serial.print(F("Number of measures : "));   
    Serial.println(numberOfData, DEC);
    int flag= numberOfData;
    int flag1= flag - 1;
    for (int i = flag1; i<flag; i++) {

      x--;     
      Serial.print(F("Systolic value : "));
      Serial.print(30+eHealth.bloodPressureDataVector[i].systolic);
      Syst=30+eHealth.bloodPressureDataVector[i].systolic;
      Serial.println(F(" mmHg"));
      Serial.flush();

      Serial.print(F("Diastolic value : "));
      Serial.print(eHealth.bloodPressureDataVector[i].diastolic);
      Dias=eHealth.bloodPressureDataVector[i].diastolic;
      Serial.println(F(" mmHg"));
      Serial.flush();

      Serial.print(F("Pulse value : "));
      Serial.print(eHealth.bloodPressureDataVector[i].pulse);
      Puls=eHealth.bloodPressureDataVector[i].pulse;
      Serial.println(F(" bpm"));
      Serial.flush();
    }
  }

  Serial.println("\n");
  Serial.println("\n");
  delay(500);

  Serial.println(Syst);
  Serial.println(Dias);
  Serial.println(Puls);
 
//------------ Fin Codigo de tension arterial para obtener solo la ultima medicion realizada


//--------------Inicio de codigo para obtener valores de EMG-------------------------
  for (int j=0; j<6; j++){
    int EMG = eHealth.getEMG();

    a.concat(EMG);
    a.concat(coma); 
    delay(7);
  }
  Serial.print("a=");   
  Serial.println(a);
//---------------------FIN de codigo para obtener valores de EMG


//En este punto realizo un String que es la peticion GET para ser recibido por un PHP y cargar los //valores a la base de datos de la siguente manera:
//GET /pruebaCarga.php?Syst=xxx&Dias=yy&Puls=ww&EMG=12,34,565,24,344,555,
 
String GETrequest="GET /pruebaCarga.php?Syst=";
  GETrequest+=Syst;
  GETrequest+="&Dias="; 
  GETrequest+=Dias;
  GETrequest+="&Puls=";
  GETrequest+=Puls;
  GETrequest+="&EMG=";
  GETrequest+=a;
  delay(300);
 
  int w;
  w=11+GETrequest.length(); //Obtengo la longitud para decir el tamaño de la peticion GET

  Serial.println("AT+CIPSTART=\"TCP\",\"192.168.8.100\",80");//Inicio la conexion con la base de datos.
  ESP1.println("AT+CIPSTART=\"TCP\",\"192.168.8.100\",80");
  delay(300);

  Serial.print("AT+CIPSEND=");
  Serial.println(w);             //Envio longitud
  ESP1.print("AT+CIPSEND=");
  ESP1.println(w);
  Serial.println(GETrequest);   //envio peticion GET armada anteriormente.
  ESP1.println(GETrequest);
  Serial.println("\n");

  Serial.flush();
  ESP1.flush();
  delay(100);

}



El inconveniente que estoy teniendo ahora es que quiero obtener mas de 6 valores de EMG, pero al colocar 7 deja de funcionar el codigo al no agregar esa variable a la peticion GET. colocandolo de esta manera: GET /pruebaCarga.php?Syst=xxx&Dias=yy&Puls=ww&EMG=

Es importante destacar que si quito todo lo relacionado con la libreria SoftwareSerial y los comandos ESP1.print si puedo agregar mas valores.
Es como que si se llenara la memoria.

Si ven algun error o tienen alguna recomendacion pues seria de muchisima utilidad para mi.

Saludos.


Top
 Profile  
 
 Post subject: Re: Problema con Blood Pressure Sensor KODEA KD-202F
PostPosted: Thu Sep 28, 2017 7:34 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola angelmr22,

exacto, tienes un problema de memoria RAM. Arduno Uno tiene una memoria muy limitada de 2k.

Puedes tratar de resolverlo reduciendo la cantidad de memoria que usas, por ejemplo sustituyendo cada trozo de codigo asi:
Code:
Serial.print("AT+CIPSEND=");


por esto:
Code:
Serial.print(F("AT+CIPSEND="));


Un saludo.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post a new topicPost a reply Page 2 of 2   [ 15 posts ]
Go to page Previous  1, 2


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Libelium theme based on 610nm Style by Daniel St. Jules of http://www.gamexe.net


© Libelium Comunicaciones Distribuidas S.L. | Terms of use.