Consulta:
Dame un codigo para c++ en el cual muestre en una pantalla lcd la distancia que otorga un sensor de ultrasonido , a su vez que mueva la distancia en un servo motor
Respuesta:Por supuesto, aquí te proporciono un código de ejemplo en C++ que utiliza un sensor de ultrasonido y un servo motor para mostrar la distancia en una pantalla LCD y mover el servo motor según se cambia la distancia:
```
#include
// Incluir la biblioteca de control del servo motor
#include // Incluir la biblioteca de control de la pantalla LCD
const int trigPin = 9; // Pin de salida del sensor de ultrasonido
const int echoPin = 10; // Pin de entrada del sensor de ultrasonido
const int lcdPin = 12; // Pin de la pantalla LCD
const int servoPin = 3; // Pin del servo motor
Servo myservo; // Crear un objeto de control del servo motor
LiquidCrystal lcd(lcdPin, 11, 5, 4, 3, 2); // Crear un objeto de control de la pantalla LCD
void setup() {
myservo.attach(servoPin); // Conectar el servo al pin correspondiente
lcd.begin(16, 2); // Inicializar la pantalla LCD
pinMode(trigPin, OUTPUT); // Establecer el pin de salida del sensor como salida
pinMode(echoPin, INPUT); // Establecer el pin de entrada del sensor como entrada
}
void loop() {
long duration, distance; // Variables para medir la duración y la distancia del pulso del sensor
digitalWrite(trigPin, LOW); // Establecer el pin de salida del sensor en bajo
delayMicroseconds(2); // Esperar 2 microsegundos
digitalWrite(trigPin, HIGH); // Establecer el pin de salida del sensor en alto
delayMicroseconds(10); // Esperar 10 microsegundos
digitalWrite(trigPin, LOW); // Establecer el pin de salida del sensor en bajo
duration = pulseIn(echoPin, HIGH); // Medir la duración del pulso del sensor
distance = duration * 0.034 / 2; // Calcular la distancia en centímetros
lcd.clear(); // Limpiar la pantalla LCD
lcd.setCursor(0, 0); // Establecer el cursor en la primera línea
lcd.print("Distancia:"); // Mostrar el mensaje "Distancia:"
lcd.setCursor(0, 1); // Establecer el cursor en la segunda línea
lcd.print(distance); // Mostrar la distancia medida
myservo.write(distance); // Mover el servo motor según la distancia medida
delay(500); // Esperar medio segundo antes de medir la distancia de nuevo
}
```
Este código utiliza la biblioteca `Servo.h` y la biblioteca `LiquidCrystal.h` para controlar el servo motor y la pantalla LCD, respectivamente. En el `setup()` se inicializan los pines de entrada y salida, y en el `loop()` se mide la distancia con el sensor de ultrasonido, se muestra en la pantalla LCD y se mueve el servo motor según la distancia medida.