Archivo de la categoría: Interrupciones

ArduRover VIII (Creando Recorridos)

Creación de un Recorrido Definido.

Esta parte del proyecto es continuación de los proyectos anteriores  y trata de crear un recorrido como suma de secuencias de movimientos que se grabarán en un registro.

Para ello, lo primero que hay que realizar, son los procedimientos básico para la gestión de una BD:

Añadir un Registro

Eliminar un Registro

Modificar un Registro

Para ello, he creado una lista y la he manejado utilizado las funciones que nos ofrece App Inventor  sobre “TinyDB”.

Una vez terminada esta labor, lo siguiente en realizar la sincronización de la secuencia a utilizar, para ello, he utilizado un sistema de sincronización que se basa en la siguiente secuencia:

La aplicación envía una orden a ejecutar y espera respuesta.

Arduino ejecuta la orden, y cuando acaba envía a la aplicación “OK”

Cuando la aplicación lo recibe, pasa a la siguiente orden.

Esto acaba con el ultimo registro grabado

Como podéis ver he implementado cuatro botones de recorridos, aunque solo está habilitado el primero, dejando para un futuro la implementación de cuatro posibles recorridos.

Diagrama de Flujo del Funcionamiento de Arduino al recibir una Orden

Presentación_Recorrido

SCREEN 1

Pantalla1SCREEN 2

Pantalla2
SCREEN 3

Pantalla3

SCREEN 4

Pantalla4Bloque de Inicialización

Bloque_Inicializacion

Bloques del Control de Registros

Bloque_Reguistro_Recorrido

Bloques Ejecutar Recorrido del Registro

Bloques_Recorridos

Esquema Teórico Parcial:

Sensor_Hall

Esquema Práctico:

Placa_1_ArduRover_Codificador_Hall

Modificación del Programa Arduino:

Extracto_Codigo_Recorrido

Fotos:

Vista_General

Vista General

DetalleDetalle de las conexiones

TabletPantalla Tablet

—————-

Código fuente

ArduRover_Recorridos.ino

APP de Proyecto:

APP ArduRover_VIII.apk

Ficha del Proyecto:

ArduRover_VIII_Ficha_35

Vídeo resumen:

Anuncios

ArduRover VII Codificadores

Codificando Interrupciones

La realización de esta parte del proyecto es continuación de los proyectos anteriores , se trata de seguir incorporando funcionalidades nuevas al Rover. En este caso he incorporado la posibilidad de realizar los cuatro movimientos básicos con un codificador “Hall”, de manera que puedo elegir, la distancia del movimiento. En un proyecto futuro se podrá confeccionar un recorrido definido y realizarlo con un alto nivel de precisión.

Codificador_Hall

He utilizado las posibilidades que me brinda la placa Arduino en cuanto a la programación de Interrupciones.

Interrupciones_Arduino

Las interrupciones son un método del que disponen Arduino para hacer notar al procesador la aparición de alguna circunstancia que requiera su intervención. De este modo, el dispositivos que ha realizado la interrupción pueden provocar que el procesador deje por el momento la tarea que estaba realizando y atienda la interrupción, una vez atendida, seguirá con su labor anterior. Las interrupciones son útiles para hacer que las cosas que sucedan automáticamente puedan ser atendidas de inmediato sin necesidad de ir consultando regularmente el estado de ese suceso, estas puedan ayudar a resolver problemas de temporización y son buenas para leer un encoder rotacionales, monitorizando la entrada del usuario, sin perder nunca un pulso.

Para comprender un poco mejor como funciona las interrupciones en Arduino, podéis visitar la entrada que realicé con el proyecto “Interrupciones

SCREEN 1

Pantalla1SCREEN 2

Pantalla2
SCREEN 3

Pantalla3

Código de la Función Contador de Pasos

Codigo_Contador_de_Pasos

Código de la Función PasosAPaso

Codigo_PasoAPaso

Bloques del Cambio entre Pantallas

Botones_Cambio_de_Pantallas

Bloques de la selección de la función a realizar (Dirección) 

Cambio_de_Direccion

Bloques de los pasos a caminar 

Ir

Esquema Teórico Parcial:

Sensor_Hall

Esquema Práctico:

Placa_1_ArduRover_Codificador_Hall

Código Parcial del Programa Arduino:

Codigo_Codificadores

Fotos:

Vista_General

Vista General

DetalleDetalle de las conexiones

Tablet_01Pantalla Principal

Tablet_02Pantalla de Programación por Pasos

Código fuente

ArduRover_Codificador_de_cuadratura.ino

APP de Proyecto:

APP ArduRover_VII.apk

Ficha del Proyecto:

ArduRover_VII_Ficha_34

Vídeo resumen: