En esta entrada se explicará el diseño y programación del robot DYOR multifunción.
Diseño y fabricación.
La estructura del robot se modela para ser conformada sobre una chapa de aluminio. Su diseño realizado mediante software SolidWorks, contempla el ensamblaje de los distintos componentes a integrar y los pliegues necesarios, así como los elementos auxiliares tales como brazos y soporte de sensores.
Componentes electrónicos y accesorios.
- 1x Arduino Nano (https://roboticafacil.es/prod/arduino-nano3/)
- 1x Placa de expansión de E/S (https://roboticafacil.es/prod/arduino-nano-io-extension-shield/)
- 2x Servo de rotación continua FS90R (https://dyor.webs.upv.es/servo-360o/)
- 2x Microservo SG90 (de posición) (https://roboticafacil.es/prod/servo-sg90/)
- 1x Sensor infrarrojo TCRT5000 (https://dyor.webs.upv.es/seguilineas/)
- 1x Sensor de ultrasonidos HC-SR04 (https://dyor.webs.upv.es/sensor-distancia/)
- 1x Matriz OLED SSD1306 (https://roboticafacil.es/prod/display-oled-128×32-0-91-blanco-i2c/)
- 1x Módulo bluetooth HC-06 (https://dyor.webs.upv.es/bluetooth-hc-06/)
- 1x Zumbador de sonido KY-006 (https://dyor.webs.upv.es/zumbador/)
- 1x Tira de LED RGB (https://roboticafacil.es/prod/tira-de-3-rgb-leds/)
- 1x Batería de alimentación (powerbank) USB (https://roboticafacil.es/prod/powerbank-3600mah/)
- 1x Rueda loca (https://roboticafacil.es/prod/rueda-loca/)
- 2x Ruedas para microservo FS90R (https://roboticafacil.es/prod/rueda-fs90r/)
- Cables Hembra-Hembra DuPont
Conexionado y montaje
El montaje de los componentes se realiza mediante el uso de uniones roscadas sobre las masas del módulo de E/S. Tornilleria y cola de contacto para anclaje de servos, bridas para anclaje del sistema de alimentación y el uso de cinta de doble cara y aislantes a base de corcho para evitar el contacto de los componentes con la chapa metálica que forma la estructura.
Las conexiones en el módulo de E/S para su programación se configura de forma que:
- Sensor ultrasonidos HC-SR04: -Echo «D13» ; -Trig «D12»;
- Servos continuos FS90R: -Rueda Derecha «D11» ; -Rueda Izquierda «D10»;
- Microservo posición SG90: -Brazo Derecho «D3» ; -Brazo Izquierdo «D2»;
- Sensor Infrarrojo TCRT5000: Analógica «A0»;
- Tira LED RGB: «D7»;
- Pantalla OLED SSD1306: «SCL» ; «SDA»
- Zumbador sonido KY-006: «D8»;
- Bluetooth: -Rx «D5» ; -Tx «D4»;
Programación
Se implementa la programación del robot a través del software Arduino, para la placa Arduino Nano mediante la ayuda del software Facilino
Se contemplan tres programas distintos, dos de ellos autónomos y otro para el manejo mediante la aplicación. No obstante se realiza una programación que contempla los cambios de programa a través del desarrollo conjunto con la aplicación app Android desarrollada.
Programa SigueLíneas: Se implementa un programa para seguimiento de líneas basado en un único sensor infrarrojo y la diferencia entre la reflexión de una superficie clara y un circuito realizado con una cinta oscura.
Programa Rebasa Obstáculos: Se implementa un programa encargado de detectar y rebasar obstáculos frontales. La detección de obstáculos se lleva a cabo a través del sensor de ultrasonidos y su comparación con una distancia mínima. Al detectar un objeto, el robot retrocede, realiza un giro perpendicular al objeto a cada lado del mismo y una medición para detectar posibles obstáculos a su alrededor. Finalmente el robot decide realizar el giro hacia uno de sus lados según la mayor distancia ante cualquier posible nuevo objeto.
Programa Teledirigir: En este se realiza los movimientos de avance, retroceso, giros y paro del robot a través de a conexión bluetooth y la aplicación realizada. Permite a su vez realizar el movimiento haciendo uso del giroscopio del propio teléfono y la activación/desactivación de esta función. El robot muestra a través de la pantalla OLED y por pantalla de la aplicación, el estado o movimiento que se encuentra realizando. Por otro lado se implementan las funciones para el manejo de los brazos del robot, permitiendo empujar objetos tales como una pelota o posicionar objetos ligeros interpuestos a su paso.
Aplicación Android
El desarrollo de la aplicación se lleva a cabo con el software online AppInventor 2, que permite el desarrollo de aplicaciones para dispositivos Android. Esta realiza su conexión con el robot a través del módulo bluetooth.
La aplicación desarrollada permite:
-Establecer y finalizar la conexión.
-Escoger entre los 3 programas implementados y cambiar entre ellos sin salir.
-Realizar movimientos a través de botones.
-Realizar movimientos haciendo uso del acelerómetro del teléfono.
-Activar/desactivar movimientos con acelerómetro.
-Manejo de brazos del robot, individual y a la vez.
-Visualización del estado, movimiento robot.
Reporte fotográfico y vídeos