Go Down

Topic: proyecto coche 4x4 con brazo robot.  (Read 3983 times) previous topic - next topic

aitorGTI

Algo era ello.... mañana lo probamos!
Muchas gracias!

aitorGTI

Acabo de Probarlo surbyte!!!
Funciona perfectamente!!!
eres un crack!

ahora no sé con que seguir... sí con el seguidor de lineas oscuras y los sensores ultrasonicos o ponerme a configurar el brazo, que tenía el mismo problema que con el coche y me imagino que se solucionará de la misma manera... ahora de primeras me voy a poner a soldar todos los componentes que se me han soltado en todo este tiempo y he tenido que hacer empalmes para poder ponerlo en marcha...
este proyecto que estaba abandonado por una chorrada vuelve a funcionar gracias a tí.


Nuevamente muchas gracias y felices fiestas.

un saludo

surbyte

Bueno me da gusto.

Reorganízate entonces y planea una serie de tareas de menor a mayor para seguir de la mejor manera.

aitorGTI

Buenas tardes,
finalmente me decantaré por hacer 100% funcional la parte en cuanto al coche se refiere y después me pondré manos a la obra con el brazo robot.

Al empezar con el seguidor de lineas, me surge la primera duda.
Yo cuando me fabriqué el robot solo instalé un único sensor, pero al ver en Internet tutoriales veo que utilizan 2 o incluso más... tiene su lógica, ya que cuando deja de ver una línea oscura, mi robot perdería el control ya que no sabría para que lado girar, por el contrario si instalamos 2 o más, cuando uno de los sensores pierde la linea negra, el otro aún la va a tener y el robot sabrá hacia que lado girar....
Creo que voy ha instalar 2 sensores, salvo que alguien me recomiende que instale más....

un saludo

surbyte

Te voy a sugerir algo siempre y cuando, dispongas del elemento entre tus cosas en deshuso.
Casi todos tenemos un mouse optico que ha dejado de funcionar.
Algunos de ellos usan una micro cámara ccd que puede ver como una matriz xy de pocos elementos pero muchos mas que los dos sensores que mencionas. El resultado es que tendrías un sensor de seguimiento de lineas que no solo vería la linea negra sino tmb cuando comienzas a apartarte de el con lo que podías hacer un seguimiento mas fino. Claro que su manejo es mas complejo pero podría resultar interesante.

aitorGTI

Te voy a sugerir algo siempre y cuando, dispongas del elemento entre tus cosas en deshuso.
Casi todos tenemos un mouse optico que ha dejado de funcionar.
Algunos de ellos usan una micro cámara ccd que puede ver como una matriz xy de pocos elementos pero muchos mas que los dos sensores que mencionas. El resultado es que tendrías un sensor de seguimiento de lineas que no solo vería la linea negra sino tmb cuando comienzas a apartarte de el con lo que podías hacer un seguimiento mas fino. Claro que su manejo es mas complejo pero podría resultar interesante.

te entiendo, pero creo que eso va a ser demasiado profesional para mí jeje
yo de electronica soy nivel amateur puro y duro, eso se me va muy grande, de hecho en este proyecto me estoy limitando ha hacer copia pega de proyectos de internet, los cuales solo modifico pequeñas cosas las cuales están a mi alcance...
busco lo que quiero hacer en youtube, google etc... y cuando veo algo que cuadra con lo que yo estoy haciendo me leo el scketch que se han preparado y si veo que puedo implementarlo al mío lo copio, modifico para que pueda adaptarlo al mío y listo....

nose si me he explicado bien...


saludos

surbyte

Era una sugerencia y si no te sientes cómodo no vale la pena forzarte.

aitorGTI

Buenos días,
Sigo con el robot. Hoy ha tocado al sensor ultrasónico.
Estoy revisando el sketch que he preparado y debería funcionar correctamente, pero no lo hace.
Es sensor lo he conectado a la salida de 5v del arduino, es posible que esos 5v no sean suficientes para alimentar el sensor? es lo único que se me ocurre.

si esto no funciona, podría alimentarlo con una batería de 7.4v o sería excesivo?
el sensor que utilizo es un modulo hc-sr04.

un saludo

aitorGTI

por si alguien me lo pregunta,
este es el sckatch qye he utilizado
Code: [Select]
[b]int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255; // Velocidad de los motores (0-255)
int estado = 'g'; // inicia detenido
int posicion = 7;
int intermitente = 8;

