This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Prototipo robot
#61
Prueba algo así

Código:
#include <Servo.h>
long distancia1;
long distancia2;
long distancia3;
long tiempo;
Servo servo;

int IN3 = 5;
int IN4 = 4;
int IN1 = 3;
int IN2 = 6;
int  movimiento = false;


void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
  servo.attach(10);
  pinMode (IN4, OUTPUT);    // Input4 conectada al pin 4
  pinMode (IN3, OUTPUT);    // Input3 conectada al pin 5
  pinMode (IN2, OUTPUT);    // Input2 conectada al pin 6
  pinMode (IN1, OUTPUT);    // Input1 conectada al pin 3
}

void loop(){
  servo.write(0);
  delay(250);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia1= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia ");
  Serial.print(distancia1);
  Serial.println(" cm");
  delay(750);
  servo.write(90);
  delay(250);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia2= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia ");
  Serial.print(distancia2);
  Serial.println(" cm");
  delay(750);
  servo.write(180);
  delay(250);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia3= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia ");
  Serial.print(distancia3);
  Serial.println(" cm");
  delay(750);
  servo.write(90);
  delay(250);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia2= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia ");
  Serial.print(distancia2);
  Serial.println(" cm");
  delay(750);
  
  if (distancia2 >= distancia1 && distancia2 >= distancia3 && movimiento == false) //Va hacia delante
  {
  digitalWrite (IN4, LOW);
  digitalWrite (IN3, HIGH);
  digitalWrite (IN2, LOW);
  digitalWrite (IN1, HIGH);
  movimiento = true;
  delay (1000);
  movimiento = false;
  }
  if (distancia1 >= distancia2 && distancia1 >= distancia3 && movimiento == false) //Va hacia la dereha
  {
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, LOW);
  digitalWrite (IN1, HIGH);
  movimiento = true;
  delay (500);
  movimiento = false;
  }
  if (distancia3 >= distancia1 && distancia3 >= distancia2 && movimiento == false) // Va hacia la izquierda
  {
  digitalWrite (IN4, LOW);
  digitalWrite (IN3, HIGH);
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW);
  movimiento = true;
  delay(500);
  movimiento = false;
  }
   if (distancia2 <= 5 && movimiento == false)
  {
      digitalWrite (IN4, HIGH); //Va hacia atrás
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW);
  movimiento = true;
  delay(500);
  movimiento = false;
  }
    
}

A ver si hay suerte...
  Responder
#62
Buenas a tod@s:

Un intento fallido más U.U

Es que me jode porque hagamos lo que hagamos, siempre sigue un mismo patrón, adelante, un meneito derecha izquierda y atráaas mucho rato.

No sé, es que si ahora también se han modificado las variables y sigue haciendo el mismo patrón....
  Responder
#63
Puedes poner un serial print dentro de cada if con las 3 distancias?

A ver si cambian?
  Responder
#64
Buenas a tod@s:

Voy a probarlo en el código original y en el código modificado que me habéis ido facilitando a ver que tal.

Os informaré si hay mejoras, y sino también Guiño

Thanks.
  Responder
#65
Buenas a tod@s:

He hecho lo que me has comentado Jero.

Toma las 3 medidas, y después en los if's vuelvo a decirle que me muestre la medida tomada más grande.

Aquí tienes el código y los resultados:


Código:
#include <Servo.h>
long distancia1;
long distancia2;
long distancia3;
long tiempo;
Servo servo;

int IN3 = 5;
int IN4 = 4;
int IN1 = 3;
int IN2 = 6;

void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
  servo.attach(10);
  pinMode (IN4, OUTPUT);    // Input4 conectada al pin 4
  pinMode (IN3, OUTPUT);    // Input3 conectada al pin 5
  pinMode (IN2, OUTPUT);    // Input2 conectada al pin 6
  pinMode (IN1, OUTPUT);    // Input1 conectada al pin 3
}

void loop(){
  servo.write(0);
  delay(500);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia1= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia 1 ");
  Serial.print(distancia1);
  Serial.println(" cm");
  delay(750);
  servo.write(90);
  delay(500);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia2= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia 2 ");
  Serial.print(distancia2);
  Serial.println(" cm");
  delay(750);
  servo.write(180);
  delay(500);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia3= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia 3 ");
  Serial.print(distancia3);
  Serial.println(" cm");
  delay(750);
  servo.write(90);
  delay(500);
  
  
  if (distancia2 >= distancia1 && distancia2 >= distancia3) //Va hacia delante
  {
    Serial.print("Distancia 2 en moviment ");
  Serial.print(distancia2);
  Serial.println(" cm");
  delay(750);
  digitalWrite (IN4, LOW);
  digitalWrite (IN3, HIGH);
  digitalWrite (IN2, LOW);
  digitalWrite (IN1, HIGH);
  delay (1000);
  }
  if (distancia1 >= distancia2 && distancia1 >= distancia3) //Va hacia la dereha
  {
    Serial.print("Distancia 1 en moviment ");
  Serial.print(distancia1);
  Serial.println(" cm");
  delay(750);
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, LOW);
  digitalWrite (IN1, HIGH);
  delay (250);
  }
  if (distancia3 >= distancia1 && distancia3 >= distancia2) // Va hacia la izquierda
  {
    Serial.print("Distancia 3 en moviment ");
  Serial.print(distancia3);
  Serial.println(" cm");
  delay(750);
  digitalWrite (IN4, LOW);
  digitalWrite (IN3, HIGH);
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW);
  delay(250);

  }
  /* if (distancia2 <= 5)
  {
  digitalWrite (IN4, HIGH); //Va hacia atrás
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW);
  delay(500);
  }
   */
}


Código:
Distancia 1 0 cm
Distancia 2 13 cm
Distancia 3 179 cm
Distancia 3 en moviment 179 cm
Distancia 1 22 cm
Distancia 2 12 cm
Distancia 3 22 cm
Distancia 1 en moviment 22 cm
Distancia 3 en moviment 22 cm
Distancia 1 22 cm
Distancia 2 12 cm
Distancia 3 179 cm
Distancia 3 en moviment 179 cm
Distancia 1 212 cm
Distancia 2 11 cm
Distancia 3 179 cm
Distancia 1 en moviment 212 cm
Distancia 1 1 cm
Distancia 2 33 cm
Distancia 3 2 cm
Distancia 2 en moviment 33 cm
Distancia 1 28 cm
Distancia 2 19 cm
Distancia 3 23 cm
Distancia 1 en moviment 28 cm
Distancia 1 19 cm
Distancia 2 19 cm
Distancia 3 22 cm
Distancia 3 en moviment 22 cm
Distancia 1 17 cm
Distancia 2 16 cm
Distancia 3 22 cm
Distancia 3 en moviment 22 cm
Distancia 1 20 cm
Distancia 2 21 cm
Distancia 3 22 cm
Distancia 3 en moviment 22 cm
Distancia 1 2 cm
Distancia 2 1 cm
Distancia 3 22 cm
Distancia 3 en moviment 22 cm
Distancia 1 245 cm
Distancia 2 25 cm
Distancia 3 1 cm
Distancia 1 en moviment 245 cm
Distancia 1 20 cm
Distancia 2 1 cm
Distancia 3 1 cm
Distancia 1 en moviment 20 cm
Distancia 1 21 cm
Distancia 2 21 cm
Distancia 3 23 cm
Distancia 3 en moviment 23 cm
Distancia 1 19 cm
Distancia 2 34 cm
Distancia 3 23 cm
Distancia 2 en moviment 34 cm
Distancia 1 20 cm
Distancia 2 45 cm
Distancia 3 23 cm
Distancia 2 en moviment 45 cm
Distancia 1 20 cm
Distancia 2 50 cm
Distancia 3 23 cm
Distancia 2 en moviment 50 cm
Distancia 1 229 cm
Distancia 2 191 cm
Distancia 3 23 cm
Distancia 1 en moviment 229 cm
Distancia 1 269 cm
Distancia 2 31 cm
Distancia 3 23 cm
Distancia 1 en moviment 269 cm
Distancia 1 74 cm
Distancia 2 21 cm
Distancia 3 186 cm
Distancia 3 en moviment 186 cm
Distancia 1 259 cm
Distancia 2 28 cm
Distancia 3 199 cm
Distancia 1 en moviment 259 cm
Distancia 1 59 cm
Distancia 2 23 cm
Distancia 3 200 cm
Distancia 3 en moviment 200 cm
Distancia 1 63 cm
Distancia 2 20 cm
Distancia 3 24 cm
Distancia 1 en moviment 63 cm
Distancia 1 63 cm
Distancia 2 16 cm
Distancia 3 14 cm
Distancia 1 en moviment 63 cm
Distancia 1 2 cm
Distancia 2 29 cm
Distancia 3 1 cm
Distancia 2 en moviment 29 cm
Distancia 1 64 cm
Distancia 2 26 cm
Distancia 3 187 cm
Distancia 3 en moviment 187 cm
Distancia 1 1 cm
Distancia 2 2 cm
Distancia 3 187 cm
Distancia 3 en moviment 187 cm
Distancia 1 206 cm
Distancia 2 2 cm
Distancia 3 188 cm
Distancia 1 en moviment 206 cm
Distancia 1 45 cm
Distancia 2 5 cm
Distancia 3 2 cm
Distancia 1 en moviment 45 cm
Distancia 1 2 cm
Distancia 2 24 cm
Distancia 3 1 cm
Distancia 2 en moviment 24 cm
Distancia 1 2 cm
Distancia 2 2 cm
Distancia 3 187 cm
Distancia 3 en moviment 187 cm
Distancia 1 233 cm
Distancia 2 23 cm

