digi miercloes

Upload: pedro-aqp

Post on 26-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Digi Miercloes

    1/14

    NDICE DE CONTENIDO

    NDICE DE CONTENIDO......................................................................................1

    COMPUTACIN FSICA.......................................................................................2

    Modulacin por ancho de pulsos......................................................................2

    Counicacin serial..........................................................................................2

    Arduino..............................................................................................................2

    Pro!raacin...................................................................................................."

    #$N%UA&$ '$ P(O%(AMACIN......................................................................)

    Cuerpo de un pro!raa en Arduino..................................................................)$s*ruc*uras........................................................................................................)

    +aria,les............................................................................................................)

    Operadores ,ooleanos......................................................................................-

    Operadores a*e*icos..................................................................................-

    $s*ruc*uras de con*rol.......................................................................................-

    Condicionales....................................................................................................-

    Funciones........................................................................................................../

    Funciones di!i*al.............................................................................................../Funciones anlo!a............................................................................................/

    A('UINO............................................................................................................../

    $0pandir Arduino con los shields......................................................................

    $n*radas salidas3............................................................................................4

    Pines especiales de en*rada salida3...............................................................4

    Alien*acin de un Arduino..............................................................................4

    Terinales 'i!i*ales........................................................................................15

    Pines Anal!icos.............................................................................................11

    Pines de alien*acin.....................................................................................11

    INSTA#AN'O '(I+$(S....................................................................................12

    Pasos...............................................................................................................12

    Conociendo el so6*7are Arduino.....................................................................1"

  • 7/25/2019 Digi Miercloes

    2/14

    COMPUTACIN FSICA

    La Computacin fsica, significa la construccin de sistemas interactivos fsicos

    mediante el uso de software y ardware !ue pueden sentir y responder al mundo

    analgico" #i $ien esta definicin es suficientemente amplia para a$arcar aspectos comolos sistemas inteligentes de control de tr%fico de automviles o los procesos de

    automati&acin de f%$ricas, en un sentido m%s amplio, la computacin fsica es un

    marco creativo para la comprensin de la relacin de los seres umanos en el mundo

    digital" En la pr%ctica, a menudo el t'rmino descri$e el arte eco a mano, dise(o de

    proyectos DI) o pasatiempos !ue utili&an sensores y microcontroladores para traducir

    entradas analgicas a sistemas $asados en software, y*o controlar dispositivos

    electromec%nicos como motores, servos, iluminacin u otro ardware"

    El prototipado +crear montaes r%pidos con ayuda de una proto$oard y componentes

    $%sicos de electrnica- uega un papel importante en la computacin fsica".erramientas como /rduino y 0rit&ing son 1tiles para dise(adores, artistas, estudiantes

    y entusiastas por!ue ayudan a ela$orar prototipos r%pidamente"

    Modulacin por ancho de pulsos

    La modulacin por anco de pulsos +tam$i'n conocida como 234, siglas en ingl's de

    pulse5widt modulation- de una se(al o fuente de energa es una t'cnica en la !ue se

    modifica el ciclo de tra$ao de una se(al peridica +una senoidal o una cuadrada, por

    eemplo-, ya sea para transmitir informacin a trav's de un canal de comunicaciones o

    para controlar la cantidad de energa !ue se enva a una carga"2or eemplo si le aplicamos 234 a un LED podemos variar su intensidad de $rillo y

    sile aplicamos un 234 a un motor DC logramos variar la velocidad del mismo con la

    caracterstica de mantener su par +fuer&a- constante"

    Comunicacin serial

    Es una interfa& de comunicaciones de datos digitales, frecuentemente utili&ada por

    computadores y perif'ricos, donde la informacin es transmitida $it a $it enviando un

    solo $it a la ve&" 6no de sus usos es monitorear a trav's de la pantalla del computador el

    estado del perif'rico conectado, por eemplo al pulsar la letra / en el teclado se de$eencender un LED conectado de manera remota al computador"

    Arduino

    /rduino es una placa con un microcontrolador de la marca /tmel y con toda la

    circuitera de soporte, !ue incluye, reguladores de tensin, un puerto 6#7 +En los

    1ltimos modelos, aun!ue el original utili&a$a un puerto serie- conectado a un mdulo

    adaptador 6#75#erie !ue permite programar el microcontrolador desde cual!uier 2C de

    manera cmoda y tam$i'n acer prue$as de comunicacin con el propio cip" La tareta

    /rduino, contiene para interaccin con el usuario trece entradas*salidas digitales, seisentradas analgicas y un puerto serial !ue permite reali&ar comunicacin con perif'rico,

    2

  • 7/25/2019 Digi Miercloes

    3/14

    adem%s de un puerto serial una cone8in 6#7, en la figura podemos o$servar la

    locali&acin de las entradas analgicas y digitales como los pines de alimentacin"

    Tam$i'n tiene un pulsador para resetear cual!uier fallo !ue e8ista en los procesos !ue se

    vayan a reali&a con la tareta

    6n arduino dispone de 9: pines !ue pueden configurarse como entrada o salida y a los

    !ue puede conectarse cual!uier dispositivo !ue sea capa& de transmitir o reci$ir se(ales

    digitales de ; y < ="

    Tam$i'n dispone de entradas y salidas analgicas" 4ediante las entradas analgicas

    podemos o$tener datos de sensores en forma de variaciones continuas de un voltae" Las

    salidas analgicas suelen utili&arse para enviar se(ales de control en forma de se(ales

    234"

    /rduino es una plataforma de electrnica a$ierta para la creacin de prototipos $asadaen software y ardware li$re, fle8i$le y f%cil de usar" #e cre para artistas, dise(adores,

    aficionados y cual!uier interesado en crear entornos u o$etos interactivos"

    /rduino puede tomar informacin del entorno a trav's de sus pines de entrada, para esto

    toda una gama de sensores puede ser usada y puede afectar a!uello !ue le rodea

    controlando luces, motores y otros actuadores"

    El microcontrolador en la placa /rduino se programa mediante el lenguae de

    programacin /rduino +$asado en 3iring- y el entorno de desarrollo /rduino +$asado

    en 2rocessing-" Los proyectos ecos con /rduino pueden eecutarse sin necesidad de

    conectarlo a un ordenador, si $ien tienen la posi$ilidad de acerlo y comunicar condiferentes tipos de software +p"e" 0las, 2rocessing, 4a84#2-" Las placas pueden ser

    ecas a mano o comprarse montadas de f%$rica> el software puede ser descargado de

    forma gratuita" Los ficeros de dise(o de referencia +C/D- est%n disponi$les $ao una

    licencia a$ierta, as pues eres li$re de adaptarlos a tus necesidades"

    Programacin

    La programacin es un gran recurso !ue nos permite crear diversas secuencias de pasos

    lgicos !ue van a satisfacer nuestras necesidades y las de nuestros sistemas" 2rogramar

    es todo un arte !ue re!uiere de una gran a$ilidad lgica y concentracin por parte del

    programador"

    Es el proceso de dise(ar, escri$ir, pro$ar, depurar y mantener el cdigo fuente de

    programas computacionales" El cdigo fuente es escrito en un lenguae de

    programacin" El propsito de la programacin es crear programas !ue e8i$an un

    comportamiento deseado"

    El proceso de escri$ir cdigo re!uiere frecuentemente conocimientos en varias %reas

    distintas, adem%s del dominio del lenguae a utili&ar, algoritmos especiali&ados y lgica

    formal" 2rogramar involucra %reas como el an%lisis y dise(o de la aplicacin"

    "

  • 7/25/2019 Digi Miercloes

    4/14

    2ara crear un programa !ue el computador interprete y eecute las instrucciones escritas

    en 'l, de$e usarse un Lenguae de programacin" En sus inicios los computadores

    interpreta$an slo instrucciones en un lenguae especfico, del m%s $ao nivel conocido

    como cdigo m%!uina, siendo 'ste e8cesivamente complicado para programar" De

    eco slo consiste en cadenas de n1meros 9 y ; +#istema $inario-"

    2ara facilitar el tra$ao de programacin, los primeros cientficos !ue tra$aa$an en el

    %rea decidieron reempla&ar las instrucciones, secuencias de unos y ceros, por pala$ras o

    letras provenientes del ingl's, codific%ndolas as y creando un lenguae de mayor nivel,

    !ue se conoce como /ssem$ly o lenguae ensam$lador" 2or eemplo, para sumar se usa

    la letra / de la pala$ra inglesa add +sumar-" En realidad escri$ir en lenguae

    ensam$lador es $%sicamente lo mismo !ue acerlo en lenguae m%!uina, pero las letras

    y pala$ras son $astante m%s f%ciles de recordar y entender !ue secuencias de n1meros

    $inarios"

    / medida !ue la compleidad de las tareas !ue reali&a$an las computadoras aumenta$a,se i&o necesario disponer de un m'todo sencillo para programar" Entonces, se crearon

    los lenguaes de alto nivel" 4ientras !ue una tarea tan trivial como multiplicar dos

    n1meros puede necesitar un conunto de instrucciones en lenguae ensam$lador, en un

    lenguae de alto nivel $astar% con slo una"

    8

  • 7/25/2019 Digi Miercloes

    5/14

    LN!UA" # P$O!$AMACIN

    6n lenguae de programacin es un idioma artificial dise(ado para e8presar operaciones

    !ue pueden ser llevadas a ca$o por m%!uinas como los computadores"

    2ueden usarse para crear programas !ue controlen el comportamiento fsico y lgico de

    una m%!uina, para e8presar algoritmos con precisin, o como modo de comunicacinumana"

    Est% formado por un conunto de sm$olos y reglas sint%cticas y sem%nticas !ue definen

    su estructura y el significado de sus elementos y e8presiones" /l proceso por el cual se

    escri$e, se prue$a, se depura, se compila y se mantiene el cdigo fuente de un programa

    inform%tico se le llama programacin"

    Cuerpo de un programa en Arduino

    /rduino se programa en el lenguae de alto nivel C*C?? y generalmente tiene los

    siguientes componentes para ela$orar el algoritmo@

    Estructuras

    =aria$les

    Operadores matem%ticos, lgicos y $ooleanos

    Estructuras de control +Condicionales y ciclos-

    0uncione

    s%ruc%uras

    #on dos funciones principales !ue de$e tener todo programa en /rduino@

    setup+-A B

    Cdigo de configuracin inicial, solo se eecuta una ve&"

    loop+-A " B

    Esta funcin se eecuta luego del setup+ -, se mantiene eecut%ndose asta !ue se

    desenergice o desconecte el /rduino"

    &aria'les

    )

  • 7/25/2019 Digi Miercloes

    6/14

    Es un dato o

    conunto de

    datos !uecam$ia su valor con la eecucin del programa"

    Operadores 'ooleanos

    6sados generalmente dentro del condicional If y so$re el 0or y 3ile

    +igual a-

    +diferente de-

    F +menor !ue-

    +mayor !ue-

    F +menor o igual-

    G +mayor o igual-

    Operadores ma%em(%icos #e aplican al maneo de varia$les, condicionales y ciclos

    +asignar-

    H +mdulo-

    ? +suma-

    5 +resta-

    +multiplicacin-

    * +divisin-

    s%ruc%uras de con%rol

    #on instrucciones !ue nos permiten tomar decisiones y acer diversas repeticiones de

    acuerdo a unos par%metros, dentro de las m%s importantes podemos destacar@ If

    -

  • 7/25/2019 Digi Miercloes

    7/14

    #witc*case

    0or

    3ile

    Condicionales

    Ideales para tomar decisiones luego de evaluar las condiciones lgicas@

    Funciones

    6na funcin es un conunto de lneas de cdigo !ue reali&an una tarea especfica y

    puede retornar un valor" Las funciones pueden tomar par%5 metros !ue modifi!uen su

    funcionamiento" Las funciones son utili&adas para descomponer grandes pro$lemas en

    tareas simples y para implementar operaciones !ue son com1nmente utili&adas duranteun programa y de esta manera reducir la cantidad de cdigo"

    Cuando una funcin es invocada se le pasa el control a la misma, una ve& !ue 'sta

    finali& con su tarea el control es devuelto al punto desde el cual la funcin fue llamada"

    Funciones digi%al

    Orientas a revisar el estado y la configuracin de las entradas y salidas digitales

    Funciones an(loga

    Ideales para la lectura y escritura de valores an%logos

    /

  • 7/25/2019 Digi Miercloes

    8/14

    A$#UINO

    Con las capacidades de /rduino solo de$emos tener nociones $%sicas de electrnica y

    programacin, eso es suficiente para comen&ar a desarrollar nuestros proyectos"/rduino cuenta con una gran comunidad donde se comparte todo lo desarrollado y es

    una gran ventana para !ue puedas ver todo lo !ue es posi$le desarrollar"

    El proyecto comen& en Ivrea, Italia +el sitio de la compa(a de computadoras Olivetti-,

    en el a(o J;;< con el fin de crear un dispositivo para estudiantes para el control

    integrado de proyectos de dise(o e interaccin, con la finalidad de !ue fuera m%s $arato

    !ue los sistemas de creacin de prototipos disponi$les en ese entonces" / partir de mayo

    de J;99, m%s de K;;";;; unidades de /rduino an sido distri$uidas" Los fundadores

    4assimo 7an&i y David Cuartielles nom$raron el proyecto como /rduino de Ivrea, un

    protagonista istrico de la ciudad" En primer lugar /rduino es un termino masculinoitaliano, !ue significa gran amigo"

    El proyecto /rduino es un forM +en la ingeniera de software, un forM es un proyecto !ue

    sucede cuando los desarrolladores tienen una copia legal del cdigo fuente y empie&an

    el desarrollo independiente de ella, creando una o$ra distinta de software- de la

    plataforma 3iring de cdigo a$ierto" 3iring fue creado por el artista colom$iano y

    programador .ernando 7arrag%n como una tesis de maestra en el Instituto de dise(o e

    interaccin Ivrea, $ao la supervisin de 4assimo 7an&i y Casey eas" 2or otra parte,

    3iring se $asa en 2rocessing y su entorno de desarrollo integrado creado por Casey

    eas y 7en 0ry" /rduino fue construido en torno al proyecto 3iring de .ernando

    7arrag%n" 3iring fue el proyecto de tesis de .ernando en el Instituto de dise(o e

    interaccin Ivrea" 0ue pensado para ser una versin electrnica de 2rocessing !ue

    utili&a nuestro entorno de programacin y fue modelado para la sinta8is de 2rocessing"

    0ue supervisado por m mismo y 4assimo 7an&i, un fundador de /rduino"

    )pandir Arduino con los shields

    6n #ield o escudo es una placa !ue permite e8pandir funcionalidades a tu /rduino,

    con lo cual puedes conectar motores, o a la red celular, a una red 3i0i, a una red

    Eternet o tener un 42K en el /rduino, entre mucos m%s "

    2laca /rduino 6no y sus partes

  • 7/25/2019 Digi Miercloes

    9/14

    9" Conector 6#7 para el ca$le Tipo /7

    J" 2ulsador de eset

    K" 2ines de E*# digitales y 234

    :" LED verde de placa encendida

  • 7/25/2019 Digi Miercloes

    10/14

    /rduino tam$i'n dispone de pines de entrada analgicos !ue trasladan las se(ales a un

    conversor analgico*digital de 9; $its"

    Pines especiales de en%rada * salida+

    Q y TQ@ #e usan para transmisiones serie de se(ales TTL"

    Interrupciones e8ternas@ Los pines J y K est%n configurados para generar una

    interrupcin en el atmega" Las interrupciones pueden dispararse cuando se

    encuentra un valor $ao en estas entradas y con flancos de su$ida o $aada de la

    entrada"

    234@ /rduino dispone de salidas destinadas a la generacin de se(ales 234

    de asta R $its"

    #2I@ Los pines 9;, 99, 9J y 9K pueden utili&arse para llevar a ca$o

    comunicaciones #2I, !ue permiten trasladar informacin full d1ple8 en un

    entorno 4aestro*Esclavo"

    I2C 2ermite esta$lecer comunicaciones a trav's de un $us" El $us I

    2C

    es un producto de 2illips para intercone8in de sistemas em$e$idos"

    /ctualmente se puede encontrar una gran diversidad de dispositivos !ue utili&an

    esta interfa&, desde pantallas LCD, memorias EE2O4, sensores"""

    Alimen%acin de un Arduino

    2uede alimentarse directamente a trav's del propio ca$le 6#7 o mediante una

    fuente de alimentacin e8terna, como puede ser un pe!ue(o transformador o,

    por eemplo una pila de S="

    Los lmites est%n entre los y los 9J =" Como 1nica restriccin ay !ue sa$er

    !ue si la placa se alimenta con menos de P=, la salida del regulador de tensin a

  • 7/25/2019 Digi Miercloes

    11/14

    Terminales #igi%ales

    Las terminales digitales de una placa /rduino pueden ser utili&adas para entradas o

    salidas de propsito general a trav's de los comandos de programacin pin4ode+-,

    digitalead+-, y digital3rite+-" Cada terminal tiene una resistencia pull5up !ue puede

    activarse o desactivarse utili&ando Digital3rite+- +con un valor de .IV. o LO3,respectivamente- cuando el pin esta configurado como entrada" La corriente m%8ima

    por salida es :; m/"

    #erial@ ; +Q- y 9 +TQ-" 6tili&ado para reci$ir +Q- y transmitir +TQ- datos serie

    TTL" En el /rduino Diacemila, estas terminales est%n conectadas a las

    correspondientes patas del circuito integrado conversor 0TDI 6#7 a TTL serie"

    En el /rduino 7T, est%n conectados al las terminales correspondientes del

    modulo 7luetoot 3T99" En el /rduino 4ini y el /rduino Lily2ad, est%n

    destinados para el uso de un mdulo serie TTL e8terno +por eemplo el

    adaptador 4ini56#7-"

    Interruptores e8ternos@ J y K" Estas terminales pueden ser configuradas para

    disparar una interrupcin con un valor $ao, un pulso de su$ida o $aada, o un

    cam$io de valor" 4ira la funcin attacInterrupt+- para mas detalles"

    234@ K,

  • 7/25/2019 Digi Miercloes

    12/14

  • 7/25/2019 Digi Miercloes

    13/14

    Pasos

    Descargar el software de arduino"cc*en*4ain*#oftware para 3indows

    Descomprimir la carpeta de /rduino en una u$icacin de f%cil acceso

    Conectar la placa /rduino 6no al 2C y ver este aviso" No nos de$emos

    preocupar

    =isitar 2anel de control y luego /dministrador de dispositivos, all $uscar la

    siguiente opcin

    ClicM dereco so$re Dispositivo desconocido y luego so$re la opcin /ctuali&arsoftware del controlador"

    Ingresar a la opcin 7uscar software de controlador en el e!uipo

    E8aminar y $uscar la carpeta de /rduino previamente descomprimida en el paso

    J" Dentro de esa carpeta acceder a la carpeta Drivers y dar /ceptar

    6na ve& $uscamos la carpeta de Drivers le damos #iguiente

    eci$imos la confirmacin del 2uerto CO4 asignado, este n1mero de 2uerto

    CO4 es muy importante tenerlo en cuenta a la ora de programar"

    Conociendo el so,%-are Arduino

    2ara eecutar el programa /rduino, ingresamos a la carpeta de /rduino y all

    $uscamos el icono ce /rduino y le damos do$le clicM

    2uerto CO4

    1"

  • 7/25/2019 Digi Miercloes

    14/14

    #eleccionar la placa a tra$aar

    En el /dministrador de dispositivos de 3indows P nos mostrar% el nuevo controlador

    instalado, en 2uertos +CO4 y L2T-" Es importante !ue anotemos el nom$re asignado

    al puerto CO4 para /rduino, en nuestro caso CO4K, pues lo necesitaremos seleccionar

    en el IDE de /rduino

    18