Servos de xiro continuo

servo_rotacion_continuaDescrición:

Os servos de rotación continua conéctanse e prográmanse da mesma maneira cós servos estándar. A diferenza está en que no canto de controlar o xiro o que imos controlar é a velocidade

meuservo.write(velocidade)

A velocidade varía de 0 a 180, sendo 0 a velocidade máxima nun sentido e 180 a velocidade máxima en sentido contrario. Se escribimos 90 estaremos dando a orde de parar.

  • meuservo.write(0):  velocidade máxima nun sentido
  • meuservo.write(90):  parada
  • meuservo.write(180):  velocidade máxima no sentido contrario

Normalmente estes servos dispoñen dun potenciómetro que permite a calibración. Se o servo non está calibrado, cando lle damos a orde de parar o servo xirará a unha pequena velocidade. Dándolle a orde de parada, debemos xirar o potenciómetro ata que o servo se deteña.

Programas:

1. cambiando de sentido

1. Cambiando de sentido: Imos utilizar este programa que probamos cun servo estándar. Observa que sucede cun servo de rotación continua.

#include <Servo.h>    // Importamos a librería servo

// Declaración de variables:

Servo meuservo;      // poñémoslle nome ao servo: "meuservo"

// Configuración:

void setup(){
  meuservo.attach(6);   // Indicamos que está conectado no pin 6
}

// Programa:

void loop(){

  meuservo.write(0);   
  delay (2000);
  meuservo.write(90);  
  delay (2000);
  meuservo.write(180);    
  delay (2000);  
  meuservo.write(90);  
  delay (2000);

}

2. Aceleración

2. Aceleración: Imos facer que un servo de xiro continuo vaia acelerando pouco a pouco.

#include <Servo.h>  // Importamos a librería servo

// Declaración de variables:

Servo meuservo;      // poñémoslle nome ao servo: "meuservo"

// Configuración:

void setup(){
  meuservo.attach(6);   // Indicamos que está conectado no pin 6
}

// Programa:

void loop(){

  meuservo.write(90);    // Parte da posición de parada
  delay (2000);
  for(int i=90;i<180;i++){
    meuservo.write(i);    // vai acelerando pouco a pouco
    delay (50);
  }
  delay (2000);
  
}

Propostas:

  • Aceleración e desaceleración: Fai que un servo de xiro continuo, partindo do repouso vaia acelerando pouco a pouco ata alcanzar a máxima velocidade e despois vaia desacelerando pouco a pouco ata que pare de novo.
  • Control con pulsadores: Conecta dous pulsadores. Cando prememos nun pulsador o servo aumenta a velocidade 10 puntos e cando prememos noutro pulsador diminúe a velocidade 10 puntos. Introduce os límites de 90 e 180º.

Deixa un comentario