En este proyecto, controlaremos el movimiento de un servomotor usando diferentes métodos con Arduino.
Un servomotor es un dispositivo parecido a un motor DC que contiene engranajes para regular su velocidad y ángulo de giro. Podemos controlar su ángulo de giro, que va de 0 a 180 grados. Además un servo es capaz de mantenerse estable en cualquier ángulo dentro de su rango. El voltaje ideal de funcionamiento de un servo está entre 5 y 7V.
Se va a utilizar el servomotor Tower Pro SG90 cuyas especificaciones se encuentran aquí: http://akizukidenshi.com/download/ds/towerpro/SG90.pdf
Materiales
El servo posee un circuito de control interno, que se encarga de posicionar el dispositivo en el ángulo que nosotros le ordenemos. Esto se logra mediante una señal PWM con un ancho de pulso de 20 ms (50Hz):
En cuanto a las conexiones, basta con conectar el servo directamente al Arduino, no es necesario agregar ninguna resistencia u otro componente. El cable rojo va a VCC (5V), el cable marrón o negro a GND y finalmente el cable naranja o amarillo va a cualquier pin PWM.
En este proyecto aprenderemos a controlar el ángulo de un servo utilizando 3 métodos. El primero es hacerlo de forma automática en donde solamente se necesitan el Arduino y el servo, sin la necesidad de añadir algún componente externo. El programa escribe ángulos que van desde 0 hasta 180 grados y luego desde 180 hasta 0 grados de manera repetitiva.
El código para este ejemplo se puede descargar aquí: https://drive.google.com/open?id=0Bxr9tDhyoU1ZWEJsdnNpSkw5Qlk
El segundo método es a través de un potenciómetro. Dependiendo hacia dónde se gira el potenciómetro, el servo girará en esa misma dirección. Como el potenciómetro es una resistencia variable, se puede utilizar para escribir ángulos en el servomotor.
El tercer método es con el uso de pulsadores. En este caso se utilizan dos pulsadores, uno para aumentar el ángulo y otro para disminuir el ángulo cada vez que se presione alguno de ellos.
El código para este ejemplo se puede descargar aquí: https://drive.google.com/open?id=0Bxr9tDhyoU1ZZ0kwY2FhVDR6Zkk
Un servomotor es un dispositivo parecido a un motor DC que contiene engranajes para regular su velocidad y ángulo de giro. Podemos controlar su ángulo de giro, que va de 0 a 180 grados. Además un servo es capaz de mantenerse estable en cualquier ángulo dentro de su rango. El voltaje ideal de funcionamiento de un servo está entre 5 y 7V.
Materiales
- 1 servomotor TowerPro SG90
- 1 potenciómetro de cualquier valor
- 2 resistencias de 10k
- 2 pulsadores
- Cables
- Protoboard o breadboard
- Arduino
El servo posee un circuito de control interno, que se encarga de posicionar el dispositivo en el ángulo que nosotros le ordenemos. Esto se logra mediante una señal PWM con un ancho de pulso de 20 ms (50Hz):
- Si la señal PWM tiene un ancho de pulso entre 0.5 - 1 ms el ángulo corresponde a 0°
- Si la señal PWM tiene un ancho de pulso de 1.5 ms el servo está en neutro (90 grados)
- Si la señal PWM tiene un ancho de pulso entre 1.6 - 2 ms el ángulo corresponde a 180°
En cuanto a las conexiones, basta con conectar el servo directamente al Arduino, no es necesario agregar ninguna resistencia u otro componente. El cable rojo va a VCC (5V), el cable marrón o negro a GND y finalmente el cable naranja o amarillo va a cualquier pin PWM.
En este proyecto aprenderemos a controlar el ángulo de un servo utilizando 3 métodos. El primero es hacerlo de forma automática en donde solamente se necesitan el Arduino y el servo, sin la necesidad de añadir algún componente externo. El programa escribe ángulos que van desde 0 hasta 180 grados y luego desde 180 hasta 0 grados de manera repetitiva.
El código para este ejemplo se puede descargar aquí: https://drive.google.com/open?id=0Bxr9tDhyoU1ZWEJsdnNpSkw5Qlk
El segundo método es a través de un potenciómetro. Dependiendo hacia dónde se gira el potenciómetro, el servo girará en esa misma dirección. Como el potenciómetro es una resistencia variable, se puede utilizar para escribir ángulos en el servomotor.
El código para este ejemplo se puede descargar aquí: https://drive.google.com/open?id=0Bxr9tDhyoU1ZWEhqSjBmSzM0T2M
El tercer método es con el uso de pulsadores. En este caso se utilizan dos pulsadores, uno para aumentar el ángulo y otro para disminuir el ángulo cada vez que se presione alguno de ellos.
Reverendo pendejo, tus esquemáticos están mal, el servo no va al pin 7 va al pin 6
ResponderBorrar:v jaja cmamo
BorrarEse error me comió la cabeza como una hora JAJAJA
BorrarCon. La biblioteca Servo.H se pueden usar todos los pines como pwm
Borrarel unico penndejo eres tu nmms aprende a utilizar la pta biblioteca
Borrarque mamon
BorrarHola, en el último ejemplo cómo puedo hacer para que al accionar el botón gire 90° y al soltarlo vuelva a 0°?
ResponderBorrarno andes subiendo mamadas XD dedicate a otra cosa hijo.
ResponderBorrarme parece un buen aporte!! sigue adelante....
ResponderBorrarcopado gracias
ResponderBorrarALGUIEN TIENE EL CODIGO CORRECTO?
BorrarALGUIEN TIENE EL CODIGO CORRECTO?
ResponderBorrarni ahí perro
ResponderBorrarBuenos dias quisiera que por medio de una pulsacion el servo gire 180 grados y regrese en 3 segundos se puede lograr con arduino
ResponderBorrarPUTO
ResponderBorrardaalee papá largá el código
ResponderBorrares un aporte estupendo, pero no consigo que el circuito con potenciometro me funcione, tiene que ser de una medida en concreto el potenciometro?
ResponderBorrardisculpa de cuanto son las resistencias que ocupas??
ResponderBorrar