Cuando lo tengo conectado al PC funciona, y no me hace cosas extrañas. Sin embargo, a la que lo desconecto del PC.... voilá!!! Mágia!!! Los espiritus vuelven a poseer al robot.

No sé que puede ser porque ya ves que las medidas tomadas con correctas y escoje a la mayor. Sin embargo al desconectarlo del PC no sé que c..j..nes hace que vuelve a hacer meneitos :S

Ahora ya es que me he quedado de piedra!!! A parte es el codigo original con los long y los int mezclados, pero aparentemente funciona. Lo probaré con las diversas modificaciones que me habéis facilitado a ver que tal. Pero ya digo... con el PC conectado funciona el código original.

xD
  Responder
#66
Algun problema de alimentacion del arduino?
  Responder
#67
Ya decíamos que era raro, tiene que ser problema de alimentación, como comenta trigger.
  Responder
#68
Buenas a tod@s:

Granito a granito, consejo tras consejo, cambio tras cambio, modificación tras modificación. Por fin el resultado ha llegado a su objetivo.

Ya funciona. Casi seguro que era la alimentación Triggerr, porque ha sido cambiar las pilas y funcionar todo correctamente. No había caído porque casi ni las había utilizado las pilas!!!


Ahora iré añadiendo algunos cambios para mejorarlo pero bueno aquí os dejo el código con el que por fin ha cobrado vida realmente el LabBot:

Código:
#include <Servo.h>
long distancia1;
long distancia2;
long distancia3;
long tiempo;
Servo servo;

int IN3 = 5;
int IN4 = 4;
int IN1 = 3;
int IN2 = 6;

void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
  servo.attach(10);
  pinMode (IN4, OUTPUT);    // Input4 conectada al pin 4
  pinMode (IN3, OUTPUT);    // Input3 conectada al pin 5
  pinMode (IN2, OUTPUT);    // Input2 conectada al pin 6
  pinMode (IN1, OUTPUT);    // Input1 conectada al pin 3
}

void loop(){
  servo.write(0);
  delay(500);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia1= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia 1 ");
  Serial.print(distancia1);
  Serial.println(" cm");
  delay(750);
  servo.write(90);
  delay(500);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia2= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia 2 ");
  Serial.print(distancia2);
  Serial.println(" cm");
  delay(750);
  servo.write(180);
  delay(500);
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia3= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.print("Distancia 3 ");
  Serial.print(distancia3);
  Serial.println(" cm");
  delay(750);
  servo.write(90);
  delay(500);
  
  
  if (distancia2 >= distancia1 && distancia2 >= distancia3) //Va hacia delante
  {
    Serial.print("Distancia 2 en moviment ");
  Serial.print(distancia2);
  Serial.println(" cm");
  delay(750);
  digitalWrite (IN4, LOW);
  digitalWrite (IN3, HIGH);
  digitalWrite (IN2, LOW);
  digitalWrite (IN1, HIGH);
  delay (1000);
  digitalWrite (IN3, LOW);
  digitalWrite (IN1, LOW);
  delay(250);
  }
  if (distancia1 >= distancia2 && distancia1 >= distancia3) //Va hacia la dereha
  {
    Serial.print("Distancia 1 en moviment ");
  Serial.print(distancia1);
  Serial.println(" cm");
  delay(750);
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, LOW);
  digitalWrite (IN1, HIGH);
  delay (250);
  digitalWrite (IN4, LOW);
  digitalWrite (IN1, LOW);
  delay(250);
  }
  if (distancia3 >= distancia1 && distancia3 >= distancia2) // Va hacia la izquierda
  {
    Serial.print("Distancia 3 en moviment ");
  Serial.print(distancia3);
  Serial.println(" cm");
  delay(750);
  digitalWrite (IN4, LOW);
  digitalWrite (IN3, HIGH);
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW);
  delay(250);
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, LOW);
  delay(250);
  }
  /* if (distancia2 <= 5)
  {
  digitalWrite (IN4, HIGH); //Va hacia atrás
  digitalWrite (IN3, LOW);
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW);
  delay(500);
  }
   */
}
  Responder
