#include <Servo.h>
Servo servo12;
Servo servo22;
Servo servo23;
Servo servo24;
Servo servo25;
Servo servo26;
Servo servo27;
Servo servo28;
int TRIG = 10; // trigger en pin 10
int ECO = 9; // echo en pin 9
int LED = 3; // LED en pin 3
int DURACION;
int DISTANCIA;
void setup()
{
delay(100);
servo12.attach(2);
servo22.attach(4);
servo23.attach(5);
servo24.attach(6);
servo25.attach(7);
servo26.attach(8);
servo27.attach(11);
servo28.attach(12);
pinMode(TRIG, OUTPUT);
pinMode(ECO, INPUT);
pinMode(LED, OUTPUT);
}
void loop(){
servo12.write(70);
servo22.write(70);
servo23.write(70);
servo24.write(70);
servo25.write(70);
servo26.write(70);
servo27.write(70);
servo28.write(70);
delay(2000);
servo12.write(30);
servo22.write(30);
servo23.write(30);
servo24.write(30);
servo25.write(30);
servo26.write(30);
servo27.write(30);
servo28.write(30);
digitalWrite(TRIG, HIGH); // generacion del pulso a enviar
delay(1); // al pin conectado al trigger
digitalWrite(TRIG, LOW); // del sensor
DURACION = pulseIn(ECO, HIGH); // con funcion pulseIn se espera un pulso
// alto en Echo
DISTANCIA = DURACION / 58.2; // distancia medida en centimetros
Serial.println(DISTANCIA); // envio de valor de distancia por monitor serial
delay(200); // demora entre datos
if (DISTANCIA <= 40 && DISTANCIA >= 0){ // si distancia entre 0 y 20 cms.
servo25.write(70);
servo26.write(70);
digitalWrite(LED, LOW); // enciende LED
delay(DISTANCIA * 10); // demora proporcional a la distancia
digitalWrite(LED, HIGH);}
delay(2000);
if (DISTANCIA <= 40 && DISTANCIA >= 0){ // si distancia entre 0 y 20 cms.
servo25.write(30);
servo26.write(30);
servo22.write(120);
servo12.write(120);
digitalWrite(LED, LOW); // enciende LED
delay(DISTANCIA * 10); // demora proporcional a la distancia
digitalWrite(LED, HIGH);}
delay(2000);
}