Título: Ayuda con arduino robot de sumos URGE por favor Publicado por: UsamaEK en 3 Octubre 2014, 16:38 pm Hola, querria saber si alguien podria hacer un codigo con el lenguaje que usa arduino (derivacion de c++)para hacer un robot de sumo es para el colegio y urge un poco.
Lo que tiene que hacer el robot es lo siguiente que hace este video: https://www.youtube.com/watch?v=zW4fSSlaZ-8 que por los sensores detecte la linea blanca para que no se salga y que si ve un objetivo lo empuje hasta sacarlo del 'ring' sin que salga el. Ya se que la la mayoria del foro que saben programacion son hackers y que les gusta ayudar dando pistas para que los nobatos como yo aprendamos y la verdad lo agradezco mucho por que he aprendido muchas cosas en este foro pero es que esto es para el colegio y no tengo ni idea de arduino si el lenguaje de arduiono no deberia estar en este subforo avisadme y gracias Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: engel lex en 3 Octubre 2014, 17:28 pm prohibido solicitar códigos hechos
si tienes una duda especifica sobre un tema puntual, eres libre de publicarla y dar más detalle... no se cuales son los robot sumos URGE, pero si das detalle se te puede ayudar Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: UsamaEK en 3 Octubre 2014, 18:55 pm Los robot de sumo son unos robot que funcionan con una placa de arduino. Tan solo tiene dos funciones:
1.- Detectar el color blanco para no tocarlo 2.- Empujar todo objeto que se encuentre dentro del radio de los sensores. Eso es lo que debe hacer el codigo pero he buscado en el foro y no hay temas sobre el lenguaje de arduino se que es un derivado de lenguaje c++. Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: engel lex en 3 Octubre 2014, 19:04 pm no has conseguido nada específicamente sobre el robot, sus sensores y como usarlos? sabes algo de C para poder programar?
Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: UsamaEK en 3 Octubre 2014, 19:36 pm Sobre los sensores los tengo y se montarlos ya que sobre el tema del hardware no tengo problemas el problema es que necesito saber el como hacer el codigo. Se algo de lenguaje C pero no mucho estoy apenas comenzando con el code blocs.He sacado algunos codigos y los que he visto que parecen estar bien los he moificado donde creia un fallo el codigo que he usado es este:
void setup() { void setup() { { pinMode (motorR1, OUTPUT); pinMode (motorR2, OUTPUT); pinMode (motorL1, OUTPUT); pinMode (motorL2, OUTPUT); pinMode (sensFder, INPUT); pinMode (sensFizq, INPUT); pinMode (sensTder, INPUT); pinMode (sensTizq, INPUT); } } void loop() { { float buf1, buf2, valord, valort; valord=analogRead(sensDel); valort=analogRead(sensTras); buf1=valord*500/1024; buf2=valort*500/1024; if(buf1 >= 480) { atras(); izquierda(); delay(400); atras(); } if(buf2 >= 480) { adelante(); izquierda(); delay(400); adelante(); } if(digitalRead (sensFder)==HIGH ) { golpeFder(); } if(digitalRead (sensFizq)==HIGH) { golpeFizq(); } if(digitalRead (sensTder)==HIGH) { golpeTder(); } if(digitalRead (sensTizq)==HIGH) { golpeTizq(); } } int adelante() { digitalWrite (motorR1, LOW); digitalWrite (motorR2, HIGH); digitalWrite (motorL1, HIGH); digitalWrite (motorL2, LOW); } int atras() { digitalWrite (motorR1, HIGH); digitalWrite (motorR2, LOW); digitalWrite (motorL1, LOW); digitalWrite (motorL2, HIGH); } int izquierda() { digitalWrite (motorR1, LOW); digitalWrite (motorR2, HIGH); digitalWrite (motorL1, LOW); digitalWrite (motorL2, HIGH); delay(100); } int derecha() { digitalWrite (motorR1, HIGH); //L digitalWrite (motorR2, LOW); digitalWrite (motorL1, HIGH); digitalWrite (motorL2, LOW);//L delay(100); } int golpeFder() { atras(); delay(1000); derecha(); delay(300); adelante(); } int golpeFizq() { atras(); delay(1000) ; izquierda(); delay(300); adelante(); } int golpeTder() { adelante(); delay(1000); izquierda(); delay(300); atras(); } int golpeTizq() { adelante(); delay(1000); derecha(); delay(300); atras(); } Y el erro que me da es este: Arduino: 1.5.8 (Windows 7), Placa:"Arduino Uno" sketch_oct03b.ino: In function 'void setup()': sketch_oct03b.ino:4:10: error: 'motorR1' was not declared in this scope sketch_oct03b.ino:5:10: error: 'motorR2' was not declared in this scope sketch_oct03b.ino:6:10: error: 'motorL1' was not declared in this scope sketch_oct03b.ino:7:10: error: 'motorL2' was not declared in this scope sketch_oct03b.ino:8:10: error: 'sensFder' was not declared in this scope sketch_oct03b.ino:9:10: error: 'sensFizq' was not declared in this scope sketch_oct03b.ino:10:10: error: 'sensTder' was not declared in this scope sketch_oct03b.ino:11:10: error: 'sensTizq' was not declared in this scope sketch_oct03b.ino: In function 'void loop()': sketch_oct03b.ino:20:19: error: 'sensDel' was not declared in this scope sketch_oct03b.ino:21:19: error: 'sensTras' was not declared in this scope sketch_oct03b.ino:42:17: error: 'sensFder' was not declared in this scope sketch_oct03b.ino:47:17: error: 'sensFizq' was not declared in this scope sketch_oct03b.ino:52:17: error: 'sensTder' was not declared in this scope sketch_oct03b.ino:57:17: error: 'sensTizq' was not declared in this scope sketch_oct03b.ino:65:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:73:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:81:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:90:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:99:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:108:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:117:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:126:1: error: a function-definition is not allowed here before '{' token sketch_oct03b.ino:132:1: error: expected '}' at end of input Error de compilación This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: engel lex en 3 Octubre 2014, 19:46 pm usa las etiquetas GeSHi cuando publiques codigo (usa lenguaje C)
el error que te da eso bien te lo dice :P primero Código: sketch_oct03b.ino:4:10: error: 'motorR1' was not declared in this scope es decir en la linea 5 usas Código
pero, en que pin está motorR1, es decir, no le estás dando un numero que lo guíe, primero debes definir todas esas variables con numero reales, ej si motorR1 es pin 1 Código
el segundo error (que hace que se lancen los otros es Código
esa segunda llave abierta "{" genera los conflictos y tambien la doble declaracion de setup corrige eso e intenta nuevamente Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: UsamaEK en 3 Octubre 2014, 20:29 pm Engel lex gracias a tus consejos ya he sacado un codigo que esta verificado y compilado ahora tan solo lo debere usar en la placa este lunes y disfrutar, ya que teoricamente funciona. Lo paso por si a alguien quiere darme otra idea, ya funciona pero el ser humano busca la perfeccion inexistente.
Código:
Título: Re: Ayuda con arduino robot de sumos URGE por favor Publicado por: Minusfour_cierralo_o_baneamefull en 18 Octubre 2014, 04:43 am Si quieres pulir un poco mas, la función delay intenta evitarla, la razón es que paraliza todo el programa y podrías ejecutar otras cosas y ser mas veloz.
Para sustituirlo bastaría con esto: Código
|