//************************************
#include <NewPing.h> // Libreria
#include <EEPROM.h> // Libreria
#define TRIGGER_PIN 9 // Pin de trigger conectado al pin 9
#define ECHO_PIN 10 // Pin de echo conectado al pin 10
#define MAX_DISTANCE 200 // Distancia máxima que quieres medir en centímetros
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
//************************************
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
const int redPin = 13; // Pin para el color rojo del LED RGB
const int greenPin = 12; // Pin para el color verde del LED RGB
const int bluePin = 11; // Pin para el color azul del LED RGB
void setup()
{
Serial.begin(115200);
//*********************************
lcd.init();
lcd.backlight();
// Configurar los pines del LED RGB como salidas
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{
delay(2000);
unsigned int uS = sonar.ping(); // Obtenemos la distancia en microsegundos
// Convertimos la distancia de microsegundos a centímetros
float cm = sonar.convert_cm(uS);
// Guardar la distancia en la EEPROM
EEPROM.put(0, cm);
// Mostrar la distancia en el LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distancia:");
lcd.setCursor(11, 0);
lcd.print(cm);
lcd.setCursor(16, 0);
lcd.print(" cm");
// Encender y apagar el LED RGB
digitalWrite(redPin, HIGH);
delay(500);
digitalWrite(redPin, LOW);
delay(500);
digitalWrite(greenPin, HIGH);
delay(500);
digitalWrite(greenPin, LOW);
delay(500);
digitalWrite(bluePin, HIGH);
delay(500);
digitalWrite(bluePin, LOW);
delay(500);
}