#69
Pero vamos a ver, lo importante.....El video? jajajajaja
  Responder
#70
Lo conseguiste!! Si si, por supuesto que falta el video!!
  Responder
#71
Buenas a tod@s:

En serio!!! Creo que lo he celebrado antes de tiempo. Porque me hace lo mismo que antes, pero de forma más controlada ya que paro los motores al cabo de cierto tiempo. Pero me vuelve a hacer el meneito. En cambio al principio no me lo hacia :S

La tensión de las pilas nuevas es correcta. El código también. Ahora solo me queda provar lo de los long y los int a ver que no sea eso. Pero es que me jode!!! En serio funcionaba!!!! T.T
  Responder
#72
Como alimentabas el arduino?

Foto del montaje
  Responder
#73
Buenas a tod@s:

Ahora os añado una foto del montaje.

Tengo 4 pilas para el Arduino, más el Servo y el Sensor

Y 4 pilas para el driver y motores

Cuando carge la foto la subo.
  Responder
#74
El código esta bien, si funciona conectado.

O como indica trigger, como lo alimentas o que falle la alimentación del arduino.

Primero mirar la alimentación y si es correcta, mirar de poner otro arduino.
  Responder
#75
Buenas a tod@s:

Voy a hacer una pausa porque ahora no estoy en el mejor momento para hacer cambios por lo tanto... Si no os importa, hasta la tarde voy a dejar descansar el pequeño.

Porque ahora he visto que se había cortado un cable del sensor y por lo tanto que a lo mejor sea solo eso. Voy a comer y después volveré a ponerme con el robot.

Muchas gracias de todos modos, y espero que por la tarde os pueda dar buenas notícias.

Buen provecho
  Responder
#76
Buenas a tod@s:

Aquí os dejo el vídeo para que veáis su reacción:

[Imagen: th_VID_20140729_124635448_zps0136f5c6.mp4]

Y seguidamente os dejo la foto con el montaje. (Lo he desmontado un poco para que se vieran todas las partes)

[Imagen: IMG_20140729_125437335_HDR_zpsb2ebd2db.jpg]
  Responder
#77
Si no recuerdo mal arduino funciona alimentado de 12V, ahora mismo no estoy seguro.

Las pilas deben de ser de 1,5 supongo = 6 V.

Viendo que tienes 4 y 4 no se si las tendrías que ajuntar todas en uno.

Pero en temas de potencias, prefiero no meterme, que me pierdo. Si alguien lo puede afirmar.

Lo que si que no iria mal serian fotos con mayor precisión de donde están las conexiones de las baterías.
  Responder
#78
Ummm, ciertamente, la alimentacion de arduino minimo eran 12V creo yo tambien, asique con 4 pilas por el jack de alimentacion no va a ir nada bien
  Responder
#79
Oux... Creía que eran 6v. Entonces tendré que coger las 8 y ponerlas al qrduino y 4 más al driver y entonces ya veremos.

Pero una duda. El USB del PC tengo emtendido que da 5V. Entonces por que funciona bien en el PC si también tiene el mismo voltaje???
  Responder
#80
Porque el jack para por un regulador de voltaje, y los 5V del USB entran directos al micro Gran sonrisa
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Robot sube escaleras Linoge 13 8,691 03-08-2020, 12:52 PM
Último mensaje: nachito15
  Robot vintage "monty" DiegoLale 17 10,429 12-11-2017, 08:41 PM
Último mensaje: zilog_z80
  [PRESENTACION] Robik - un robot que mueve el cubo de rubik Michi 4 3,287 29-03-2017, 11:37 AM
Último mensaje: Drey
  Objetivo: robot educativo por menos de 20€ sistemasorp 33 10,372 25-02-2017, 10:51 AM
Último mensaje: RPM
  [Worklog] Robot acuático JALC biketrial981 67 16,339 08-01-2016, 11:55 PM
Último mensaje: biketrial981