Consulta:
Dame un codigo para c++ en el cual muestre en una pantalla lcd la distancia que otorga un sensor de movimiento, a su vez que mueva la distancia en un servo motor
Respuesta:Aquí te muestro un ejemplo de código en C++ para Arduino, que utiliza un sensor de movimiento, una pantalla LCD y un servo motor para mostrar la distancia medida y mover el servo según la distancia:
```
#include
// Incluimos la librería Servo.h
#include // Incluimos la librería LiquidCrystal.h
Servo myservo; // Creamos un objeto servo
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Iniciamos la pantalla LCD
const int pirPin = 6; // Definimos el pin del sensor de movimiento
int pirValue; // Variable para almacenar el valor del sensor PIR
int servoPos; // Variable para almacenar la posición del servo
void setup() {
myservo.attach(9); // Asignamos el pin 9 al servo
lcd.begin(16, 2); // Inicializamos la pantalla LCD
pinMode(pirPin, INPUT); // Definimos el pin del sensor PIR como entrada
}
void loop() {
pirValue = digitalRead(pirPin); // Leemos el valor del sensor PIR
int distance = analogRead(A0); // Leemos la distancia del sensor de distancia conectado al pin A0
if (pirValue == HIGH) { // Si el sensor PIR detecta movimiento
lcd.clear(); // Limpiamos la pantalla LCD
lcd.setCursor(0, 0); // Colocamos el cursor en la primera línea
lcd.print("Distancia:"); // Mostramos el mensaje "Distancia:"
lcd.setCursor(0, 1); // Colocamos el cursor en la segunda línea
lcd.print(distance); // Mostramos la distancia medida
// Movemos el servo a una posición proporcional a la distancia medida
servoPos = map(distance, 0, 1023, 0, 180);
myservo.write(servoPos);
delay(1000); // Esperamos un segundo antes de volver a medir
}
}
```
Es importante que adaptes este código a tu configuración de pines y componentes si no coinciden con los que se muestran en el ejemplo. Además, debes asegurarte de que la librería `Servo.h` esté instalada en tu IDE de Arduino.