Arduino Forum

International => Español => Software => Topic started by: juan_1087 on May 21, 2019, 08:13 pm

Title: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: juan_1087 on May 21, 2019, 08:13 pm
Buenas tardes, antes que nada les saludo y agradezco cualquier tipo de ayuda.

Les explico estoy realizando junto con mis alumnos un sistema que mida la temperatura y nivel del agua de un sistema acuapónico, el sistema ya funciona pero quiero que me muestre los resultados de estos sensores en una app en android, he intentado hacerlo con un chip BT HC 05 y multiples terminales y aplicaciones que he descargado de la playStore y no me muestra nada, si hace la conexión pero no me muestra datos, les dejo el código y la imagen del circuito.

Code: [Select]
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>

SoftwareSerial BT(13,12);
LiquidCrystal lcd(6 , 7, 5, 4, 3, 2);
float tempC; // Variable para almacenar el valor obtenido del sensor (0 a 1023)
int pinLM35 = 0; // Variable del pin de entrada del sensor (A0)
const int trigPin = 11;
const int echoPin = 10;
long duracion;
int distancCm, distancPul;

void setup() {
BT.begin(9600);
Serial.begin(9600);
lcd.begin(16,2); // Inicializamos la pantalla LCD especificando las dimenciones en este caso 16 x 2
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
BT.println("Hola");

}

void loop() {

   tempC = analogRead(pinLM35);
   tempC = (5.0 * tempC * 100.0)/1024.0;
  
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duracion = pulseIn(echoPin, HIGH);
distancCm= duracion*0.034/2;
distancPul = duracion*0.0133/2;

lcd.setCursor(0,0); // Posicion inicial del cursor a mostrar en la pantalla
lcd.print("Dist: "); // Imprimimos el texto distancia que se mostrara en la posicion especificada arriba
lcd.print(distancCm); // Imprimimos la distancia leida desde el sensor
lcd.print(" cm");
delay(1000);
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(tempC);
lcd.print("  C");
delay(1000);
BT.print(tempC);
delay(10);

}


(http://i64.tinypic.com/1pcy2d.jpg)
Title: Re: [Ayuda]Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: Kike_GL on May 21, 2019, 11:50 pm
Profe, en el circuito esta al revés que el código los pines del HC-SR04.

Según circuito
Code: [Select]

const int trigPin = 10;     //Magenta
const int echoPin = 11;   //Marron


Según código:
Code: [Select]

const int trigPin = 11;
const int echoPin = 10;


* El modulo HC-05 esta como maestro o esclavo ?
* Como se llama la App que pretendes usar ?
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: surbyte on May 22, 2019, 12:05 am
Estas enviando un solo dato, que es tempC

NO envias la distancia.

Ahora que leo la respuesta de Kike, me pregunto, no lees los datos en el LCD? Es decir, se ve la distancia y la temperatura?
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: juan_1087 on May 22, 2019, 12:11 am
Cierto... en la práctica si lo solucionamos se me olvidó cambiarlo en el circuito, mis alumnos y yo solos nuevos en arduino, el HC 05 está como esclavo y la app que pretendo usar se llama "Arduino Serial Monitor" de BlueCore tech.... muchas gracias!
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: juan_1087 on May 22, 2019, 12:19 am
Estas enviando un solo dato, que es tempC

NO envias la distancia.

Ahora que leo la respuesta de Kike, me pregunto, no lees los datos en el LCD?
Si solo estamos enviando tempC, lo dejé hasta ahí hasta solucionar como puedo enviar esos datos al BT para leerlos en la app. ¿Esto puede estar causando el error?

Si leemos los datos en la LCD, en la práctica si solucionamos lo de los pines al revés. Saludos.

P.D: mis alumnos y yo somos nuevos en arduino.
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: Kike_GL on May 22, 2019, 01:13 am
Quote from: juan_1087
el HC 05 está como esclavo
Pero en el primer mensaje decias que quieres conectar "multiples terminales" y un bluetooth esclavo solo podra conectarse con un maestro.

Logras emparejar desde la App el HC-05 ?
Imagino que hay una forma de seleccionar el HC-05 y luego te debería decir que se logro conectar.
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: juan_1087 on May 22, 2019, 02:57 am
Pero en el primer mensaje decias que quieres conectar "multiples terminales" y un bluetooth esclavo solo podra conectarse con un maestro.

Logras emparejar desde la App el HC-05 ?
Imagino que hay una forma de seleccionar el HC-05 y luego te debería decir que se logro conectar.
Quise decir que he probado múltiples apps de terminales bluetooth para android, si logro hacer la conexión correctamente con el HC 05, me sale en la lista para emparejar y si se empareja, pero no me arroja ningún resultado en la terminal.
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: juan_1087 on May 22, 2019, 06:47 pm
Buenas tardes nuevamente, logré hacer que funcionara pero solo conectando el sensor de temperatura LM35 y el HC 05 el código es el siguiente:

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial BTserial(10,11); // RX / TX
float tempC;
int pinLM35 = 0;

void setup(){
  BTserial.begin(9600);
 
  }
  void loop(){
    tempC = analogRead(pinLM35);
    tempC = (5.0 * tempC * 100.0)/1024.0;

    BTserial.print("Temperatura");
    BTserial.print(tempC);
    delay(1000);
    }


De esta manera si funciona correctamente a como lo queremos, según nosotros estamos utlizando la misma lógica que con el código anterior, inclusive cambiamos los pines RX y TX al pin 10 y 11 respectivamente ya que en varios tutoriales vimos que utilizaban estos pines para el HC 05. No hemos logrado saber cual es el error en el código anterior. Saludos! espero puedan ayudarnos.
Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: surbyte on May 22, 2019, 10:17 pm
Cualquier par de pines desde 2 a 13 pueden usarse asi que no importa si viste 1000 tutos que usen 10 y 11, no es asi. Yo uso 2/3 y 7/8 para GPS y los modulos SIM8XX o SIM9XX para comunicaciones GPRS.

Title: Re: Mostrar datos de sensor LM35 y ultrasónico por Bluetooth en android
Post by: juan_1087 on May 23, 2019, 04:42 pm
Cualquier par de pines desde 2 a 13 pueden usarse asi que no importa si viste 1000 tutos que usen 10 y 11, no es asi. Yo uso 2/3 y 7/8 para GPS y los modulos SIM8XX o SIM9XX para comunicaciones GPRS.


Gracias, siempre se aprende algo nuevo.