Pages: 1 [2]   Go Down
Author Topic: [SOLUCIONADO] Sensor Ultrasónico PING))) y dos Servos de 360 Grados.  (Read 4344 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues listo. Está solucionado.

Gracias a esto:
Quote
Una cosa tonta, ¿cómo alimentas los servos? Ten en cuenta que no se pueden alimentar directamente desde el Arduino, tienes que ponerles una fuente externa.
ya he resuelto el problema. He alimentado el segundo servo con 4 pilas de 1'5V, he conectado masa a Arduino y he probado el código del que partía desde un principio, con la función que tomaba como parámetros dos objetos Servos.

El código final es el siguiente:
Code:

#include <Servo.h>

//Declaramos dos objetos Servo, uno por cada motor
Servo servo1;
Servo servo2;

//pingPin = 7 para el PING)))
const int pingPin = 7;
long duration, cm;

void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  servo1.attach(3);
  servo2.attach(5);
}

void loop()
{
  //Este código del ejemplo PING del soft de Arduino 0022
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);

  digitalWrite(pingPin, LOW);
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);
 
  cm = microsecondsToCentimeters(duration);
  
  //Esta función hace girar los dos servos
  servoDos(servo1, servo2);
  
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(150);
}

void servoDos(Servo ser1, Servo ser2)
{
  if(cm >= 20)
  {
    ser1.write(0);
    ser2.write(180);
  }
  if(cm <= 20)
  {
     ser1.write(180);
     ser2.write(0);
  }
}

long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}


Así que nada, muchas gracias por haberme ayudado, Cheyenne, "ere un maquina pixa"!!!
« Last Edit: October 15, 2011, 08:51:10 am by royyyyy » Logged

Offline Offline
God Member
*****
Karma: 7
Posts: 635
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Me alegro que lo hayas solucionado. Indicas que alimentas el segundo servo con las pilas, te recomiendo altamente que alimentes con las pilas los dos servos, no tienes ninguna necesidad de apurar con consumos al mega.

Por último decir que probaré tu código ya que con la librería servo a mí nunca me funcionó de manera suave.
Logged


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

Ok, lo haré así, en la próxima revisión y montaje del bot alimentaré los dos servos con las pilas y la placa con una pila de petaca de 9V, por la entrada de corriente que está al lado de la entrada USB...

Tal y como lo tengo ahora, con el código que puse esto es lo que tengo: http://youtu.be/7DTLkvh5Uo4

Está mu cutre aún pero espero a solventar todos los problemas para terminar el montaje.

Un saludo.
Logged

Pages: 1 [2]   Go Up
Jump to: