You are on page 1of 13

PRCTICA 2.

Uso de Scilab y Arduino para la captura de

seales del mundo real.

OBJETIVO ESPECFICO
El estudiante desarrollar competencias en:
o

Uso de Scilab y Xcos de la plataforma Arduino para realizar adquisicin de seales de


distintas variables fsicas.

Acondicionamiento de seales.

FUNDAMENTOS
Arduino es una de las herramientas de implementacin de hardware ms utilizada en el mundo
hoy da. Es una plataforma de hardware de cdigo abierto, basada en una sencilla placa con
entradas y salidas, analgicas y digitales, en un entorno de desarrollo que est basado en el
lenguaje de programacin Processing. Es un dispositivo que conecta el mundo fsico con el mundo
virtual, o el mundo analgico con el digital.
Se ha desarrollado un bloque en Xcos para el control y configuracin del Arduino sin la necesidad
de escribir el respectivo sketch en el IDE. Para acceder a este bloque visitar a :
http://atoms.scilab.org/toolboxes/arduino
Una herramienta muy interesante que tienen las nuevas versiones de Scilab es el buscador e
instalador de mdulos adicionales a los que trae el programa por defecto. Estos mdulos
adicionales son paquetes que uno puede agregar a medida que los necesita. Para instalar el

17

mdulo que nos interesa en este caso iremos a la pestaa Aplicaciones del men principal y all se
selecciona Administrador de Modulos-ATOMS. Ver Figura.

Figura 21 Administrador de Mdulos - Atoms

Una vez que ejecutamos el administrador de mdulos ATOMS, se abre una ventana donde se
listan las distintas clases de aplicaciones disponibles. Navegando en las Categoras Principales
abrimos la carpeta Instruments Control.

18

Figura 22 Mdulo Instruments Control

Llegamos al Mdulo Arduino, lo seleccionamos e instalamos haciendo click en el botn


correspondiente. Al final es requerido reiniciar el Scilab.

19

Figura 23 Mdulo Arduino

A partir de ahora, cuando abrimos el Explorador de paletas aparecer una carpeta nueva
denominada Arduino con diferentes opciones de bloques:

Configuration. Para ajustar las caractersticas bsicas de la tarjeta Arduino.

Digital. Para escribir y leer seales digitales por los puertos correspondientes, y lectura de
encoders.

Analog. Que permite escribir y leer seales analgicas.

Motors. Con bloques para el control de motores de CC y paso a paso, y servos.

20

Figura 24 Paleta con los bloques de Arduino

Ahora bien, para que la tarjeta Arduino pueda comunicarse con la PC a travs de un puerto COM
VIRTUAL, es necesario instalar en la memoria del Arduino un programa que implemente esta
comunicacin. Para ello se descarga el sketch toolbox_arduino_v2.ino. Este puede descargarse de
la pgina:
https://atoms.scilab.org/toolboxes/arduino
seleccionando el archivo comprimido correspondiente a la versin del sistema operativo de que se
disponga. Existe una versin reciente toolbox_arduino_v3.ino que est en fase de prueba y que
est disponible en:
http://www.demosciences.fr/projets/scilab-arduino

21

DESARROLLO

Equipamiento.

Computadora personal con Scilab-Xcos.

Tarjeta Arduino.

Placa de interconexin para prototipos

Potencimetro.

LDR (Resistor sensible a la luz)

Procedimiento.
Construya un programa en Xcos como se muestra en la figura.

Figura 25 Programa en Xcos de lectura de seales analgicas con Arduino

Notar que en los bloques de configuracin del Arduino se han introducido

los siguientes

parmetros:
Card number: 1. Por defecto aparece el valor de uno. Esta opcin es til cuando se conecta ms de
una tarjeta Arduino al PC. Este nmero identificar la tarjeta entre las dems.
22

Com Port: 3. Este valor se debe tomar del IDE de Arduino. Cuando uno conecta la tarjeta al puerto
USB del PC, el sistema operativo asigna un puerto COM virtual para llevar a cabo la comunicacin.
Esta asignacin es variable cada vez que se conecta la tarjeta. Tambin es posible identificar el
nmero de puerto asignado abriendo el Explorador de dispositivos de Windows para verificarlo.
Analog read pin: 0. Designa el pin sobre el que se har la lectura de los datos en la tarjeta. En el
Arduino Uno existen 6 pines de entrada analgica, de A0 a A5, por tanto el rango de este valor ir
de 0 a 5.
Sampling Period: 0.1. Asigna el perodo de muestreo en el convertidor analgico-digital en la
tarjeta Arduino.
Duration: 10. Dispone el tiempo en segundos que durar el intercambio de datos entre la
computadora y la tarjeta.
Para tener acceso a introducir los datos anteriores basta hacer doble click sobre los bloques
indicados.
Conecte el potencimetro a la tarjeta Arduino como se muestra en la figura.

23

Diagrama 2.1 Circuito para lectura analgica con Arduino y potencimetro

Encienda la simulacin y mueva el potencimetro en ambos sentidos. Observe la grfica que


entrega la simulacin.

24

Figura 26 Seal leda por el terminal A0 con potencimetro

El convertidor AD del Arduino es de 10 bits, y ya que la entrada de los puertos analgicos aceptan
tensiones en un rango de 0 a 5V, la grfica de la adquisicin de seal muestra variaciones que
oscilan en el intervalo de entre 0 y 1023.
Ahora conecte el LDR al puerto A0 de entrada analgica del Arduino como se muestra en el
diagrama.

25

Diagrama 2.2 Diagrama de lectura analgica con Arduino y LDR

Inicie la simulacin y con la mano tape y destape gradualmente la entrada de luz sobre l. Observe
la grfica resultante. En este caso es ms evidente el lmite de la conversin AD.

26

Figura 27 Seal leda en el terminal A0 con LDR

La resistencia y el LDR forman un divisor de tensin. Al variar la luz que incide sobre la regin
sensible del LDR el valor de su resistencia cambia provocando desviaciones en la tensin que se
aplica a la entrada A0.
Construya el programa en Xcos que se ilustra.

Figura 28 Programa Xcos para la escritura de seal analgica

Arme el circuito mostrado agregando un LED con una resistencia de limitacin de corriente al pin
digital 10 (PWM~). Este pin es una salida digital (estado bajo=0V, estado alto=5V) que puede
funcionar como una salida analgica de PWM. Por programacin es posible modificar el ciclo de
trabajo de la seal pulsante de la salida y con ello variar su valor medio. Estas variaciones las
27

apreciaremos visualmente observando los cambios en la intensidad de brillo del LED. Un valor de
cero aplicado al bloque Analog Write corresponde a 0% y 255 al 100% del ciclo de trabajo. Para
adecuar el rango dinmico de la seal leda en el ADC con la seal de control de PWM insertamos
un bloque multiplicador con un factor de 256/1024.

Diagrama 2.3 Circuito para lectura y escritura analgica con Arduino

Empiece la simulacin y vare la entrada de luz al LDR tapando y destapando con la mano
gradualmente. Observe la intensidad del brillo del LED.

SUGERENCIAS DE DISCUSIN

28

Cules son las caractersticas que deben tener las seales elctricas para que puedan
aplicarse convenientemente al Arduino?

Qu otro tipo de elementos transductores podran conectarse al Arduino y bajo qu


condiciones?

Qu limitaciones prcticas tienen las salidas analgicas del Arduino?

RESULTADOS

Realiza un reporte de la experiencia. Comparte tus conclusiones.

29

You might also like