Elaborado por Esteban Agüero21/04/23 1
Computación física conArduino y Firefly
Esteban Agüero (Valparaíso, Abril 2014)
Ejercicio 3: Control de servomotorTaller de Métodos Computacionales en Arquitectura — ARQ331
Elaborado por Esteban Agüero21/04/23 2
Sweep
En este ejercicio haremos mover de un lado a otro el eje del
servomotor.
Basado en los ejercicios publicados en:
BANZI, M. 2009. Getting started with Arduino, Sebastopol, USA,
O’Reilly Media / Make.
JONHSON, J. K.; PAYNE, A. 2011. Firefly Primer - Version 1.006.
[Online] Available in http://fireflyexperiments.com
Elaborado por Esteban Agüero21/04/23 3
Arduino UNO1x
Servomotor1x
Cables3x
Breadboard1x
Componentes
Para este ejercicio necesitarás:
Elaborado por Esteban Agüero21/04/23 4
EsquemaSi no hay punto de unión
significa que no hay
conexión.
Símbolo Servomotor.
Elaborado por Esteban Agüero21/04/23 5
Servomotor
Es un dispositivo similar a un motor
de corriente continua (convierte
la energía eléctrica en mecánica,
provocando un movimiento rotatorio
y un momento o torque) que tiene la
capacidad de ser controlado tanto
en velocidad como en posición.
Fuente: http://es.wikipedia.org/wiki/Servomotor
Elaborado por Esteban Agüero21/04/23 6
ServomotorEn su interior tiene un motor (A) con
engranajes (B) y un potenciómetro
(C).
Los engranajes se encargan de
reducir la velocidad y aumentar el
torque.
El potenciómetro es una resistencia
variable que permite al circuito
supervisar el ángulo actual del
servomotor.
Fuente:http://www2.elo.utfsm.cl/~mineducagv/docs/ListaDetalladadeMo
dulos/servos.pdf
A
B
C
Elaborado por Esteban Agüero21/04/23 7
Servomotor
Posee tres terminales que se
identifican con colores distintos
según el fabricante.
El terminal de alimentación (+) se conecta al pin 5V de Arduino.
El terminal de tierra (-) se conecta al pin GND de Arduino.
El terminal de señal se conecta al pin de entrada.
Fuente: http://www.arduteka.com/2011/12/componentes-el-servomotor/
Elaborado por Esteban Agüero21/04/23 8
Servomotor
Es posible calibrar el punto de detención
girando la perilla de control en la base
del servomotor.
Elaborado por Esteban Agüero21/04/23 9
Servo motor
Datasheet:http://www.parallax.com/sites/default/files/downloads/900-00008-
Continuous-Rotation-Servo-Documentation-v2.2.pdf
Más recursos:http://learn.parallax.com/KickStart/900-00008
Elaborado por Esteban Agüero21/04/23 10
Montaje
1.
Conectar los terminales del servo
motor según el esquema.
Elaborado por Esteban Agüero21/04/23 11
Implementación
2.3.
Con el cable USB conecta Arduino al
computador
Para controlar Arduino desde Firefly, es
necesario cargar el Firmata mediante el
entorno Arduino IDE.
Elaborado por Esteban Agüero21/04/23 12
3.1.3.1.
Abre el entorno de programación Arduino
IDE.
En “Barra de herramientas” pulsa “Archivo >
Sketchbook” y selecciona “Firefly_Firmata”
Elaborado por Esteban Agüero21/04/23 13
3.2.3.3.
En “Barra de herramientas” pulsa
“Herramientas>Tarjeta” y selecciona
“Arduino UNO”
En “Barra de herramientas” pulsa
“Herramientas>Puerto Serial” y selecciona
el “Puerto COM” más alto disponible.
Elaborado por Esteban Agüero
En la barra de íconos
superior están dos de las
acciones más recurrentes:
Verificar
Cargar
21/04/23 14
3.4.
Carga el programa.
Pulsa “Verificar” y “Cargar”
Elaborado por Esteban Agüero21/04/23 15
4. Iniciar Grasshopper, tipeando el nombre de
esta aplicación en la “Barra de comandos”
de Rhinoceros®.
Elaborado por Esteban Agüero21/04/23 16
5.
Arrastra el componente Open Port
(Firefly/Arduino & I/O Boards/Open
Port) al área de trabajo.
Copia la programación en
el área de trabajo de
Grasshopper.
Elaborado por Esteban Agüero21/04/23 17
Arrastra el componente COM Ports
Available (Firefly/Arduino & I/O
Boards/COM Ports Available) al área de
trabajo.
Elaborado por Esteban Agüero21/04/23 18
Arrastra el componente Fader Two
Way (Firefly/Utility/Fader Two Way) al
área de trabajo.
Elaborado por Esteban Agüero21/04/23 19
Arrastra Integer
(Params/Primitive/Integer) al área de
trabajo.
Elaborado por Esteban Agüero21/04/23 20
Haz click derecho en cada
componente Integer, pulsa Set
Integer y establece el valor indicado
en la imagen.
Elaborado por Esteban Agüero21/04/23 21
Usando Panel escribe el intervalo en
milisegundos que describe el tiempo
para incrementar de 0 a 180 y
viceversa.
Elaborado por Esteban Agüero21/04/23 22
Haz click derecho en Panel y
selecciona la opción Multiline Data.
Elaborado por Esteban Agüero21/04/23 23
Arrastra Timer (Params/Util/Timer) al
área de trabajo.
Elaborado por Esteban Agüero21/04/23 24
Haz click derecho en Timer y
establece el intervalo en 20 ms.
Elaborado por Esteban Agüero21/04/23 25
Arrastra el componente Uno Write
(Firefly/ Arduino & I/O Boards/Uno
Write) al área de trabajo.
Elaborado por Esteban Agüero21/04/23 26
Arrastra Boolean Toggle
(Params/Input/ Boolean Toggle) al
área de trabajo.
Elaborado por Esteban Agüero21/04/23 27
5.¡Prueba! Prueba el programa
reemplazando el valor
False por True en cada
componente Conmutador
(Toggle, en inglés).
Elaborado por Esteban Agüero21/04/23 28
1.
2.
Implementación en Arduino
Abre el entorno de programación Arduino
IDE.
En “Barra de herramientas” pulsa
“Archivo>Ejemplos>Servo” y selecciona
“Sweep”.
Elaborado por Esteban Agüero21/04/23 29
3.¡Prueba!
Carga el programa. Para ello en la barra
superior pulsa “Verificar” y “Cargar”.
Elaborado por Esteban Agüero21/04/23 30
Contacto
Luis Felipe González BöhmeProfesor instructorUniversidad Técnica Federico Santa MaríaDepartamento de Arquitectura
Teléfono: 56 (0)32 2654773Fax: 56 (0)32
2654108Email: [email protected]: www.arq.utfsm.clDirección: Avda. España 1680Casilla: 110-VCódigo postal: 2390123 Valparaíso - Chile
Esteban Agü[email protected]
Top Related