Pages: [1]   Go Down
Author Topic: proyecto auto con servos (Los servos no se detienen)  (Read 800 times)
0 Members and 1 Guest are viewing this topic.
Argentina
Offline Offline
Newbie
*
Karma: 0
Posts: 3
TODO ES POSIBLE
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

La idea es  crear  un auto  con cuatro  servos, uno en cada rueda, avanza, retrocede,  izquierda, derecha,  segun  giro de los servos.

mas  adelante  lo controlare  con un  pot para la  veocidad y   un mando a distancia,   por  ahora  tengo esto  y  funciona,  solo que  no se como detener  los   servos.

probe  con " digitalWrite(miservo, LOW); "    Y NO  FUNCIONA,  ALGUNA IDEA?

PLACA  ARDUINO  MEGA


Aqui les  dejo  una  foto de  lo que  ya tengo  armando






Code:
/

#include <Servo.h>
 
Servo Rueda1;  // *************************************************
Servo Rueda2;  //  DECLARO  LOS   SERVOS  PREVIAMENTE  TRUCADOS  PQRA QUE  GIREN A  360 GRADOS.
Servo Rueda3;  // 
Servo Rueda4;  // ************************************************
               
 
int pos =30;    //  AFECTA  A L  PIN  51-52   SI PONGO   30 ACA  Y  360  ABAJO   RETROCEDE   A LA  INVERZA  AVANZA
int pos2=360; // AFECTA  A L  PIN 53-50 
int vel=5;   //Velocidad del delay

void setup()
{

  Rueda1.attach(51;  // **************************************
  Rueda2.attach(52);  // DeclAro los  pines para  cada  SERVO
  Rueda3.attach(53);  //
  Rueda4.attach(50);  // ************************************
   
}
 
 
void loop()
{
   

  //   APAGA  LOS  SERVOS 
digitalWrite(50, LOW);
digitalWrite(51, LOW);
digitalWrite(52, LOW);
digitalWrite(53, LOW);
delay(5000);

//------------------
 
    //****************************************************************************** 
  {                                 
    Rueda4.write(pos2);               
    delay(vel);                   
    Rueda3.write(pos2);             
    delay(vel);
    Rueda2.write(pos);    //   AQUI  SE PONEN EN MARCHA  LOS  SERVOS         
    delay(vel);
    Rueda1.write(pos);             
    delay(vel);
   
  }
   //********************************************************************************
         
 } //  FIN DE  PROGRAMA
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenos días:

Al trucar los servos debes sustituir el potenciómetro por una resistencia multivuelta (de ajuste fino) y mandarle un 0 entonces ajustas para que se detenga completamente. Otra opción que tienes es quitar completamente la electrónica del servo y asi lo dejas como un motor de coriente continua que también funciona perfecto. La pega es que necesitas un puente en H . Pero en ambos casos permite regular la velocidad y sentido de giro. Espero haberte ayudado.


Saludos
Logged

Murcia
Offline Offline
Full Member
***
Karma: 2
Posts: 109
Aprendiz de novato
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Echa un vistazo aquí http://forum.arduino.cc//index.php?topic=81741.0 o aquí http://forum.arduino.cc//index.php?topic=68423.0

Un saludo,
Logged

COM22
Offline Offline
God Member
*****
Karma: 6
Posts: 702
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Para parar los servos utiliza el detach(); y dejaran de moverse.

Quote
void stop(){
servo1.detach();
servo2.detach();
servo3.detach();
servo4.detach();
}

Pero no te olvides de volver a iniciarlos con attach(servopin[0]); antes de empezar a mover los servos.

Quote
void GoGo(){
servo1.attach(servopin[0]);
servo2.attach(servopin[1]);
servo3.attach(servopin[2]);
servo4.attach(servopin[3]);
}

Un saludo!
Logged


Argentina
Offline Offline
Newbie
*
Karma: 0
Posts: 3
TODO ES POSIBLE
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

genial   voy a probar   todo  y les cuento como me  fue.  gracias.
Logged

Argentina
Offline Offline
Newbie
*
Karma: 0
Posts: 3
TODO ES POSIBLE
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ASI QUEDO EL PROYECTO   

GRACIAS  A TODOS POR LA AYUDA.
Logged

Pages: [1]   Go Up
Jump to: