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:
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:
Para mover un miniservo conectado en el pin digital 3, el bloque bitbloq quedaría de la siguiente forma:
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:
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:
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():
Tras una espera de 500 milisegundos, programamos un movimiento en la otra dirección, por ejemplo al ángulo 160 grados:
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:
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?