#include <BluetoothSerial.h>
#define LM35PIN 13
#define trigPin 12
#define echoPin 14
#define ADC_VREF_mV 5000.0 // en milivoltios
#define ADC_RESOLUTION 4096.0
// BluetoothSerial SerialBT;
void setup() {
pinMode(LM35PIN, INPUT); // Configura el pin del LM35 como entrada
pinMode(trigPin, OUTPUT); // Configura el pin de Trigger como salida
pinMode(echoPin, INPUT); // Configura el pin de Echo como entrada
digitalWrite(trigPin, LOW); // Inicializa el pin Trigger en estado bajo
Serial.begin(115200); // Inicia el puerto serial
// SerialBT.begin("ESP32 Bluetooth"); // Inicia Bluetooth con un nombre
}
void loop() {
delay(1000); // Espera 1 segundo entre lecturas
float temperatura = calcularTemp();
float distancia_cm = calcularDistancia();
//SerialBT.print("Temperatura: ");
//SerialBT.print(temperatura);
//SerialBT.print(" °C Distancia: ");
//SerialBT.print(distancia_cm);
//SerialBT.println(" cm");
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.print(" °C Distancia: ");
Serial.print(distancia_cm);
Serial.println(" cm");
}
// Función para medir la temperatura de un sensor LM35
float calcularTemp() {
// Lee el valor ADC del sensor de temperatura
int adcVal = analogRead(LM35PIN);
// Convierte el valor ADC a voltaje en milivoltios
float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION);
// Convierte el voltaje a temperatura en °C
float tempLM35 = milliVolt / 10;
return tempLM35;
}
/************************* Función para calcular las distancias *********************************/
long calcularDistancia() {
// Declaración de variables locales
long duracion, distancia;
// Genera un pulso ultrasónico
digitalWrite(trigPin, HIGH); // Establece el pin Trigger en estado alto
delayMicroseconds(10); // Pausa de 10 microsegundos
digitalWrite(trigPin, LOW); // Establece el pin Trigger en estado bajo
duracion = pulseIn(echoPin, HIGH); // Mide el tiempo de retorno del eco
// Cálculo de la distancia del objeto en cm
distancia = (duracion / 2) / 29.1; // La velocidad del sonido es 343 m/s o 29.1 us/cm
return distancia; // Devuelve el valor de la variable distancia
}