int pecho = 2;            // define el pin 2 como (pecho) para el Ultrasonido
int ptrig = 3;            // define el pin 3 como (ptrig) para el Ultrasonido
int duracion, distancia;  // para Calcular distacia

void setup() {
Serial.begin(9600); // inicia el puerto serial para comunicacion con el Bluetooth
pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);
pinMode(posicion, OUTPUT);
pinMode(intermitente, OUTPUT);
pinMode(pecho, INPUT);   // define el pin 2 como entrada (pecho)
pinMode(ptrig,OUTPUT);   // define el pin 3 como salida  (ptrig)
pinMode(13,OUTPUT);  //define el pin 13 como salida para un LED que identifica que tenemos un obstaculo

}

void loop() {

  if (Serial.available()>0){ // lee el bluetooth y almacena en estado
      estado = Serial.read();
  }
  if (estado=='Q'){ // Adelante
      Serial.println(estado);
      analogWrite(derB, vel);
      analogWrite(izqB, 0);
      analogWrite(izqA, vel);
      analogWrite(derA, 0);
  }
 
  if (estado=='T'){ // derecha
      Serial.println(estado);
      analogWrite(derB, vel);
      analogWrite(izqB, vel);
      analogWrite(derA, 0);
      analogWrite(izqA, 0);
  }
 
  if (estado=='U'){ // parar
      Serial.println(estado);
      analogWrite(derB, 0);
      analogWrite(izqB, 0);
      analogWrite(derA, 0);
      analogWrite(izqA, 0);
  }
 
  if (estado=='S'){ // izquierda
      Serial.println(estado);
      analogWrite(derB, 0);
      analogWrite(izqB, 0);
      analogWrite(izqA, vel);
      analogWrite(derA, vel);
  }

  if (estado=='R'){ // atras
      Serial.println(estado);
      analogWrite(derB, 0);
      analogWrite(izqB, vel);
      analogWrite(izqA, 0);
      analogWrite(derA, vel);
  }
 
 if (estado =='V') { //Leds posicion ON
  Serial.println(estado);
  digitalWrite(7, HIGH);
 
 }

 if (estado == 'W') { //Leds Posicion OFF
  Serial.println(estado);
  digitalWrite(7, LOW);
 }

if (estado == 'Y'){ //Leds intermitente ON
Serial.println(estado);
digitalWrite(8, HIGH);

 
}

if (estado == 'Z') { //Leds intermitente OFF

  Serial.println(estado);
  digitalWrite(8, LOW);
}
if (estado =='A'){          // Boton AUTOMATICO ON,  se mueve midiendo distancia
 
     digitalWrite(ptrig, HIGH);   // genera el pulso de trigger por 10us
     delay(0.01);
     digitalWrite(ptrig, LOW);
     
     duracion = pulseIn(pecho, HIGH);              // Lee el tiempo del Echo
     distancia = (duracion/2) / 29;            // calcula la distancia en centimetros
     delay(10);
     
     if (distancia <= 15 && distancia >=2){    // si la distancia es menor de 15cm
        digitalWrite(13,HIGH);                 // enciende LED
       
        analogWrite(derB, 0);                  // Parar los motores por 200 mili segundos
        analogWrite(izqB, 0);
        analogWrite(derA, 0);   
        analogWrite(izqA, 0);
        delay (200);
       
        analogWrite(derB, vel);               // Reversa durante 500 mili segundos
        analogWrite(izqB, vel);
        delay(500);           
       
        analogWrite(derB, 0);                // Girar durante 1100 milisegundos   
        analogWrite(izqB, 0);
        analogWrite(derA, 0); 
        analogWrite(izqA, vel); 
        delay(1100);
       
        digitalWrite(13,LOW);
     }
     else{                   // Si no hay obstaculos se desplaza al frente 
         analogWrite(derB, 0);     
         analogWrite(izqB, 0);
         analogWrite(derA, vel); 
         analogWrite(izqA, vel);
     }
  }
  if(estado=='B'){          // Boton OFF, detiene los motores no hace nada
     analogWrite(derB, 0);     
     analogWrite(izqB, 0);
     analogWrite(derA, 0);   
     analogWrite(izqA, 0);
  }

 
 
  estado = "";
}[/b]


hace algo extraño.
tiene un led que se ilumina cuando detecta alguna presencia.
si apago y enciendo el modo automático, algunas veces se ilumina este led sin tener ningún objeto a su alcance.
por el contrario si pongo algún objeto frente al sensor, el led no se ilumina...
un saludo

Go Up