Imprimir

Servomotor

Un servomotor es un tipo de motor cuyo eje puede ser situado a una determinada posición indicando un ángulo determinado.

El tipo de servomotor que vas a utilizar en este ejercicio es un SG90 cuyo eje se puede situar entre 0 grados y 180 grados.

AngulosServo 2e5db

Conexión del servomotor a la placa Arduino

Para realizar correctamente la conexión del servomotor a la placa Arduino, debes distinguir los 3 cables que incorpora.

2022 01 30 20.38.49 ab7b9

Si tienes el servomotor en la mano podrás ver que los conectores son hembra, por lo que para conectar el servomotor directamente a la placa Arduino, deberás usar un 3 cables dupont macho-macho como el de la foto:

2022 01 30 20.39.13 f47cd

No deben preocuparte en exceso los colores de los cables, pero sí debes fijarte dónde conectas cada uno.

2022 01 30 20.39.16 dcfa1

En este ejemplo se ha conectado el cable amarillo con el naranja (datos), el verde con el rojo (5V) y el azul con el marrón (GND).

Por tanto, el cable azul se conectará (en este ejemplo) al pin GND y el cable verde al pin 5V. Si usas otros colores para los cables deberás tener en cuenta las conexiones anteriores para saber qué cables debes conectar.

2022 01 30 20.39.21 66c70

Por último, el cable amarillo (en este ejemplo) se conectará a uno de los pines digitales. Puedes usar cualquiera de los que aparecen con números del 0 al 13 en la placa Arduino UNO. Aquí se va a usar el pin 8.

2022 01 30 20.39.23 922f6

Programación del servomotor con ArduinoBlocks

El bloque que necesitas para programar el servomotor se encuentra en el apartado Motor > Servo.

Captura de pantalla 2022 01 30 a las 21.21.53 93445

En concreto, para colocar el eje del servomotor en un determinado ángulo, debes usar el primero de esos bloques.

Captura de pantalla 2022 01 30 a las 21.24.37 95cd0

Arrástralo dentro del Inicializar para que puedas probarlo. 

Captura de pantalla 2022 01 30 a las 21.28.43 68166

Observa que hay que indicar 3 parámetros:

Captura de pantalla 2022 01 30 a las 21.29.47 d067e

Captura de pantalla 2022 01 30 a las 21.31.50 bc738

Si intentas que el servomotor gire a 3 ángulos distintos sin indicar un tiempo de retardo, al servomotor no le da tiempo a girar a cada posición.

Captura de pantalla 2022 01 30 a las 21.38.13 8e14e

Por eso hay que indicar un tiempo de retardo entre cada línea de código, para que se espere el tiempo necesario para que el servomotor termine de girar. Un tiempo de 300 milisegundos puede ser suficiente para este ejemplo.

Captura de pantalla 2022 01 30 a las 21.37.48 4077c

Subir el código a la placa Arduino

Recuerda que para probar el código y comprobar que el motor gira correctamente, debes subir el código a la placa Arduino como ya has aprendido anteriormente en otros ejercicios.

Tenías que conectar correctamente la placa al puerto USB del ordenador, abrir la aplicación ArduinoBlocks Connector y usar el botón de Subir de la web de ArduinoBlocks.

Si por ejemplo pruebas el código anterior deberías obtener un resultado como este:

Servomotor320 4001c