Archivos Mensuales: noviembre 2014

ArduRover IV (Distancia)

Medir Distancias con el HC-SR04

La implementación de esta parte del proyecto es una continuación del proyecto anterior (ArduRover III Luz).

HC-SR04

Se trata de seguir incorporando funcionalidades al Rover, en este caso he incorporado un medidor de distancias del tipo HC-SR04 por ultrasonidos. Para saber más sobre como funciona este medidor, consultar la entrada “Medir Distancias” .

7805

He implementado una fuente de voltaje + 5Vcc con el circuito integrado 7805. La alimentación de entrada la suministra las baterías del Rover y la salida la utilizaré para la alimentación del servo y futuros circuitos de + 5 Vcc con un cierto medio-bajo amperaje.

Las características principales son las siguientes:

  • Entrada …………………………………  7 a 20 Vcc
  • Salida ……………………………………. 4.8 a 5.2
  • Intensidad de Salida………………. 500 mA

He introducido un servo y he colocado el HC-SR04 encima con la visión futura de poder mover el sensor y realizar medidas en diferentes direcciones. Para este fin he utilizado un servo que tenía por ahí y lo he reciclado.

La conexiones del servo las he mirado en una tabla que construí con la información que encontré en Internet.

Terminales_Servos

He modificado el Screen de programa, el módulo de “Clock”  y he implementado un bloque más.

SCREEN

Screen_Distancia

Como se puede observar he incluido un botón para especificar de manera manual cuando queremos que realices las mediciones. También he habilitado un lugar para que represente la medida en centímetros que existe entre la delantera del Rover y el obstáculo. En el fututo será empleado para evitar obstáculos y medir distancias de escape de un laberinto con dificultad media-baja.

Bloque del Evento Clock de Medidas

Modulo_Reloj_Medida

 El bloque se ejecuta coda 500 ms y se ha ampliado con respecto al anterior en lo siguiente:

Se realiza la lectura de los datos provenientes del Arduino y se guarda en la variable “DatoRecibido”

Mediante las funciones de troceado y medición de cadenas se le asigna a cada etiqueta el valor del sensor medido de la siguiente forma:

Medimos la longitud de la cadena leída y si es mayor que 11, realizamos el troceado. Con esto nos evitamos que los datos provenientes del Arduino no están completos. Troceamos la cadena en tres partes, la primera comenzando en la primera letra y terminando al encontrar una “,”. La segunda desde esta hasta el signo “+”, y la tercera desde esta última hasta el signo “-“.

En caso de no estar conectados rellenamos los valores con “XXX”

Bloque del Evento Pulsar el Botón Medir

Modulo_Medida

El módulo se parece mucho al de la conexión/desconexión de la luz que ya habíamos programado, la diferencia es que este en vez de manipular una luz, realiza la habilitación del reloj (TimerEnabled).

Esquema Teórico Parcial:

ArduRover_Distancias

Esquema Práctico:

Placa_1_ArduRover_4_bb

Código del Programa:

Codigo_ArduRover_Distancias

Fotos:

2Vista de Perfil

7

Vista Lateral

Planta

Vista en Planta

Detalle

Detalle Lateral

Frente

Detalle Frontal

Tablet

Aplicación en el Tablet

Código fuente

ArduRover_Traccion_Bluetooth_Luz_Distancia.ino

APP de Proyecto:

App_ArduRover_IV.apk

Ficha del Proyecto:

ArduRover_IV_Ficha_31

Vídeo resumen:

Anuncios