Download - Digi Miercloes
-
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