Programación simple
Arduino + Mobility Shield 2WD + Ultrasonic Ranging
#include <Ultrasonic.h> #include <Servo.h> Ultrasonic ultrasonic(5,4); // (Trig PIN,Echo PIN) Servo Servo1; Servo Servo2; int izquierda; int derecha = 0; void setup() { Servo1.attach(6); Servo2.attach(7); STOP(); delay(5000); } void loop() {   if ( ultrasonic.Ranging(CM) < 10 ) {     // OBJETO     STOP();     IZQUIERDA();     delay(200);     izquierda = ultrasonic.Ranging(CM);     DERECHA();     delay(400);     derecha = ultrasonic.Ranging(CM);         if ( derecha < izquierda ) {           for (int i=0; i < 14; i=ultrasonic.Ranging(CM) ){       DERECHA();       delay(50);}           } else {           for (int i=0; i < 14; i=ultrasonic.Ranging(CM) ){       IZQUIERDA();       delay(50);}           }        }else{    // LIBRE    ADELANTE();   } } void STOP(){ Servo1.writeMicroseconds(1425); //3000 Servo2.writeMicroseconds(1380); //0000 } void ADELANTE(){ Servo1.writeMicroseconds(3000); //3000 Servo2.writeMicroseconds(0); //0000 } void ATRAS(){ Servo1.writeMicroseconds(0); //3000 Servo2.writeMicroseconds(3000); //0000 } void IZQUIERDA(){ Servo1.writeMicroseconds(3000); //3000 Servo2.writeMicroseconds(3000); //0000 } void DERECHA(){ Servo1.writeMicroseconds(0); //3000 Servo2.writeMicroseconds(0); //0000 }
LibrerÃas requeridas
Mobility Shield for Arduino by Javier Rodrigo is licensed under a Creative Commons.
