Go Down

Topic: ¿Como le vario la velocidad a un servomotor? (Read 1 time) previous topic - next topic

santig22

Sep 12, 2015, 10:55 pm Last Edit: Mar 17, 2019, 09:22 pm by surbyte Reason: Agregado de etiqueta para Errores y/o códigos
Hola, soy un poco nuevo en este mundo de arduino y tengo un codigo que genera la rotacion de un servomotor al enviar un valor por medio de un modulo bluetooth, mi problema es que no he podido cambiar la velocidad con la que se mueve el servomotor
Code: [Select]
#include <Servo.h>

Servo myservo;
int led1 = 13;
int led2 = 12;
int estado = 0;
int pos = 0;


void setup (){

Serial.begin(9600);
 pinMode(led1,OUTPUT);
 pinMode(led2,OUTPUT);
 myservo.attach(9);
 myservo.write(160);
 digitalWrite(led1,HIGH);
 digitalWrite(led2,LOW);
}

void loop (){

if(Serial.available()>0){
estado = Serial.read();

}
 if (estado =='1')
 {
   digitalWrite (led2, HIGH);
   digitalWrite (led1, LOW);
   myservo.write(68);
 }
  if (estado =='2')
 {
   digitalWrite (led1, HIGH);
   digitalWrite (led2, LOW);
   myservo.write(160);
 }
 }

 

... Muchas gracias....

mike_117

Fácil conecta tu servo en un pin capaz de usar PWM y con eso puedes poner la velocidad que tu desees siendo 0 sin velocidad y 255 la máxima velocidad ya tu elijes el valor que prefieras por ejemplo 128 es igual a una velocidad media. Esto lo puedes hacer mediante un potenciometro o algún botón es cuestión de investigar un poco ya que en google hay un sin fin de información acerca de lo que tu quieres hacer, inclusive en este foro muchos han hecho esta pregunta solo es cosa de que investigues por tu parte. Saludos

Pd. Lee las normas del foro sobre como postear códigos
Estudiante de Ingeniería en Electrónica, Creyente del open source y en mis ratos libres suelo venir al foro para tratar de ayudar a gente con sus problemas, aficionado a la programación y a Arduino.

GO_zalo

Fácil conecta tu servo en un pin capaz de usar PWM y con eso puedes poner la velocidad que tu desees siendo 0 sin velocidad y 255 la máxima velocidad ya tu elijes el valor que prefieras por ejemplo 128 es igual a una velocidad media. Esto lo puedes hacer mediante un potenciometro o algún botón es cuestión de investigar un poco ya que en google hay un sin fin de información acerca de lo que tu quieres hacer, inclusive en este foro muchos han hecho esta pregunta solo es cosa de que investigues por tu parte. Saludos

Pd. Lee las normas del foro sobre como postear códigos
no estoy muy de acuerdo, el pin 9 ya esta bien donde esta, si le metes por alli un PWM no conseguiras muchas cosas

para variar la velocidad en vez de enviar un valor directamente tienes que ir enviando valores succesivos con una pequeña espera entre cada uno con un bucle

lo del PWM puede funcionar, pero seria poniéndolo a la alimentación del servo, no a la señal, y ademas habría que usar un transistor de por medio

danielpv

Tambien tienes que tener en cuenta la velocidad máxima del servo. fíjate en las especificaciones

surbyte

@danielpv entiendo que quieras ayudar pero no revivas hilos que tienen mas de 120 dias y menos algo que no se ha modificado desde 2015.

Hilo viejo se deja como esta!!

Ahora cierro el tema.

Go Up