Archivo de la categoría: App Inventor 2

Escudo de Ethernet W5100 – III

En este caso el control lo realizaré a través de una aplicación creada con “App Inventor”.

Como solo es un ejemplo he decidido realizar la implementación de tres salida digitales y dos entradas analógicas, simulando la temperatura de dos estancias de una casa.

La programación es muy fácil, para las salidas digítales, se trata de realizar un “Get” con uno de estos códigos:

  • OnXXX para encender la estancia
  • OffXXX para apagar la estancia

Módulo de Control de un Led con AppInventos.

Para las entradas analógicas simuladas, se implementa un “Web” dentro de la aplicación y se referencia a la dirección del servidor web (192.168.1.177).

Esquema de los LED

Circuito teórico

Circuito Práctico.

Programa Arduino

AppInventos

Aspecto Simulado

Captura de Pantalla desde un móvil

Archivo aia de AppInventor.

Casa_Domotica_I.aia

App de la Aplicación.

Casa_Domotica_I.apk

Códigos Fuente  Arduino

Ethetnet_AppInventor.ino

Vídeo resumen:

Anuncios

ArduRover puede Seguir Líneas

¿Qué pretendo realizar?

Básicamente lo que pretendo realizar es que el Rover sea capaz de desplazarse a lo largo de una línea de un color negro diferente al fondo blanco, para ello he colocado cuatro sensores, de los que en principio solo utilizaré dos.

El funcionamiento básicamente consta de tres ordenes y son las siguientes:

BD14866_ Los dos sensores están sobre la línea, avanzamos

BD14866_ El sensor de la derecha ha salido de la línea, giramos hacia la izquierda

BD14866_ El sensor de la izquierda ha salido de la línea, giramos hacia la derecha

BD14866_ Los dos sensores están fuera de la línea, sigue con lo que estabas realizando.

Teoria_Sigue_lineas

Para ampliar información – pulsa aquí

Lista de Piezas

Dibujo de la Pieza Nombre Nº Piezas
Soporte_CNY70 Soporte CNY70 1
Porta_Soperte_CNY70 Porta Soporte 2

 

Bloque Sigue Líneas

Metodo_SigueLineas

Esquema Parcial Teórico:

Circuito_ArduRover_Sigue_Lineas

Esquema Práctico Simplificado:

Extracto_Placa_1_ArduRover_XI

Extracto del Programa Arduino:

Codigo_ArduroverXI

Fotos:

Frontal

Frontal

Detalle_DelanteroSC_1939

Detalle Frontal

Panza

Panza

Detalle_Panza

Detalle Panza

Código fuente Completo

ArduRover_Sigue_Lineas.ino

APP de Proyecto:

ArduRover_XI.apk

Ficha del Proyecto:

ArduRover_XI_Sigue_Linea_Ficha_39

Vídeo resumen:

 

Controlar el Brazo Robot con Android

Controlar el Brazo Robótico con la App diseñada.

Como continuación a la entrada anterior he seguido diseñando partes del brazo robot que quiero para el ArduRover, he introducido un grado más de libertad y he diseñado la interfaz que lo controla.

La primera dificultad que me he encontrado es la alimentación con la suficiente energía para abastecer a los cuatro servos. La solución aunque no muy buena, es utilizar un 7806 cuya alimentación proviene directamente de las baterías del ArduRover y a través de el alimentar los servos.

Las características del 7806 son muy parecidas a las del ya utilizado 7805, pero con tensión de salida 6 voltios. Al aumentar la tensión el requerimiento de intensidad es menor y si disponemos de un buen refrigerador(en mi caso no lo he puesto aunque es necesario)solucionaremos el problema.

Lista de Piezas

Dibujo de la Pieza Nombre Nº Piezas
Base Muñeca 1
Muñeca 1
Lateral Brazo 4
Repy 1.1 Head 2
Repy 1.1 Body 2

Transmisión de datos entre Android y Arduino:

cuadro

En principio y de manera muy resumida el funcionamiento de la transmisión de los datos de la posición que definimos en el programa desde la Tablet al ArduRover es el siguiente:

  • Definimos la posición de cada servo
  • Memorizamos dichas posiciones en unas variables
  • Transmitimos una “F” y a continuación una cadena separada con el carácter “;” con todas las variables anteriores por Bluetooth
  • Arduino recibe la cadena, la separa y asigna a cada servo la posición futura
  • Mediante el procedimiento “posicionServo” los servos recorren desde la posición actual hasta la futura. Con esto los movimientos son más suaves

Los procedimientos “recibirCadenaServo”, “valorServos” y “posicionar” podrían haberse juntado, pero por claridad los he separado

He incluido la posibilidad de memorizar cuatro posiciones del brazo robot para dar mayor funcionalidad a la interfaz

Bloques de Memorizar posición

MemoriaServo

Bloques de Grabar la Posición de los Servos

GrabarPosicion

Bloques de Transmisión de la posición de los servos al Arduino

EnviarPosicion

Esquema Teórico:

 Brazo_Android_Esquema_electrico

Esquema Práctico:

Placa_1_ArduRover_6_bb_Fin

Extracto del Programa Arduino:

Extracto_de_Codigo

Fotos:

Pantalla_01

Pantalla Principal

Pantalla_05

Pantalla de control del Brazo Robot

Brazo_Plegado

Vista con el Brazo Plegado

Brazo_Extendido

Vista con el Brazo Extendido

Detalle

Detalle de conexión

Código fuente

ArduRover_Brazo_Robot.ino

APP de Proyecto:

ArduRover_X.apk

Ficha del Proyecto:

ArduRover_X_Ficha_38 

Vídeo resumen:

 

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: