Paso 6: Sketch de Arduino
Aquí es el sketch de Arduino mas utilizado para el proyecto. Después de ensamblar el robot juntos y cargar el sketch, el robot avanzará cuando un objeto se coloca a 10 cm del sensor de proximidad.
/******************************************
PROPÓSITO: Gusano Robot creado por
Mikhail Ivanovsit fecha: 13/04/2016 *** /
#define echoPin 6 / / este es el pin eco
#define triggerPin 7 / / este es el pin de trigger
#include //include proximidad sensor #include //include servo biblioteca
Servo myservo;
int pos = 0; definir una variable para seguir la posición del servo
void setup() {}
Serial.Begin(115200); iniciar la comunicación serial
pinMode (echoPin, entrada); //set pinmodes
pinMode (triggerPin, salida);
myservo.Attach(13); se fija el servo en el pin 9 al objeto servo
myservo.Write(POS); establece la posición inicial del servo en 0
pinMode (2, salida);
pinMode (3, salida);
digitalWrite (3, alto); configurar el LED en rojo y el LED verde apagado
digitalWrite (2, bajo); }
/***************************main loop*********************************************************/
control de flotador; variable para realizar un seguimiento el distane
void loop() {}
Serial.Print ("la distancia es:"); monitor serie comienzo a analizar el código de
digitalWrite (triggerPin, HIGH); hacer un pulso 10usec, utiliza el sensor de proximidad
delayMicroseconds(10);
digitalWrite (triggerPin, bajo); desactivar el pin de trigger
Float distancia = pulseIn(echoPin,HIGH); ahora leer el pulso que se envía por el sensor //pulseIn devuelve la longitud de pulso en usec
distancia = distancia/58; se calcula la distancia en [cm] por pulselength [usec] / 58
Serial.Print(Distance,DEC); / / enviar la medición en el monitor serial
Serial.println ("cm"); serie se utiliza a keeo pista de los datos obtenidos por el sensor de proximidad
comprobar = 11; asignar un valor inicial para comprobar más arriba de 10 cm
myservo.Write(0); regresar a servo a la posición 0 en el comienzo del bucle
Delay(500); Delay fue creado para permitir que el servo completar el movimiento de 180 grados
comprobar = distancia; asignar variable Compruebe el valor de la distancia
Si (ver < 10) {}
myservo.Write(80); Si la distancia es de menos de 10 cm, mover el servo a la posición 180
digitalWrite (3, bajo); enciende LED verde y apague el LED rojo
digitalWrite(2,HIGH); }
Else {}
digitalWrite (2, bajo); Si la distancia es de más de 10cm, luego mantener los LEDs en estado inicial digitalWrite(3,HIGH);
}
Delay(500);
}