// PULSO NARANJA
#define Pot 35
#define Ledpot 4
const float Res = 4895.9;
const float Vmax = 3.3;
// LCD VERDE
#include <LiquidCrystal_I2C.h>
#define direction 0x27
#define col 16
#define ren 2
LiquidCrystal_I2C lcd(direction, col, ren);
// HUMEDAD GRIS
#include "DHT.h"
#define SENSOR 23
#define DHTTYPE DHT22
DHT dht(SENSOR, DHTTYPE);
// DISTANCIA AZUL
#define tri 12
#define eco 14
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
pinMode(Ledpot, OUTPUT);
pinMode(eco, INPUT);
pinMode(tri, OUTPUT);
}
void loop() {
// PULSO
int x = analogRead(Pot);
float volt = (x * Vmax) / Res;
float luz = ((x * 255) / 4095);
analogWrite(Ledpot, luz);
Serial.println("Valor Pot: " + String(x));
Serial.println("Voltage: " + String(volt));
// HUMEDAD Y HUMEDAD
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
//float lectura = dht.getTempAndHumid();
Serial.println("Temperatura[Celsius]: " + String(t, 2) + "°");
Serial.println("Humidty: " + String(h, 1) + "%");
delay(3000); // Wait for a new reading from the sensor (DHT22 has ~0.5Hz sample rate)
// DISTANCIA
digitalWrite(tri, LOW);
digitalWrite(tri, HIGH);
delayMicroseconds(10);
digitalWrite(tri, LOW);
long tiempo = pulseIn(eco, HIGH);
long distancia = tiempo * 0.034 / 2;
Serial.println("distancia: ");
Serial.println(distancia);
Serial.println("tiempo: ");
Serial.println(tiempo);
// LCD
lcd.setCursor(0, 0);
lcd.print("Pulso cardiaco");
lcd.setCursor(0, 1);
lcd.print(volt);
lcd.clear();
delay(1000);
lcd.setCursor(0, 0);
lcd.print("Humedad");
lcd.setCursor(0, 1);
lcd.print(String(h, 1));
lcd.clear();
delay(1000);
lcd.setCursor(0, 0);
lcd.print("Temperatura");
lcd.setCursor(0, 1);
lcd.print(String(t, 2));
lcd.clear();
delay(1000);
lcd.setCursor(0, 0);
lcd.print("distancia");
lcd.setCursor(0, 1);
lcd.print(distancia);
lcd.clear();
delay(1000);
}