Construye tu Robot Minisumo

#21
Buenas, claro que sirve sin el sensor de presencia, solo es cuestión de programación. Si tienes mas dudas solo comenta.
Saludos!
 
#23
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
 
#24
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:
#26
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

#27
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?
 
#31
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.
 
#33
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