Paso 5: Escribir código para el arduino y conecte los sensores
Conecte el sensor servo y movimiento a su protoboard y conecte a la placa arduino (o funduino). Este es el código:
#include
#include servo myservo;
#define PING_PIN 12 # definir 11 PING_PIN2 / / pin Arduino atado a los pines de gatillo y eco en el sensor de ultrasonidos. #define MAX_DISTANCE 250 / / distancia máxima queremos ping para (en centímetros). Distancia máxima del sensor está valorada en 400-500cm.
Sonar de NewPing (PING_PIN, PING_PIN2, MAX_DISTANCE); NewPing instalación del perno y la distancia máxima.
int pos = 0; variable para almacenar el control booleano servo posición = 0; unsigned int nos = 10; void setup() {myservo.attach(9); Serial.Begin(9600); se fija el servo en el pin 9 al objeto servo}
void loop() {int itemp = uS / US_ROUNDTRIP_CM; if(check == 1) {para (pos = 0; pos < = 180; pos += 1) {/ / va desde 0 grados a 180 grados / / en pasos de 1 grado de myservo.write(pos); / / enviar a servo a la posición en la variable 'pos' delay(20); / / espera 15ms para el servo a la posición}
Delay(2000); para (pos = 180; pos > = 0; pos-= 1) {/ / va de 180 grados a 0 grados myservo.write(pos); / / enviar a servo a la posición en la variable 'pos' delay(20); / / espera 15ms para el servo a la posición} verificar = 0; } delay(250); Nos = sonar.ping(); Serial.Print ("Ping:"); Serial.Print(US / US_ROUNDTRIP_CM); Convertir el tiempo de ping de distancia e imprimir el resultado (0 = distancia fija exterior gama, no echo ping) Serial.println("cm"); Serial.Print(check); int i = uS / US_ROUNDTRIP_CM; Serial.Print ("movimiento de prueba"); Serial.println(i); Serial.Print(itemp); Si (< 125 & & i > 70 & & i! = 0) {comprobar = 1;}}