Construye tu Robot Minisumo

Buenas, claro que sirve sin el sensor de presencia, solo es cuestión de programación. Si tienes mas dudas solo comenta.
Saludos!
 
Saludos, si puedes cargar el programa en el pic18f4550, pero si tienes a la mano un micro controlador mas económico el diseño final te saldría mas barato. De todas formas es cuestión de gustos! sigue animandote.
Saludos
 
Cuando das descargar no sale con extensión .rar sino con .php alguien lo pudo solucionar ?

Ya encontré la solución le das abrir directamente con el winwar desde archivo abrir o cambien la extencion .php por la de .rar
 
Última edición por un moderador:
Esto me trae varios recuerdos, igualito al que hice por primera vez, llegue a ganar el segundo lugar en los concursos locales de la uni, y la programación no era mas que una tabla de verdad para los sensores...
 

Adjuntos

  • minisumo.jpg
    minisumo.jpg
    88.1 KB · Visitas: 66
Hola buenos días
Mi duda es,si puedo cambiar el sensor infrarojo sharp por un ultrasonico,manteniendo la misma programación? y si se puede cambiar,hay que modificar la programación?
 
Tengo que hacer un minisumo en la universidad entonces quisiera saber que recomendaciones me darian como los materiales y el numero de llantas o la capacidad del motor.
 
Buen día estoy realizando un robot sumo pero tengo unos problemas con los ultrasonicos, quisiera ver si me podrian ayudar a ver que esta mal. anexo el codigo en arduino.

Código:
void setup()
{
  pinMode(3,OUTPUT);  //DER AVANZA 
  pinMode(9,OUTPUT);  //IZQ AVANZA
  pinMode(5,OUTPUT);  //DER RETROCEDE
  pinMode(6,OUTPUT);  //IZQ RETROCEDE
  pinMode(A1,INPUT);  //SENSOR FRONTAL ANALOGO
  pinMode(A2,INPUT);  //SENSOR TRASERO ANALOGO
  pinMode(7,INPUT);   //SENSOR FRONTAL DETECTOR
  pinMode(11,INPUT);  //SENSOR DERECHA DETECTOR
  pinMode(10,INPUT);   //SENSOR IZQUIERDA DETECTOR  
}

void avanzar()
{
  analogWrite(3,255);
  analogWrite(9,255);
  analogWrite(5,0);
  analogWrite(6,0);
}

void retrocede()
{
  analogWrite(5,200);
  analogWrite(6,230);
  analogWrite(9,0);
  analogWrite(3,0);  
}

void parar() 
{
  analogWrite(9,0);
  analogWrite(6,0);
  analogWrite(5,0);
  analogWrite(3,0);
}

void izquierda() 
{
  analogWrite(5,0);
  analogWrite(6,0);
  analogWrite(3,255);
  analogWrite(9,190);
}

void derecha()
{
  analogWrite(3,150);
  analogWrite(9,255);
  analogWrite(5,0);
  analogWrite(6,0);
}

void retrocedeizq()
{
  analogWrite(5,255);
  analogWrite(6,100);
  analogWrite(3,0);
  analogWrite(9,0);
}

void loop()
{
  int SF=0;
  int ST=0;
  SF=analogRead(1);
  ST=analogRead(2);
  
if ((SF)<=800 and(ST)<=800)
  {
    avanzar(); 
  }
if ((SF)>=800 and (ST)<=800)
{
  retrocede();
  delay(800);
  retrocedeizq();
  delay(800);
}
if ((SF)<=800 and(ST)<=800 and digitalRead(2)==0)
{
  avanzar();
  izquierda();  
}
}
 
Última edición por un moderador:
Arriba