Herramientas de usuario

Herramientas del sitio


proyectos:redbot

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
proyectos:redbot [2017/03/13 09:30] – creado Félix Sánchez-Temblequeproyectos:redbot [2021/04/16 20:41] (actual) – editor externo 127.0.0.1
Línea 5: Línea 5:
 En el año 2013 creamos un curso para los talleres [[https://kiicsmc2.wordpress.com/2013/10/10/nuevos-talleres-kiics/|KiiCS]] de los Museos Científicos de A Coruña. Con la base de un robot comercial relativamente económico para que quien quiera iniciarse (personas, colegios, asociaciones...) en la robótica con software y hardware libre, programamos unas librerías y creamos el curso que inicia con el montaje mecánico y acaba con la programación de tareas sencillas como moverse siguiendo una línea o evitando obstáculos. En el año 2013 creamos un curso para los talleres [[https://kiicsmc2.wordpress.com/2013/10/10/nuevos-talleres-kiics/|KiiCS]] de los Museos Científicos de A Coruña. Con la base de un robot comercial relativamente económico para que quien quiera iniciarse (personas, colegios, asociaciones...) en la robótica con software y hardware libre, programamos unas librerías y creamos el curso que inicia con el montaje mecánico y acaba con la programación de tareas sencillas como moverse siguiendo una línea o evitando obstáculos.
  
-Esa misma base sirvió para hacer nuevos cursos durante la OSHWDEM y para Cefore. Ahora lo reproducimos tal cual en esta wiki, con la misma estructura. El kit original de Sparkfun ya no está disponible, pero tienen otro muy similar en lo mecánico e idéntico en la parte electrónica.+Esa misma base sirvió para hacer nuevos cursos durante la OSHWDEM y para CFR. Ahora lo reproducimos tal cual en esta wiki, con la misma estructura. El kit original de Sparkfun ya no está disponible, pero tienen otro muy similar en lo mecánico e idéntico en la parte electrónica.
  
 ===== Montaje mecánico ===== ===== Montaje mecánico =====
 +
 +Paso 1: Montar los motores en el chasis inferior y la tercera rueda loca.
 +
 +{{:proyectos:redbot:redbot_1.jpg?700|}}
 +
 +Paso 2: Montar los separadores entre los chasis inferior y superior, y los soportes para la electrónica.
 +
 +{{:proyectos:redbot:redbot_2.jpg?700|}}
 +
 +Paso 3: Montar la placa electrónica y el portapilas
 +
 +{{:proyectos:redbot:redbot_3.jpg?700|}}
  
 ===== Montaje electrónico ===== ===== Montaje electrónico =====
 +
 +Una placa Arduino no puede manejar directamente un motor, necesita un circuito intermediario, controlador o driver.
 +
 +{{:proyectos:redbot:redbot_5.jpg?700|}}
 +
 +La función del driver es dar potencia al motor siguiendo las órdenes del Arduino. Los de tipo puente H pueden además cambiar la dirección de giro del motor.
 +
 +{{:proyectos:redbot:redbot_6.jpg?700|}}
 +
 +Los más usados son el L298N, L293D, TF6612 o L9910. La placa de Redbot tiene un driver TF6612 integrado.
 +
 +En la placa de Redbot hay que conectar los motores (abajo en el centro, conector plano con indicaciones RED y BLACK).
 +
 +{{:proyectos:redbot:redbot_4.jpg?700|}}
 +
 +Con esto está preparado para moverse.
  
 ===== Instalación y prueba del IDE de Arduino ===== ===== Instalación y prueba del IDE de Arduino =====
 +
 +En esta [[https://www.arduino.cc/en/main/software|dirección]] puede descargarse e instalarse el programa (Entorno Integrado de Desarrollo o IDE) de Arduino.
 +
 +Una vez instalado el programa para comprobar que todo funciona hay que conectar la placa con un cable USB. La placa de Redbot tiene dos interrruptor: POWER y MOTOR. Para esta prueba hay que encender sólo el POWER (ON).
 +
 +{{:proyectos:redbot:redbot_7.jpg?700|}}
 +
 +A continuación hay que hacer l o siguiente con el IDE:
 +
 +  * seleccionar un ejemplo Archivo>Ejemplos>01.Basics>Blink.
 +  * seleccionar la placa Herramientas>Placa>Arduino UNO.
 +  * cargar el programa en la placa Archivo>Cargar (o pulsar el icono de la flecha que apunta a la derecha)
 +
 +Si todo ha ido bien tendremos una luz led parpadeando en la placa.
  
 ===== Instalación y prueba de la librería y ejemplos ===== ===== Instalación y prueba de la librería y ejemplos =====
 +
 +Para manejar los motores de manera sencilla es mejor cargar la librería de funciones que hemos creado y se puede descargar [[https://github.com/felixstdp/mobilerobot.ino|aquí]]. Para descaregarla hay que pichar el botón Clone or Download>Download ZIP
 +
 +{{:proyectos:redbot:redbot_9.jpg?700|}}
 +
 +El archivo ZIP hay que abrirlo y copiar el contenido a la carpeta de librerías de Arduino, cambiándole el nombre a la carpeta por 'mobilerobot'. Si tenemos abierto el IDE hay que cerrar y volver a abrir.
 +
 +Si todo ha ido bien podremos ver las librerías y los ejemplos en Archivo>Ejemplos>mobilerobot
 +
 +{{:proyectos:redbot:redbot_10.jpg?700|}}
  
 ===== Proyectos ===== ===== Proyectos =====
  
 ==== 1: Secuencia de movimientos ==== ==== 1: Secuencia de movimientos ====
 +
 +Para mover el robot podemos usar el programa más simple, que puede verse abajo. Podemos probar las instrucciones de movimiento de la librería
 +
 +{{:proyectos:redbot:redbot_11.jpg|}}
 +
 +Las funciones de esa librería son
 +
 +RobotMovil nombredelobjeto; / para crear el objeto que se usará luego
 +
 +nombredelobjeto.forward(l,r,t); // movimiento hacia adelante con r,l velocidad de las ruedas izquierda y derecha entre 0 y 255, durante t tiempo en ms
 +
 +nombredelobjeto.reverse(l,r,t); // idem hacia atrás
 +
 +nombredelobjeto.rotate(t); // gira durante un tiempo t (positivo o nevativo para girar a derecha e izquierda)
 +
 +nombredelobjeto.brake(t); // para durante un tiempo t los dos motores
 +
 +Enlazando movimientos hacia delante, detrás o giros podemos hacer figuras geométricas.
 +
 +También podemos probar a poner velocidades diferentes en la función forward para hacer curvas, y ajustar valores parecidos para que haga rectas (los motores nunca son exactamente iguales).
 +
 +Hay que recordar que el código que esté dentro de void setup() se ejecutará una vez y el que esté en void loop() se repetirá indefinidamente.
  
 ==== 2. Mantener la distancia ==== ==== 2. Mantener la distancia ====
 +
 +[[https://github.com/felixstdp/mobilerobot.ino/blob/master/examples/robotkeepdistance/robotkeepdistance.ino|Enlace externo]]
  
 ==== 3. Evitar obstáculos ==== ==== 3. Evitar obstáculos ====
 +
 +[[https://github.com/felixstdp/mobilerobot.ino/blob/master/examples/robotavoidobstacle/robotavoidobstacle.ino|Enlace externo]]
  
 ==== 4. No pisar la raya ==== ==== 4. No pisar la raya ====
 +
 +
 +
 +====== Presentación del curso ======
 +
 +Aquí puedes encontrar una presentación en [[https://github.com/felixstdp/mobilerobot.ino/blob/master/curso_cefore_1.pdf|PDF]] y en [[https://github.com/felixstdp/mobilerobot.ino/blob/master/curso_cefore_1.odp|ODP]] para la iniciación al mundo de los robots móviles con RedBot. Eres libre de utilizarla y modificarla a tu gusto.
 +
 +====== Equipo ======
 +
 +  * [[user:felixstdp|Félix]]
 +
 +====== Enlaces ======
 +
 +  * [[https://github.com/felixstdp/mobilerobot.ino|Librería Mobilerobot en GitHub]]
 +  * [[https://www.sparkfun.com/products/13166|RedBot Basic]]
 +  * [[https://www.sparkfun.com/products/12649|RedBot Inventor's Kit]]
  
  
proyectos/redbot.1489397459.txt.gz · Última modificación: 2021/04/16 20:37 (editor externo)