8_servos_mini

Si has visto el videotutorial sobre Servomotores, quizá te has preguntado cómo se programa el bailecito que hacen los miniservos al final del vídeo. En esta entrada aprenderás a programar los movimientos usando los bloques de bitbloq

Creando una función para mover servos:

Para empezar vamos a crear una función con este bloque que renombraremos como MePasoElDiaBailando:

8servos_funcion_0

Le añadimos un parámetro de entrada tipo entero (int) que será el dato con la posición que queremos que alcancen los miniservos. Este dato se lo pasaremos desde el bucle principal:

8servos_funcion_1

Para mover un miniservo conectado en el pin digital 3, el bloque bitbloq quedaría de la siguiente forma:

8servos_funcion_2

Como ves, le hemos puesto una pausa de 150 milisegundos para que el programa espere un poco sin hacer otra cosa mientras este servo se mueve.

¡Vamos a conectar 8 miniservos! Sí, sí y ¡SÍ! en la placa ZUM BT-328 puedes conectar 8 servomotores sin problemas:

8_servos

AVISO: Alimenta la placa controladora con una fuente externa o portapilas si ves que la corriente del USB del ordenador no es suficiente para mover tanto servo.

La función de bailoteo para los ocho servos quedaría así de larguirucha:

8servos_funcion_larga

Bucle principal:

En el bucle principal vamos a declarar una variable local llamada “pos” que será el ángulo que irán tomando los miniservos. Para empezar les vamos a decir que tomen un ángulo de 20 grados, pasándole este dato a la función creada MePasoElDiaBailando():

8servos_pos_A

Tras una espera de 500 milisegundos, programamos un movimiento en la otra dirección, por ejemplo al ángulo 160 grados:

8servos_pos_B

De esta forma los miniservos irán moviéndose uno a uno sincronizados cada 150 ms entre uno y el siguiente. Primero hasta el ángulo 20, espera de 500ms, después hasta el ángulo 160 y otra espera de medio segundo. Así queda el programa al completo:

8servos_completa

Ahora que tienes claro el baile simple, prueba a modificar las esperas, tiempos de sincronía y ángulos para hacer tu baile personalizado. Por ejemplo, ¿sabrías modificar estos parámetros usando un potenciómetro?