#include <Servo.h> // Inclui a biblioteca Servo
// Define pinos para o sensor de ultrassom
const int trigPin = 7;
const int echoPin = 6;
// Cria um objeto servo
Servo meuServo;
void setup() {
// Configura pinos do sensor de ultrassom
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Conecta o servo ao pino 9
meuServo.attach(9);
// Inicializa a comunicação serial
Serial.begin(9600);
}
void loop() {
// Envia um pulso ultrassônico
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lê o tempo do pulso de retorno
long duration = pulseIn(echoPin, HIGH);
// Calcula a distância em centímetros
float distance = duration * 0.034 / 2;
// Mapeia a distância para um ângulo de servo (0 a 180 graus)
int angulo = map(distance, 2, 400, 0, 180); // Ajuste os valores conforme necessário
angulo = constrain(angulo, 0, 180); // Garante que o ângulo esteja entre 0 e 180 graus
// Move o servo para o ângulo calculado
meuServo.write(angulo);
// Imprime a distância e o ângulo para o monitor serial
Serial.print("Distância: ");
Serial.print(distance);
Serial.print(" cm, Ângulo: ");
Serial.println(angulo);
// Atraso para estabilizar a leitura
delay(100);
}