sábado, 1 de junio de 2013

Tanque controlado por Arduino. Parte II

Con bastante retraso respecto de la 1ª entrada, hoy me he puesto con la 2ª parte. Arriba tenéis un vídeo dónde lo podéis ver en marcha; primero controlado por el mando de PS2 y luego por bluetooth desde un móvil Android. En éste artículo quiero hablar un poco del software.

Antes de leer éste artículo, leed éste. Primero que nada el código. Está algo desastrado, pero yo lo dejo para quién le pueda interesar. Lo tenéis aquí.

Tenemos, por un lado, el sistema que interpreta las órdenes llegadas desde el mando de la PS2. Ésto no lo he escrito, es una librería escrita por Bill Porter (¡Gracias!) que detecta las pulsaciones de todos los botones y sticks de un mando de PS2. En su blog está explicado como funciona todo, hay códigos de ejemplo, tenemos un artículo con una guía para la resolución de problemas (Yo tuve que soldar las resistencias, pero depende del mando) e incluso un foro de soporte. Llamamos desde el código del programa a la librería, que tiene que estar en la carpeta de Arduino y listo.

Para el sistema de control por bluetooth desde el móvil, he usado como base el proyecto de Mobot que tenéis aquí.Tenemos una aplicación en el móvil Android, Mobot BTCar, es gratuita y está disponible en la Play Store. Lo que hace es mandar letras por bluetooh; el módulo bluetooth las manda por el puerto serie al Arduino y el arduino tiene una serie de funciones definidas para cada letra recibida. Podríamos haber programado una aplicación más específica en Android nosotros mismo, pero si nos ahorramos ésta parte mejor que mejor. En el código del Arduino simplemente le he puesto que reciba constantemente letras por el puerto serie, y decida en función de ellas que acción ejecutar.

Para cambiar entre los dos modos de control, pulsamos start en el mando de la PS2.

Y con ésto creo que está todo, si tenéis alguna duda, a comentar.

