proyecto slider
TRANSCRIPT
Grupo 5: Slider controlado por App
IES. Vicente Aleixandre
Componentes del grupo:
-Miguel Granero
-Luis López Berrocal
-Marta Salas Arroyo
Índice:
➢ Introducción: ………………… 2 , 3
➢ Funcionamiento ………………… 4
➢ Historia ………………… 5
➢ Referencias ………………… 5
➢ Subsistemas:
● Motores paso a paso ………………… 6 , 7 , 8
● Driver motores ………………… 9
● App inventor ………………… 10
● Bluetooth ………………… 10, 11
● Slide ………………… 12
● Arduino ………………… 12
➢ Presupuesto y materiales ………………… 15
1
Introducción:
-Roles principales:
Software Miguel Granero Ramos
Hardware Luis López Berrocal
Busqueda de informacion Marta Salas Arroyo
-Normas:
-Cumplir con los plazos fijados
-Ser responsable con las tareas asignadas.
-Respetar opiniones y críticas constructivas
-Canales:
➢ Carpetas compartidas de drive
➢ Organización mediante Trello.
➢ Whatsapp.
➢ Gmail
-Finalidad:
Abordar la construcción de un carril motorizado para fotografía y video, también
llamado slider motorizado.
Nuestra idea es construir un slider controlado por App que use motores paso a paso
para su movimiento lineal, hemos de hacerlo de manera que sea lo suficientemente
suave y preciso para que pueda tomar fotografías y videos nítidos con buena calidad
o simplemente mover la cámara por los raíles a nuestro antojo.
2
-Objetivos:
➢ Principales: Crear el raíl controlado por una APP. Para ello utilizaremos
motores paso a paso y piezas personalizadas para el proyecto.
➢ Secundarios: Utilizar un circuito integrado en lugar de un Arduino para
poder disminuir el tamaño del hardware.
-Diagrama de Gantt:
-Opciones
Para elaborar este proyecto nos hemos encontrado ante una serie de problemas en los
que hemos tenido que tomar decisiones que afectan al funcionamiento o construcción
de este.
➢ Ejes de movimiento: Hemos elegido que la cámara solo se moviese
(motorizadamente) en un eje, ya que incluir otro eje, como la inclinación
encarece mucho el coste final del proyecto.
➢ Método de control: Creemos que controlar el raíl a través de un App y
Bluetooth es una idea correcta ya que es una manera sencilla y eficaz de
comunicación entre el Arduino y el móvil. De esta manera además
podemos crear una aplicación personalizada a nuestro proyecto.
➢ Diseño y piezas: Hemos decidido usar diseños 3D y piezas ya hechas, ya
que así nos libramos de posibles errores y nos aseguramos de su correcto
funcionamiento.
3
Funcionamiento:
-Esquema de entradas y salidas:
-Funcionamiento del sistema:
Para este sistema contamos con un motor paso a paso, un raíl y una montura para una
cámara que permite cambiar la inclinación de esta.
Utilizamos una App creada con App Inventor que nos permite comunicarnos vía
bluetooth con el Arduino. En la App hemos dispuesto flechas de dirección que
actuarán sobre los motores haciendo mover la cámara por el raíl.
El motor se va a colocar verticalmente, conectado a una polea con una correa de
rueda dentada. La cámara se va a desplazar sobre un soporte que se acopla a un raíl,
haciendo que se pueda mover con precisión y en línea recta sobre el mismo.
Por último, necesitamos un soporte de cámara que va a tener la función de sujetar la
cámara sobre lo dicho anteriormente para que no se desplace, esté firme y tenga el
propósito final de realizar fotos y vídeos sin movimiento excesivo de la cámara, con
nitidez y con calidad.
4
Historia: Sistemas de estabilización de la imagen: estos sistemas sirven para contrarrestar y
eliminar todo tipo de vibración o movimiento que puede sufrir la cámara y que puede
afectar a la imagen.
El primero de ellos fue el trípode, que aparece incorporado en las primeras cámaras
fotográficas y en el cinematógrafo inventado por los hermanos lumiere en 1895.
Es un sistema muy rudimentario pero eficaz que aún se utiliza y que consta de tres patas
ajustables que sostienen la cámara.
En 1926 aparece el monopod, funciona como un trípode pero solo tiene una pata, lo
que hace que sea menos eficaz y que no se utilicen mucho,
En 1976 aparece el primer sistema estabilizador de imagen: steadycam muy utilizado en
cine y televisión. Basa su acción en unos cuantos puntos de apoyo sobre una estructura
metálica y el centro de gravedad del cuerpo, la cámara que se utiliza. Su primera
utilización cinematográfica fue en la cinta de 1976 “Esta tierra es mi tierra” (Bound for
Glory), de Hal Ashby; su uso fue una revolución que sorprendió a los especialistas de
la materia. En el mismo año se utilizó en “Rocky” y en “Marathon Man”, que iniciaron su
uso generalizado.
Poco a poco van apareciendo sistemas estabilizadores de imagen para cámaras de foto
que graban video, como por ejemplo, el Cavision RS5DM2SET-S que utiliza como punto
de apoyo tu hombro. Una versión del mismo sistema para videocámaras domésticas y
semi profesionales es el soporte Anton Bauer STASIS FLEX Shoulder Mount Camera
Stabilizer.
Desde hace unos cuantos años se ha venido utilizando mucho en el campo profesional,
lo que se conoce como “volante”. Su nombre es Fig Rig, fue inventado por el director de
cine Mike Figgis y comercializado por Manfrotto.
El sistema de funcionamiento es tan sencillo como situar la cámara en el centro de un
círculo y manejarla con los dos brazos. De esta manera tenemos un control algo más
exacto sobre los movimientos y la imagen se mueve menos.
5
El slider utiliza en el cine y la fotografía para hacer panorámicas y grabar distintos
tipos de planos , es un sistema muy preciso que consta de un carril por donde se
desliza la cámara y alguno de ellos posee también movimiento articular de abajo a
arriba.
Referencias: La idea del proyecto vino gracias al proyecto de Ben Heckendorn pero principalmente
hemos tomado la idea del proyecto de Adafruit, en el que realizan un rail motorizado
y controlado con una App vía bluetooth.
6
Subsistemas: -Motores paso a paso:
Los motores paso a paso son motores que se caracterizan por su precisión. Estos
contienen unas bobinas en su interior que hacen rotar el eje cuando reciben un impulso
eléctrico. Se dividen en Unipolares y Bipolares dependiendo del número y tipo de
bobinas que poseen. Aquí puedes encontrar más información sobre los motores.
Vamos a usar motores paso a paso Nema17, Este motor tiene que dar 200 pasos
para completar una vuelta de 360º. Aunque este número de pasos puede variar en el
código dependiendo del controlador usado, ya que estos pueden tener más definición
que los motores en sí.
-Control: Cada vez que aplicamos tensión sobre el motor, este da un paso, por ellos
debemos crear una estructura for por ejemplo, para que de el número de pasos que
queremos. Podemos controlar la velocidad de este variando el tiempo de espera entre
cada paso. Un código de prueba para el motor podría ser:
Declaración de variables;
Hemos declarado seis variables.
➢ El driver nos da dos pines de
salida, el “dirPin”, que controla
la dirección y el “stepPin” que
hace que funcione.
➢ Posición y pasos por vuelta
➢ Velocidad de pausa
➢ Variable almacenada para la
posición
Setup:
Declaramos como salida “dirPin” y
“stepPin” y también los apagamos
para poder operar con ellos después.
Guardamos el valor de la posición
7
como 1
Void Loop:
Queremos hacer que nuestro motor
avance del inicio hasta el final y
viceversa continuamente. Para ello
hacemos uso de una estructura if -
else if. Si la posición es 1 (en un
extremo) ponemos la dirección en un
sentido, y si está en el otro extremo
(200) la ponemos en el otro sentido.
Seguidamente hacemos que el
motor de un paso aplicando tensión y
actualizamos la posición del motor.
Esta es la manera más sencilla de controlar motores bipolares, ya que no hace falta
librería. Si tuviésemos que manejar un motor unipolar, ya si sería más necesario el uso
de la librería stepper.h (aunque esta en muchos casos no funciona correctamente). Sus
principales funciones son.
Esta función se usa para declarar los datos necesarios para el funcionamiento. Steps: Número de pasos por revolución pinX: Pines necesarios. (2 - bipolar)(4 - unipolar)
Para especificar la velocidad a la que quieres que vayan los motores.
El número de pasos que quieres que de el motor. Puede ser positivo o negativo (dependiendo del sentido de giro).
8
-Driver Motores:
Para controlar el motor vamos a necesitar un controlador de motores paso paso.
Utilizaremos el A4988 el cual nos permite una conexión más simple para los motores
además de poder alimentarlos de manera externa. Este driver permite de 8 a 35 voltios
de entrada.
-La conexión de los motores y del driver a Arduino será:
El driver no afecta en la parte del software salvo en el número de pasos por vuelta.
Este driver dará 8 micropasos por cada paso del motor, por lo tanto debemos de dar
1600 pasos (8 x 200 pasos/rev.) para que el motor gire una vuelta completa.
En este vídeo podemos ver una explicación detallada de su uso.
9
-App inventor:
App inventor es un software libre que sirve para crear aplicaciones en los dispositivos
android: (smartphones),
Nosotros lo vamos a utilizar para controlar los motores paso a paso. Tendrá varios
modos de control diferentes, como por ejemplo:
➢ control básico: (posiciones arriba-abajo, derecha-izquierda)
➢ control complejo: (crearemos tres fases de posicionamiento con
controles rigurosos)
El funcionamiento se subdivide en tres partes principales: Bluetooh, Slider y Botón.
➢ Bluetooth: Conexión que facilita las comunicaciones entre equipos, elimina cables
y conectores y ofrece la posibilidad de crear pequeñas redes inalámbricas y
facilitar la sincronización de datos.
Para conectarlo a nuestro Arduino hemos de colocar un módulo bluetooth
HC06.
App inventor se vincula con el módulo HC06 y actúa enviándole señales.
El server debe iniciarse primero en el dispositivo, luego ha de conectarse client
antes de que se mande información.
Para controlar nuestra App usaremos client y la información será recibida por
HC06 (server) como hemos explicado antes.
Una función importante es el Listpicker; almacena listas de conexiones y al
pulsarlo nos las muestra. Almacenará los dispositivos bluetooth con los que
podemos conectar.
10
Bloques App inventor:
● Para conectarse por Bluetooth primero debemos abrir la lista de
conexiones y después de haber seleccionado una, efectuar la vinculación
● Para que el dispositivo reciba la información que le queremos enviar vía
bluetooth, un código simple es este (únicamente al pulsar un botón, le
envíamos al módulo bluetooth una letra y al volverlo a pulsar otra):
11
➢ Slider: Un slider es un elemento de interfaz gráfica que permite seleccionar un
valor moviendo un indicador. Hemos de configurarlo de tal manera que le
pongamos dos valores límites, uno máximo y uno mínimo que delimiten el uso de
nuestro slider para que manejemos la posición de nuestra cámara
En nuestro proyecto necesitaremos mandar el valor del Slider a través del
Bluetooth, para ello podemos usar por ejemplo este pieza de código.
Cuando la posición al slider cambie, enviaremos vía Bluetooth la posición de
este.
-Arduino:
Para la programación de arduino, nos enfrentamos a un problema principal, la posición
de la cámara. Ya que cada vez que iniciamos el sistema debemos hacer correr un
programa que posicione la cámara, de esta manera la posición y el Arduino ya
estarán coordinadas. Otra manera sería usar la memoria EEPROM de Arduino,
guardando así de forma permanente el valor de una variable. Aquí puedes encontrar
como usar la memoria EEPROM de Arduino. En nuestro caso usaremos un sensor de
final de carrera que nos indicará cuando la cámara ha llegado al final del raíl.
Para hacer mover a la cámara simplemente usaremos un código similar al explicado
antes con los motores paso a paso.
Por último, para recibir información a través de Bluetooth, simplemente usaremos la
comunicación serial como si estuviese conectado a un ordenador por cable. Aquí,
puedes encontrar como usar este tipo de comunicación.
12
Materiales y presupuesto: -Coste nuestro
Donación: 100 €
13
-Coste total
14