Micro:bit y los servos ( 2 de 3 )

Hoy vamos a ver como hacer un programa en nuestro micro:bit para mover un servo a tres posiciones, pulsando los botones.

Además aprenderemos a conectar un servo a nuestro bit.

Empezamos programando.

Crea un nuevo programa y llámalo Servos2, por ejemplo.

Si aún no sabes como crear un programa puedes revisa el artículo: Micro:bit. Mi primer programa.

Vamos a ello. Desplegamos la categoría Avanzado y abajo de todo seleccionamos Extensiones.

Estos nos llevará página nueva. En esta nueva página seleccionamos la librería Servo.

Al pulsar volveremos al editor de código. Y en las categorías ya tenemos añadida la categoría Servos.

Nuestro programa moverá el servo a tras posiciones, 0, 90 y 180 grados. De manera que al pulsar el botón A, el servo se moverá a la siguiente posición mayor que en la que estaba. Por ejemplo, si el servo está a 90 grados, al pulsar el botón A, este se moverá a 180 grados.

En el caso que esté a 180 grados, el servo no se moverá. Para ir a la posición anterior debemos usar el botón B, de manera que al pulsarlo el servo irá a la posición anterior.

Lo primero es crear una variable que se llame Posicion.

Crear variable

En el bloque al iniciar estableceremos su valor a 0. Después usaremos el bloque Set servo P0 to angle 0 pero en lugar de el número cero, le indicaremos que use vaya al la posición indicada por la variable Posicion.

Ahora en el bloque para siempre, añadiremos un texto que muestre número. Que será el contenido de la variable posición.

Ahora vamos a programar los botones. Empecemos por el botón A, el cual al pulsarlo moverá el servo a la posición siguiente.

Arrastra un bloque al presionar el botón A, e introduce dentro de el un bloque, e introduce dentro de él, un bloque condicional si. Dentro del bloque condicional comprueba si el valor de la variable posicion es igual a 0. Entonces estableceremos el valor de la variable posicion a 90. Sino es así comprobaremos si el valor de la variable posición es igual a 90, entonces establecemos el valor de la variable a 180.

Fuera de los bloques condicionales, colocamos el bloque set servo P0, para que el servo se mueva al valor indicado por la variable posición.

Ahora coloca el bloque al presionar el botón B, y haz lo mismo pero comprobando los valores 180 y 90. Al valer 180 la variable posicion, estableceremos la variable a 90, si vale 90 la establecemos a 0.

Ya tenemos nuestro programa funcionando. Comprueba su funcionamiento en el simulador antes de conectar un servo.

Aquí os dejo el código fuente.

Conectando un servo

Vamos a conectar un servo a nuestro micro:bit. Hay que tener en cuenta que la placa no tiene suficiente fuerza para mover cualquier servo sin una batería o pilas. Primero vamos a conectar un servo con poca fuerza que si puede mover Micro:bit sin usar ninguna batería o pila externa. Usaremos un servo Sg90.

Micro Servo  Sg90
Micro Servo Sg90

Para conectarlo a nuestra placa vamos a usar cables de tipo «cocodrilo» y cables tipo «dupon». Los cables tipo cocodrilo son cables que en la punta tienen un pinza que se asemeja a la boca del cocodrilo. Los cables tipo «dupon», son cables que en los extremo tienen un conector tipo «dupon». En este caso usaremos unos cables que son macho macho.

Vamos a realizar la conexión. Fíjate en el conector del servo. Tiene tres cables. El cable cable marrón lo conectaremos, usando un cable dupon y el uno cocodrilo, dónde pone GND en nuestra placa Micro:bit. El cable rojo (que está en el centro del conector) lo conectaremos dónde pone 3V, y el cable naranja lo conectamos dónde pone 0 en la placa Micro:bit

Con esto ya tenemos nuestro servo funcionando. Solo queda alimentar la placa Micro:bit bien con el cable usb, o con su pack de batería.

Saludos.

Deja una respuesta