42 comentarios:

  1. Buenas! Enhorabuena por conseguir hacer que funcione todo del 10, muchos nos quedamos en la parte de montaje, pero a ver si el verano se porta y nos concede un poco de tiempo libre para realizar proyectos tan interesantes como este.

    Quizás a la hora de utilizar un mando de PS2 hubiera sido mejor utilizar uno de PS3 que ya son bluetooth y los puedes conseguir chinos por 11€

    ResponderEliminar
  2. Muchas gracias!

    Pensé en el mando de PS3, pero no tenía ninguno por casa para las primeras pruebas y además al principio el tanque tampoco tenía receptor Bluetooth.

    Un saludo y ánimo con tus proyectos.

    ResponderEliminar
  3. Hola:
    Acabo de encontrar este blog por casualidad. Tengo un Jiayu G2S con el típico problema de recepción del GPS, y vi la mejora de antena que tienes en el blog.
    Luego he visto que hay trabajos con Arduino y Raspberry Pi.
    La verdad es que con Arduino llevo ya casi dos años, y en el último estoy integrando con Android. Con Raspberry acabo de empezar.
    También usé el Mobot BT Car para la comunicación BT, pero se me quedaba algo corto y al final he terminado creandome yo mismo los programas con un software muy fácil de usar. Es AppInventor, el cual te recomiendo que le eches un vistazo, pues es de muy fácil uso.

    Ánimo y a seguir con el blog.

    Un saludo.

    ResponderEliminar
    Respuestas
    1. Primero que nada muchas gracias; por leerme, comentar y por el consejo :D

      Tiene muy buena pinta AppInventor, parece que simplifica, y mucho, hacer aplicaciones para Android. Con suerte la semana que viene acabo exámenes, así que tendré tiempo para trastear un poco.

      Por cierto: ¿Sería posible que compartieras la app que has hecho? (con alguna licencia tipo GPL o BSD que me permita adaptarlo a mis necesidades, por ejemplo) Ahora mismo no tengo ni idea de como crear una acción que mande una letra por bluetooth a un dispositivo concreto... Con el formulario de contacto de arriba me llega un correo directo a mi, si no quieres colgarla públicamente.

      Eliminar
    2. No hay problema. Aqui te dejo unas imágenes de la aplicación más sencilla que tengo para mandar caracteres desde el bluetooth del móvil al dispositivo BT del arduino.
      El módulo utilizado por mi es un HC-06, cliente de bluetooth, conectado a la arduino. Que por cierto, no es necesario que sean los pines 0 y 1 los que hagan de puerto, pueden ser cualquier otro. Tan solo hay que utilizar la librería SoftwareSerial para poder configurar otros pines. Así puedes tener al mismo tiempo el ordenador enlazado con el arduino.

      La aplicación de Android tan solo utiliza una variable que contiene la dirección MAC del módulo BT.
      Tengo otra aplicación más compleja donde lee los dispositivos BT que tiene almacenados el teléfono o tablet ya enlazados y te deja elegir, pero es más complejo.

      Panel de control. Tiene simplemente dos botones para conectar/desconectar, y 5 para los controles. Las imágenes a los botones las puedes poner tu mismo.

      http://imageshack.us/a/img835/5167/bluetoothpanel.jpg

      Aquí el editor de bloques, donde se pueden ver fácilmente como se envían los caracteres con los eventos click de los botones.

      http://imageshack.us/a/img832/5838/bluetoothe.jpg

      Saludos.

      José Manuel.

      Eliminar
    3. Muchas gracias!

      No he podido entrar en detalles, pero tiene muy buena pinta. A ver cuando tengo tiempo y me pongo en serio, además aprovechándome de tu app me ahorraré un buen tiempo de programar :D

      Eliminar
    4. Buenas tardes, se presento un problema; realice la aplicación en appinventor pero cuando instale el apk el celular y quiero buescar el bluetooth me manda el siguiente mensaje: NEED BLUETOOTH_ADMIN PERMISSION:NEITHER USER 10107 NOR CURRENT PROCESS HAS ANDROID.PREMISSION. BLUETOOTH_AMIN.

      No se si me puedas ayudarme a resolver este problema por favor.

      Eliminar
    5. Lo siento, pero yo no tengo ni idea de app Inventor, por ahora no me he puesto en serio, y el amigo José Manuel comentó como anónimo, así que creo no le llegarán notificaciones de nuevos comentarios. De todas maneras, podrías compartir tu App para ver si alguien que se pase por aquí puede ayudarte ;)

      Eliminar
  4. Hola, yo tengo un proyecto en el cual quiero usar el mando de la play para controlarlo, y ya lo e conseguido,pero me falla una cosa, que es que cuando pulso un botón y hace su movimiento lo esta haciendo hasta que no pulso otro, y lo que quisiera es que al dejar de pulsar el botón se pare.

    Espero una respuesta.

    Enhorabuena por tu proyecto, con arduino.

    ResponderEliminar
    Respuestas
    1. Eso es cosa del código que has escrito. Puedes ver como lo he resuelto yo, o si quieres publícalo, lo miro y ya te digo algo.

      Un saludo, y gracias.

      Eliminar
    2. Eso es cosa del código que has escrito. Puedes ver como lo he resuelto yo, o si quieres publícalo, lo miro y ya te digo algo.

      Un saludo, y gracias.

      Eliminar
  5. Hola Jorge,

    este el código que utilizo, puedes editarlo.

    https://docs.google.com/document/d/1_61bPMj9D8639BB4rFrBZVPC31kLX6e9RWIeDBSPokU/edit?usp=sharing

    Gracias por tu atención.

    Un saludo.

    ResponderEliminar
    Respuestas
    1. Me parece que sólo llamas a las funciones setSpeed y motorStart cuando se detecta un cambio en el mando. Deberías llamarlas en todos los ciclos para que se pare cuando toca

      Eliminar
  6. Buenas!!

    Me ha gustado mucho tu proyecto!

    Estoy en proceso de un proyecto similar e ir ampliando con accesorios.
    De momento lo que quiero es hacer funcionar el Doble puente H pero no consigo hacerlo funcionar. Por otra parte, tengo puestas 6 pilas que me dan 10v. Cuando junto los dos motores apenas giran... ¿Qué esta pasando? Estoy utilizando un chasis con 4 motores que compré en DealXtreme.

    Necesito ayuda para empezar con este proyecto, ya que tengo muchas ganas de seguir aprendiendo.

    Saludos!

    ResponderEliminar
    Respuestas
    1. Hola, y gracias ;)

      Necesito algunos datos más; dime que integrado usas para el doble puente en H y que chasis en concreto has usado (por el voltaje para el que están hechos los motores).

      Unas pilas normales deberían poder mover los motores, comprueba con un tester que el doble puente en H de los 10v, si no es así, el problema podría ser la configuración del arduino. Eso es todo lo que se me ocurre con lo que me dices...

      Un saludo!

      Eliminar
  7. Buenas!
    Muchas gracias por contestar tan pronto :)

    El integrado es: http://www.bricogeek.com/shop/motores/285-controlador-de-motores-doble-puente-h-l298.html

    Y el chasis + motores: http://dx.com/es/p/dual-layer-4-motor-smart-car-chassis-w-speed-measuring-coded-disc-black-yellow-151803

    Utilizo en Duemilanove. ¿Dónde compruebo los 10v? Pero como te comento anteriormente, si conecto los 4 motores a las pilas directamente, apenas se mueven, ¿Necesitan más voltaje?

    Saludos!!

    ResponderEliminar
    Respuestas
    1. El integrado está perfecto, y el chasis mola, con encoders y todo para controlar la velocidad, cuando lo acabes podrías comentar en algún sitio todo. Eso si, no pone de cuanto son los motores.

      Yo los enchufaría a una fuente de alimentación e iría subiendo a ver que tal se comportan; si huele a quemado los desconectas rápido, XD. Lo ideal sería una fuente de banco para subir el voltaje gradualmente, pero si no tienes, y viendo en tu perfil que trabajasd en Beep, usa una de ordenador. Primero 3, luego 5 y por último 12v (ya tienes dos fuentes puedes afinar más; 3+3, 3+5 y 5+5).

      Yo decía que comprobaras la salida del l298, pero no te había entendido bien lo de que los conectabas a las pilas directamente.


      Un saludo!

      Eliminar
    2. Ya lo he solucionado!! Te hecho caso y he probado con una FA de la estación de soldadura que tengo y a 9v van bien. He puesto una batería que tengo pequeña de 0.8Ah y he solucionado un problema de los drivers con el Windows 8 por eso hacía cosas raras. :)

      Lo de los encoders no se que podría hacer con ellos, sugerencias? :P

      Ahora voy a intentar enchufar el mando ps2 inalámbrico que tengo. ¿Dónde encuentro un esquema para enchufarlo?

      Saludos!!

      Eliminar
    3. Si algo va mal, siempre es culpa de Windows... Por eso uso Linux XD

      Respecto de los encoders, supongo que los habrán puesto por si unos motores van más rápido que otros, para monitorizar la velocidad e igualarla. No se me ocurre otro uso.

      En la parte uno hay un enlace a la librería que usé, dónde se explica como conectarlo y hay también un artículo con los errores más comunes, muy práctico. Está, como casí toda la documentación sobre Arduino, en inglés, pero se entiende bien.

      Ya me cuentas que tal te va, otro saludo!

      Eliminar
    4. Buenas!!

      Poco a poco voy teniendo mi mini 4x4 :) .Ya tengo el adaptador PSX montado. Tenía una PS2 por ahí desarmada y he cogido la hembra para poder soldar ahí y no directamente al adaptador wireless. También estoy probando con un mando con cable.

      He bajado la librería y la he probado. He tenido que cambiar a 57600 baud.

      Te cuento: Si pulso las fechas de dirección me sale que he presionado pero el valor es 0: Los analógicos no funcionan, solo presionando. El R1 y L1 me sale: Stick Values:128,128,128,128 y con el "cuadrado" solo funciona cuando levanto el botón no al pulsar. En el serial lo primero que me sale es: Controller refusing to enter Pressures mode, may not support it.
      DualShock Controller Found


      He probado tu código intentando cambiar los pines que yo tengo en mi arduino pero me hace un bucle con el valor 2. Y al principio también me sale que "El mando no soporta presiones".

      Me quedado ahí...

      Ayudita!! :P

      Saludos!

      Eliminar
    5. Buenas de nuevo :P

      El ejemplo la me funciona Ok. Creo que funciona ya todas las funciones del mando.

      Ahora me estoy peleando con tu código. Ahora me dice que no detecta el mando... y se queda el bucle del 2 también.

      No se donde puede estar el problema.

      Saludos!!!!

      Eliminar
    6. Perdona, he estado fuera unos días.

      Si no setecta el mando, yo provaría soldando las resistencias que pone que hay que soldar en el articulo de resolucion de problemas, hay gente que no lo necesita, pero en mi caso concreto me solucionó los problemas.

      Respecto de lo de pulsar o soltar creo que había dos funciones distintas una "ButtonPressed" y otra"ButtonReleased", en el código de ejemplo usa una para cosa, pero se pueden intercambiar.

      Respecto de los problemas con mi código, le hice muchos cambios para que me detectara bien el mando, puede que el tuyo sea distinto y por eso mis cambios hagan que no funcionen cosas. De todos modos supongo que habrás avanzado desde el último mensaje...

      Un saludo, y cuéntame que tal que me interesa.

      Eliminar
  8. Buenas!!

    Pensé... Donde está este chico? Ha desaparecido!! :P

    Pues ahora mismo acabo de configurarlo después de comerme la cabeza y preguntar en foros y sin respuesta. Lo último que había probado es Arduino Mega por si acaso.

    Ya tengo funcionando el Ejemplo. Me lo detecta correctamente cualquier mando de los que tengo. ¿Solución? He puesto la resistencia de 10K en DATA y en la libreria he cambiado el valor de CTRL_CLK por 10 y perfecto lo que es el ejemplo.

    He cargado tu código y esto es lo que me sale:

    2
    No hay mando PS2
    DualShock Controller Found
    2
    ...
    2 (Bucle)

    Cuando pulso al START se pone un 0 y al segundo empieza con un bucle en 1.

    Espero tu ayuda a ver si puedo hacerlo funcionar hoy :P

    Saludos!!

    ResponderEliminar
    Respuestas
    1. El start lo utilizo para cambiar entre los modos de control por bluetooth y por mando de PS2. Ese 1 o 2 lo utilizaba yo para comprobhar que me hiciera bien el cambio, y al final se me debió pasar quitarlo. El problema que tienes es que no te detecta el mando de PS2 (Evidente, XD).

      ¿Has cambiado los pines en?:

      error = ps2x.config_gamepad(13,11,10,12, true, true); //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error

      Es ahí donde comprueba si el mando está conectado y donde aparece tu error, así que aseguraté de que cada cable del mando va al pin que ahí le indicas. Si así no se te resuelve, recuerdo que el siguiente fragmento estaba modificado por mi, así que podrías cambiarlo por el del código de ejemplo:

      error = ps2x.config_gamepad(13,11,10,12, true, true); //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error

      if(error == 0){
      Serial.println("No hay mando PS2");
      }

      else if(error == 1)
      Serial.println("No hay mando PS2");

      else if(error == 2)
      Serial.println("El mando no acepta comandos");

      else if(error == 3)
      Serial.println("En mando no soporta presiones ");


      type = ps2x.readType();
      switch(type) {
      case 0:
      Serial.println("Unknown Controller type");
      break;
      case 1:
      Serial.println("DualShock Controller Found");
      break;
      case 2:
      Serial.println("GuitarHero Controller Found");
      break;
      }

      }


      Ya me cuentas que tal, un saludo.

      P.D: Ya que estás siguiendo muchos enlaces desde mi blog, XD; ¿que te parece lo de Adf.ly? La verdad es que pagan una basura, 0.26€ por 240 clicks ¿Crees que resulta muy molesto?

      Eliminar
  9. Buenas!!!

    He solucionado el tema de la detección del mando. He cogido el codigo de ejemplo y tu codigo y he ido modificandolo. He conseguido hacer la comunicación. He puesto que se enciendan unos led cuando pulsas el circulo y si pulsas otra vez se apaguen :), pero lo motores no consigo que funcionen. El funcionamiento de los motores, ¿Solo es moviendo los mandos analogicos?

    Hay algunas cosas del codigo que declaras que no se para que es exactamente. Te paso el código modificado y a ver si me puedes echar una mano.

    https://docs.google.com/file/d/0BxzOnvBoqTB3MzdqUFVfOXMxaXc/edit?usp=sharing

    Respecto a lo que me comentas del blog, como bien sabes soy Administrador IT y como tal utilizo mucho internet, soy una persona muy exigente y me gustan los sitios dinamicos y sencillos, por tanto siendo sincero, me parece demasiado molesto. Otra cosa que veo es que tarda demasiado en abrirse el blog no se si será por el tema de la publicidad. Todo esto es desde mi punto de vista :)

    Espero tu ayuda!! :)

    Saludos!!

    ResponderEliminar
    Respuestas
    1. El problema es que como en un principio lo escribí para mi, hay cosas de las que no me acuerdo mucho y que puse poco claras, igual son variables que puse para algo y no borré, o son algún sistema cutre para que algo no falle; adivina...

      En efecto, los motores funcionan simplemente con los sticks analógicos, aunque también se puede aumentar o reducir la velocida con los gatillos, L1 y R1 para subir y bajar la velocidad permanentemente y L2 y R2 para bajar momentaneamente la velocidad de su correspondiente Joystick (mientras se mantienen pulsados), un sistema complejo, la verdad, pero después de muchas pruebas es el que más me convenció, XD

      Creo que quiteré lo de bit.ly, o lo cambiaré por el banner superior a ver que tal (no te congela la navegación). Lo cierto es que si cuando voy yo a un enlace de mi blog me molesta, me imagino que a los visitantes mucho más... Respecto de la velocidad de carga, lo he notado también, y de hecho prové a quitar los anuncios y el tiempo de carga era similar ¿Puede que la barra de la derecha esté sobrecargadao o quizá sea cosa de Google?

      Un saludo!

      Eliminar
  10. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
    Respuestas
    1. Todo sea por una cerveza... XD

      Los pines básicos son los que has puesto aquí:

      //Motor 1
      int mo1=6; //PWD //EB
      int act11=7; //I4
      int act12=8; //I3

      //Motor 2
      int mo2=5; //PWM //EA
      int act21=3; //I1
      int act22=4; //I2

      Mo1 y Mo2 deben recibir señales PWM con las que controlarás la velocidad y deben ir a la entrada de tu placa en la que pone EA y EB; los act sirven para ir hacia alante o hacia atrás según las señales High y Low que le mandes:


      //(para el motor 1)
      7 y 8 LOW - El motor no se mueve
      7 y 8 HIGH - El motor no se mueve
      7 HIGH y 8 LOW - Hacia alante
      7 LOW y 8 HIGH - Hacia atrás


      Todos los pines act deben ir a las entradas I1, I2, I3 e I4 del integrado.

      Por supuesto la placa del L298 debe estar alimentada, tanto para los motores como con su voltaje lógico (el voltaje lógico igual no es necesario, creo que tiene un regulador detrás, aunque eso es cuestión de probar.

      No se si esas eran tus dudas exactamente, pero bueno, poco a poco avanzamos...


      Ánimo con el blog, salvo cuando se te ponen muy pesados ;) está muy bien ver que hay gente que se interesa por lo que haces; que te lean y te comenten (aunque escribas, como yo, cada 6 meses) Ah, y el cochecito es el artículo ideal para empezar, que después de todos los mensajes quiero verlo.

      Eliminar
    2. Hello!!

      He cambiado un poco el cochecito y le metido el Arduino MEGA así ya puedo hacer todas las modificaciones posibles :P

      ¿Que quieres decir con lo del voltaje lógico?

      Por más que veo el código no consigo averiguar que es lo que está pasando. Con el código BricoGee:

      (http://blog.bricogeek.com/noticias/tutoriales/tutorial-robot-4x4-con-arduino/)

      , funciona solo perfectamente, pongo tu código cambio los pines y no hace nada. Lo que he notado es que al estar con el voltaje de USB el Puente H luce cuando muevo los joystick analogicos pero como con poco voltaje, pongo el voltaje de la bateria (12v) y vuelvo a mover y ya no luce Repito con el código de BricoGeek, si funciona con el voltaje de la bateria el Puente H.

      Dios!! Quiero que ande ya!! :P (Y repito que la programación no es mi fuerte :) )

      Aquí tienes una foto del prototipo:

      http://img16.imageshack.us/img16/3158/wkbn.jpg

      Ya me cuentas.

      Saludos!

      Eliminar
  11. Buenas de nuevo.

    He decidido comprarme una bateria de Lipo de buena calidad porque la bateria que tengo pesa bastante y para este tipo de prototipos el peso es un punto negativo.

    Me gustarái que me recomendaras un sitio para comprar la bateria y el cargador (Pones en la primera parte que te salio por 40€). También me gustaría pillarme el indicador de voltaje para evitar que se descargue por completo la bateria como comentas.

    También me he pillado un regulador de voltaje. He visto que los motores trabajan a 7,2v en una página que hay descripcción de estos mismos motores.

    Espero tus consejos para pillarme eso.

    Saludos!!

    ResponderEliminar
    Respuestas
    1. Hola!

      La batería y el cargador los compré por Ebay de un vendedor alemán que vendía baterías y cargadores de todo tipo, los compré hace mucho así que no puedo ver el vendedor concreto. Busca "Lipo battery 7,4V"(con la batería de 7,4 no necesitas regulador para los motores, eso ya como tu veas), filtra los resultados por europa (las chinas no valen nada) y elije un vendedor con buena puntuación, si le pides al mismo un cargador (en mi caso Imax B6) y el "avisador" te ahorrarás algo de envío.

      Respecto del mensaje anterior, lo del voltaje lógico es que el L298 trabaja internamente a 5v, pero si te funciona con el otro código es que, como te dije, tiene incorporado un regulador de voltaje (el integrado negro pequeño de atrás)

      Como comprenderás no te puedo dar un código ya escrito que te funcione perfecto, es cuestión de que vayas haciendo pruebas, que te detecte todo lo que le mandas por el mando, guardar eso en una serie de variables y luego en cada ciclo decirle a los motores que hagan lo que se ha almacenado en dichas variables. Tampoco soy un experto de la programación, estudio industriales, que tocan el tema de refilón. Me gusta el tema a nivel de hacer alguna cosita pero nada más.

      Si el otro código te funciona, añadele la parte de que te detecte el mando y haz que las variables de dicho código dependan de lo que se mande por el mando o parte del ejemplo del mando, borra lo innecesario y añade las órdenes que hay que mandar al tanque.

      Eliminar
    2. Buenas.

      Gracias por lo de la batería y el cargador.

      Lo del código, ya he llegado a la desesperación :P buscaré un sitio o alguién que me diga el funcionamiento de los analogicos y ya seguir yo. A estas alturas estoy dispuesto a pagar XD porque todo lo que me dices me suena a chino :P

      Gracias por todo.

      Saludos!

      Eliminar
  12. Hola Jorge,

    Soy sergio, después de tanto tiempo he vuelto y de momento lo probado en los motores funciona. No he probado nada mas pues lo tengo un poco olvidadito. Una pregunta, la resistencia de 10k como la has soldado exactamente?.
    Gracias.

    ResponderEliminar
  13. Hola,
    Otra pregunta, con esta libreria es posible controlar servos?

    ResponderEliminar
  14. tengo una pregunta en donde puedo ver el codigo de la app de mobo bt car para modificar la interfaz

    ResponderEliminar
  15. Respuestas
    1. Hola Señor exigencias. En su momento les pregunté a los desarrolladores si serían tan amables de cedérmelo bajo las condiciones que consideraran para modificarlo, pero desgraciadamente no obtuve ninguna respuesta por su parte.

      Eliminar
  16. hola amigo me podrias ayudar?? quiero controlar un coche con el control del ps2 pero no se como modificar la libreria de billy porter para que me funcionen dos motores y dos servomotores para la direccion del vehiculo. espero tu generosa ayuda de ante mano graacias mi correo es arduinofan_@hotmail.com

    ResponderEliminar
  17. porfavor necesito tu ayuda amigo jorge crespo he intentado pedir informacion en otros blogs pero nadie responde espero que tu si nuevamente gracias y espero tu pronta respuesta!!

    ResponderEliminar
    Respuestas
    1. Te he contestado al mail que me mandaste, pero da igual, lo pongo por aquí por si le sirve a alguien. Necesito que me digas exactamente donde te has quedado, que es lo que has hecho, que es lo que funciona y como y que es lo que no funciona.

      Tan sólo diciéndome "No va, ayúdame" como comprenderás no puedo siquiera intentar darte una solución correcta.

      Eliminar
  18. Gran trabajo Jorge!
    Me ha encantado el proyecto, sigue así!

    ResponderEliminar
  19. ¡¡buenas!!
    la verdad es que me ha parecido muy interesante el proyecto que has realizado.
    quisiera hacerte una pregunta respecto al código que no me ha quedado claro.. estoy realizan un proyecto similar donde la placa de Arduino lee pwm de un radio control y envía señales a los l298. quisiera saber que codigo utilizaste para coordinar el movimiento de las orugas ya que utilizan dos señales independientes.

    de antemano muchas gracias!!

    ResponderEliminar