Guion Arduino Matlab

download Guion Arduino Matlab

of 15

  • date post

    16-Feb-2018
  • Category

    Documents

  • view

    218
  • download

    0

Embed Size (px)

Transcript of Guion Arduino Matlab

  • 7/23/2019 Guion Arduino Matlab

    1/15

    MATLAB: Computacin FsicaPrctica 3 Guin 4

    Informtica Aplicada a la Biologa

    Dpto. Ciencias de la Computacin e Inteligencia Artificial

    E.T.S. de Ingenieras Informtica y de TelecomunicacinUniversidad de Granada

  • 7/23/2019 Guion Arduino Matlab

    2/15

    2 MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR

    1. Introduccin ................................................................................................... 31.1. Conociendo Arduino ................................................................................ 3

    2. Primeros pasos en computacin fsica .......................................................... 73. Percibiendo el mundo exterior .................................................................... 104. Ejercicios ...................................................................................................... 13

    4.1. Qu hemos aprendido? ........................................................................ 14

  • 7/23/2019 Guion Arduino Matlab

    3/15

    MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR 3

    1. Introduccin

    En esta cuarta prctica con MATLAB nuestro objetivo es que veis como la programacinde ordenadores se utiliza en el mundo real. Cmo se programa un frigorfico, una farola oun semforo. Es lo que se conoce como computacin fsica: el uso de los ordenares para

    aplicaciones tangibles.

    Es esta prctica utilizaremos un sistema de computacin fsica que se conoce comoArduino. Es un dispositivo que nos va a permitir transformar las rdenes que demos enMatlab en seales elctricas que puedan entender los dispositivos electrnicos.

    Una vez que hayis realizado la prctica deberais comprender como se puede utilizar laprogramacin para crear todo tipo de mquinas inteligentes: Desde una alarma anti-incendios hasta un coche.

    1.1. Conociendo Arduino

    Vamos a comenzar conociendo un poco mejor el sistema con el que vamos a trabajar.Arduino es una plataforma de hardware libre, que permite transformar las rdenes dadasa un ordenador en acciones fsicas: encendido de luces, movimiento de motores

    Para ellos Arduino utiliza un microcontrolador y un conjunto de circuitos que transmitenlos impulsos elctricos. Arduino est diseado para facilitar el uso de la electrnica enproyectos multidisciplinares ya sean artsticos o cientficos.

    La placa Arduino con la que vamos a trabajar.

    Arduino

  • 7/23/2019 Guion Arduino Matlab

    4/15

    4 MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR

    Aunque Arduino puede parecer al principio un sistema bastante complicado no ospreocupis. Est diseado para ser utilizado por personas sin la menor formacincientfica o tcnica e incluso por nios (siempre que tengan ms de doce aos)

    Vamos a comenzar viendo cuales son los principales componentes de Arduino. Para elloes recomendable que os fijis en la siguiente figura, en ella se indican la finalidad de las

    distintas partes de Arduino.

    1 Toma de corriente:Sirve paraque Arduino pueda funcionar sin estarconectado a un ordenador

    2 Conexin USB:Permite conectarun ordenador y transmitir informacinentre el ordenador y Arduino.

    6 Pines digitales: Permiten aArduino transmitir rdenes amquinas electrnicas

    7 Luz de encendido: Se enciendecuando Arduino est funcionando.

    8 Botn de reset: Se utiliza cuandoqueremos resetear el Arduino.

    10 Pines analgicos y depotencia: Se utiliza para recibirinformacin y suministrar energa alas mquinas que estemoscontrolando

    Es importante que os fijis en la numeracin de los pines de salida, 6, y de entrada, 10.Cuando queramos dar rdenes o recibir informacin necesitaremos especificar qu pin

    vamos a usar.

    A la derecha del Arduino tenemos un conjunto de circuitos en una placa de pruebas.Aunque no es necesario comprender como funcionan estos circuitos s es interesantetener una breve nocin de cmo funcionan las placas de pruebas.

    Sparkfun Inventor Kit Guide

  • 7/23/2019 Guion Arduino Matlab

    5/15

    MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR 5

    Placa de pruebas con la que vamos a trabajar

    En una placa de pruebas tenemos un conjunto de pines en los que podemos colocardistintos dispositivos electrnicos. Los pines conectados entre s. Si miris la figura la

    zona 1 est conecta de manera vertical, todos los pines en la misma columna estnconectados. En la zona 2 los pines estn conectados de manera horizontal. Todos lospines en la misma fila estn conectados.

    Para comenzar lo ms importante es la conexin USB, es la que nos permite conectarArduino al ordenador. Deberais tener una plataforma Arduino completa y un cable USB.Lo primero que tendris que hacer es conectar Arduino al ordenador usando el cableUSB. Para ello deberis seguir las instrucciones que os de vuestro profesor deprcticas.

    Sparkfun

    InventorKitGuide

  • 7/23/2019 Guion Arduino Matlab

    6/15

    6 MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR

    Como conectar el Arduino al ordenador.

    Una vez que hayis conectado e instalado Arduino pedidle a vuestro profesor de prcticasque compruebe si todos los cables estn correctamente conectados. Una vez que l os deel visto bueno podris empezar con la prctica propiamente dicha.

    Lo primero que tendremos que hacer es conectar Matlab al Arduino. Para ellonecesitaremos conocer el puerto COM al que est conectado Arduino (deberais tenerloapuntado) El comando que tenis que escribir en Matlab es:

    >> mi_arduino = arduino(COM3);

    Attempting connection .......

    Basic I/O Script detected !

    Arduino successfully connected !

    Fjate que hemos llamado a nuestro arduino mi_arduino,a partir de ahora siempreque nos refiramos a l tendremos que utilizar ese nombre. Una vez que nos hayamosconectado a Arduino, podremos empezar a trabajar.

    SparkfunInventorKitGuide

  • 7/23/2019 Guion Arduino Matlab

    7/15

    MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR 7

    2. Primeros pasos en computacin fsica

    Nota: Debes haber activado el diary de Matlab usando el comandodiary(Arduino.txt)

    Una vez que ya habis instalado Arduino y habis comprobado que todas las conexionesson correctas podemos empezar a realizar programas que tendrn consecuenciastangibles. Comenzaremos con algo sencillo, encenderemos y apagaremos algunos leds.

    Para ello tenemos instalados en la placa de pruebas cinco leds de color rojo o amarillo.Estos leds son como los de la figura y se van a encender y apagar segn los comandosque indiquemos.

    Leds rojos y amarillos que vamos a utilizar en esta prctica.

    Qu es un LED?

    Se trata de una revolucionaria fuente lumnica de gran eficiencia, larga vida yun consumo energtico mucho ms reducido que el de las fuentestradicionales, como la bombilla incandescente. Considerada la iluminacindel futuro, los LED tienen un enorme potencial en zonas subdesarrolladas, alas que no llega el suministro elctrico.

    Aunque los primeros Leds se crearon en los aos 1960 es un cientficojapons, Shuji Nakamura, el descubridor del proceso que ha permitidofabricar todo tipo de leds de una manera fcil y barata. Shuji Nakamuratrabajaba en una pequea empresa de iluminacin japonesa cuando se leocurri la idea que permitira fabricar leds. A pesar de no tener una granformacin cientfica y de que la empresa no le permiti trabajar en su idea,

    despus de cinco aos de duro trabajo consigui revolucionar el mundo de lailuminacin.

  • 7/23/2019 Guion Arduino Matlab

    8/15

    8 MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR

    Para indicarle a un led que se encienda debemosfijarnos cual es el pin digital del arduino al que estconectado. Podis verlo en el siguiente diagrama,auque es mejor que lo miris directamente en laplaca que se os ha dado. Seguramente vuestros ledsestn conectados a los pines 9, 10, 11, 12 y 13.

    Esquema del circuito con el que estamos trabajando

    Una vez que ya hemos identificado los pines a los que estn conectados podemoscomenzar a encender y apagar leds.

    Para encender el led conectado al pin 11 el comando sera:

    >> enciende_led(mi_arduino,11);

    Para encender los leds conectados a los pins 9,10 y 12 sera:

    >> enciende_led(mi_arduino,[9 10 12]);

    Os tenis que fijar en el pin del

    Arduino (de color azul), los nmeros

    que aparecen en la placa de pruebas

    (de color rojo) no son importantes.

  • 7/23/2019 Guion Arduino Matlab

    9/15

    MATLAB: Computacin fsica Informtica Aplicada a la Biologa DECSAI UGR 9

    Para apagar el led conectado al pin 9 el comando sera:

    >> apaga_led(mi_arduino,9);

    Para apagar el led conectado a los pins 11, 12 y 13 el comando sera:

    >> apaga_led(mi_arduino,11:13);

    Al menos uno de los leds esta conectado a Arduino mediante un cable largo. Desconectaese cable del Arduino e intenta encender el led. Qu pasa? Escrbelo en la ventana decomandos de Matlab como un comentario.

    Ahora tienes que copiar el cdigo de la siguiente funcin en Matlab y guardarlo. Qu eslo que hace?

    functiondestellos (ard,num)%Funcin destellos. Descripcin de la funcin%Argumento de entrada

    %ard: Arduino conectado%num:

    pinLed1 = 13;pinLed2 = 9;

    forcont = 1:numapaga_led(ard,pinLed1);enciende_led(ard,pinLed2);pause(1); %Para la ejecucin un segundoenciende_led(ard,pinLed1);apaga_led(ard,pinLed2);pause(1); %Para la ejecucin un segundo

    end

    apaga_led(ard,pinLed1);apaga_led(ard,pinLed2);

    end

    Para ejecutarlo debers usar un comando similar al siguiente:

    >> destellos(mi_a