2. Servo – Barrido

El barrido del radar se realiza usando un motor servo controlando el ángulo de posición. Luego de un tiempo dt, se avanza un poco el ángulo entre un rango [a,b], al llegar a los límites se invierte el sentido del movimiento.

Los componentes para implementar el barrido son:

  • Arduino UNO con cable USB para PC
  • Servo
  • cables de conexión

Los dispositivos se pueden conectar para pruebas directamente al arduino, se puede usar un proto, o usar las conexiones de los pines de la parte central para alimentación del motor.

Para el caso de motores, servos, se prefiere alimentar al motor con una fuente externa. Se dió el caso que usando un arduino uno genérico, al usar juntos el ultrasonido y el servo, se obtenían lecturas erroneas del ultrasonido, al desconectar el motor, las lecturas volvían a la normalidad. En consecuencia, hacía falta energía para alimentar los dos dispositivos. Recuerde las limitaciones de corriente en el arduino.

Instrucciones Arduino

Las instrucciones en Arduino para controlar el servo propuestas son:

/* Servo - Barrido entre[a,b]
* Se usa un tiempo de espera entre cada ángulo
* http://blog.espol.edu.ec/edelros/servo-barrido/
* edelros@espol.edu.ec
 */

#include <Servo.h>

// Servo Pin y Objeto
int servoPin = 3; 
Servo Servo1; 

int avance = 20;
int angulo = avance;
int espera = 1000; //ms

int a = angulo;
int b = 180 - avance;

void setup(){
    Serial.begin(9600);
    Servo1.attach(servoPin); 
}
void loop(){
    Servo1.write(angulo);
    delay(espera);
    angulo = angulo + avance;
    
    // Sentido de rotación
    if (angulo>=b or angulo<=a){
        avance = -avance;
    }
    
    // Salida a Serial
    Serial.print(angulo);
    Serial.print(",");
    Serial.println(avance);
}

El siguiente paso es combinar el movimiento del servo con el sensor de ultrasonido.


Referencia

https://www.arduino.cc/en/Tutorial/Sweep

 

Publicado por

Edison Del Rosario

edelros@espol.edu.ec / Profesor del FIEC/FCNM-ESPOL