Hola, mi proyecto se basa en obtener la temperatura y humedad con el sensor dht11, además de medir el pulso cardíaco de una persona, con el sensor de pulso que tiene un corazón estampado, estos datos los envío a una aplicación móvil mediante bluetooth con el módulo HC-06. Cuando se pulse un botón en la app esta envía una letra para recibir los datos de un sensor, ya sea temperatura y humedad o pulso.
En el código que tengo utilizo case, pero solamente se muestra el resultado una vez, lo que quiero es hacer que hasta que se pulse el otro botón no deje de mostrar los datos recopilados por un solo sensor, de antemano muchas gracias.
#include "DHT.h"
#define DHTPIN 2 //pin a utilizar para el dht11
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int pulso=0; //variable que almacena el pulso
void setup()
{
dht.begin(); //Inicializamos la lectura del dht11
pinMode(A5,INPUT);//Seleccionamos el pin análogo 5 como entrada del pulso
Serial.begin(9600);//Inicializamos el valor de transmisión.
}
void loop()
{
while (Serial.available())//Declaramos un sentencia, Mientras el puerto Serial este disponible se empieza el ciclo
{
char dato= Serial.read(); //Declaramos una variable de tipo carácter y Seo lee la variale enviada desde el Bluetooth.
switch(dato)
{
case 'A': //Si en el caso de ser A la variable enviada, entonces:
{
int hum = dht.readHumidity(); //variable que almacena la humedad
int temp = dht.readTemperature();//variable que almacena la temperatura
Serial.print("La temperatura es: ");//Se mostrará el mensaje.
Serial.print(temp);
Serial.print("°C, ");
Serial.print("La humedad ambiente es: ");
Serial.print(hum);
Serial.println("%");//Se muestra la temperatura y la humedad
delay(1500);
break;//El caso se detiene.
}
case 'B': //Si en el caso de ser B la variable enviada:
{
pulso=analogRead(A5); //iniciamos la lectura del pin de pulso
Serial.println(pulso); //se muestra el pulso
break;
}
}
}
}