Servo motor vuelve locos a mis leds

hola, me podrían ayudar tengo el siguiente código que enciende leds según la distancia de un objeto pero también le quiero asignar un angulo a un servomotor cunado un led se encienda…el problema es que cuando conecto el servo motor los leds se vuelve locos pero desconecto el servo y todo funciona a la prefeccion, aqui el codigo:

#include <Servo.h>,
#include <SoftwareSerial.h>
SoftwareSerial BLUE(5,6);
const int trigPin = 12;
const int echoPin = 11;
int LedA=3;
int LedV=2;
int LedN=4;
long duracion;
long distancia;
int DatoBT;
int i=0;
Servo Elservo;

void setup() {
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600);
BLUE.begin(38400);
Elservo.attach(8 );
BLUE.print(“bluethoo listo”);
pinMode(LedA,OUTPUT);
pinMode(LedV,OUTPUT);
pinMode(LedN,OUTPUT);

}

void loop() {
distancia = calcularDistancia();
if(distancia>=30){
BLUE.println(“el obejto esta lejos:”);
BLUE.println(distancia);
digitalWrite(LedV,HIGH);
digitalWrite(LedA,LOW);
digitalWrite(LedN,LOW);

}
if(distancia<=29 && distancia>=11){
BLUE.println(“el obejto esta a media distancia”);
BLUE.println(distancia);
digitalWrite(LedV,LOW);
digitalWrite(LedA,HIGH);
digitalWrite(LedN,LOW);
}
if(distancia<=10){
BLUE.println(“el obejto esta a peligrosamente cerca”);
BLUE.println(distancia);
digitalWrite(LedV,LOW);
digitalWrite(LedA,LOW);
digitalWrite(LedN,LOW);
delay(200);
digitalWrite(LedN,HIGH);

}

}
int calcularDistancia(){
digitalWrite(trigPin, LOW);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH);
distancia= duracion*0.034/2;

return distancia;

}

prestacion.ino (1.75 KB)

Lee las normas y edita tu post usando etiquetas de código

En mi opinion aqui esta tu error:

if(distancia <= 10){
   BLUE.println("el obejto esta a peligrosamente cerca");
   BLUE.println(distancia);
   digitalWrite(LedV, LOW);
   digitalWrite(LedA, LOW);
   //digitalWrite(LedN, LOW);         //No es necesario
   //delay(200);                            //Trasladar...
   digitalWrite(LedN, HIGH);
}
delay(200);                                 //...aqui