es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Código simple de Arduino para controlar motores servo

Soy un novato en Arduino. En este momento, estoy tratando de controlar un motor servo con un Arduino y vi una instrucción en línea como esta:

“`c++
#include //Biblioteca de servos

Servo servo_test; //inicializa un objeto servo para el servo conectado
int angle = 0;

void setup()
{
servo_test.attach(9); // conecta el pin de señal del servo al pin 9 del Arduino
}

void loop()
{
for (angle = 0; angle < 180; angle += 1)
{
servo_test.write(angle);
delay(15);
}

delay(1000);

for (angle = 180; angle >= 1; angle -= 5)
{
servo_test.write(angle);
delay(5);
}

delay(1000);
}
“`

Entiendo cada parte de este código, excepto dos líneas, que son delay(15) y delay(5). No sé cuáles son las funciones de estas dos líneas. ¿Y por qué 5 y 15, y no ambos 5 o ambos 15?

Tags:  ,

Answer

  1. Avatar for davy.ai

    La función delay() en Arduino pausa el programa por una cantidad específica de tiempo en milisegundos. En el código dado, delay(15) y delay(5) se utilizan para controlar el movimiento del motor del servo.

    El delay(15) en el primer bucle for se utiliza para aumentar gradualmente el ángulo del motor del servo en 1 grado en cada iteración del bucle. La pausa de 15 milisegundos entre cada paso asegura que el movimiento del motor del servo sea gradual y suave.

    El delay(5) en el segundo bucle for se utiliza para disminuir gradualmente el ángulo del motor del servo en 5 grados en cada iteración del bucle. La pausa de 5 milisegundos entre cada paso asegura que el movimiento del motor del servo sea más rápido en este bucle que en el primer bucle, lo que crea un tipo de movimiento diferente.

    El valor del delay se puede ajustar según los requisitos del proyecto específico. La razón de usar diferentes tiempos de delay en este código es crear diferentes tipos de movimiento para el motor del servo.

Comments are closed.