Sei sulla pagina 1di 10

ARDUINO

El Sistema Arduino, es una herramienta para que los ordenadores puedan


sentir y controlar el mundo fsico a travs de tu ordenador personal.
INVESTIGACIN
2
INSTITUTO TECNOLGICO DE
MEXICALI
La tecnologa para el bien de la humanidad
Interfaces y Redes Industriales
Trabajo:
Arduino
Alumno:
Ortega Garzn Francisco
No. De Control:
10490606
Maestro:
Ing. Ortega Nazario Alejandro
ARDUINO | INVE!I"A#I$N
3
Mexicali, Baja California a 18 de Mayo de 2014
ARDUINO | INVE!I"A#I$N
4
ARDUINO
Volumen 1/Nmero 1
ARDUINO, QU ES, !ARA QU SIR"E
Es una plataforma o multiplataforma de hardware lire de dise!os de productos
electr"nicos al alcance de todos los ususarios. #asada en una placa con un
microcontrolador y un entorno de desarrollo, dise!ada para facilitar el uso de la
electr"nica en proyectos multidisciplinarios.
Co surgio la idea de A!"#INO$
Esta plataforma de hardware lire multidisciplinario naci" en $talia, en el
$nstituto $taliano de %ise!o $nteractivo Ivrea, una escuela donde los proyectos
estudiantiles se asaan en microcontroladores en su mayora.
Arduino sur&i" de una necesidad, la de contar con un dispositivo de a'o coste,
para utili(ar en clase con los alumnos, y que funcionase a'o cualquier sistema
operativo. En el a!o 2))*, en Ivrea coincidieron todos los actores de esta
historia.
Despus de que Hernando desarrollara
Wirin pensamos en !omo "a!er #oda la
pla#a$orma m%s simple& m%s 'ara#a (
sen!illa de usar) Se !omen*+ a
reimplemen#ar #odo !omo un pro(e!#o
open sour!e para que #odo el mundo
pudiera ,enir ( a(udar& !on#ri'uir). Casey
Reas.
M#S $ISTORIA
El len&ua'e de pro&ramaci"n de Arduino es una implementaci"n de +irin& que a
su ve( se asa en ,rocessin&, Actualmente ya se han creado oficialmente m-s de
.2) mil placas Arduino. En cuanto a ventas, /athan Seidle, 0E1
de spar2fun.com dice que han vendido 4).))) unidades de la versi"n Arduino
3S# 4montada, proada y lista para funcionar5.
ARDUINO | INVE!I"A#I$N
%A NUE"A !%ACA DE
ARDUINO &ERO
Es una placa de 32 its
asada en un
microcontrolador A67E8
0orte9:7) SA7%2. que
adem-s incorpora la
tecnolo&a E%#;. Es muy
similar al peque!o Arduino
3/1 salvo la incorporaci"n
de 2 conectores de tipo 7icro
3S#. 3no se utili(ara para
deu& y otro para
pro&ramaci"n y muy
proalemente como puerto
16; o 3S# host.
Microprocesador SAMD21 a !M"# con $ecnolo%&a
'D() de A$M'*.
*
'AMA DE !%ACAS
S, arduino es una &ama de placas. <,orqu sur&i" arduino= Arduino sur&i"
hace al&unos a!os en $talia cuando los estudiantes de in&eniera no podan
costear las placas que se utili(aan en ese entonces. %ichas placas eran placas
#AS$0 que costaan m-s de .)) d"lares cada una. Si tenas que hacer un
proyecto que llevaa 3 o m-s placas f-cilmente te &astaas m-s de 4)) euros
en tu proyecto. 0on esto en mente naci" arduino, placas de c"di&o aierto a un
precio asequile. ,ara que te ha&as una idea, tu placa de partida, la arduino
3/1 cuesta en torno a .> euros mientras que placas m-s sofisticadas se
quedan en la lnea de los 4) euros, mucho m-s aratos.
QU SE $ACE CON ESTAS !%ACAS
8o &enial de arduino es que las placas en cuesti"n vienen con una memoria
flash a la que tu le car&as un pro&rama. El pro&rama se lo car&as por 3S# y
puede ser cualquier cosa. ,or e'emplo puedes pro&ramar tu placa para
encender una lu(, activar un ventilador o incluso ir tan le'os como para crear
tu propio root. 0on un poco de creatividad y conocimientos verdaderamente
mnimos de arduino puedes crear pr-cticamente cualquier cosa.
CARCTER(STICAS 'ENERA%ES DE %A !%ACA
Se trata de una placa open hardware por lo que su dise!o es de lire
distriuci"n y utili(aci"n, que incluso podemos construirnos nosotros mismos
4En la ?i&ura . se oserva el aspecto de la placa5. En la si&uiente we puede
encontrarse mucha informaci"n relativa a la placa. El pro&rama se
implementar- haciendo uso del entorno de pro&ramaci"n propio de arduino y
se transferir- empleando un cale 3S#. Si ien en el caso de la placa 3S# no
es preciso utili(ar una fuente de alimentaci"n e9terna, ya que el propio cale
3S# la proporciona, para la reali(aci"n de al&unos de los e9perimentos
pr-cticos s que ser- necesario disponer de una fuente de alimentaci"n e9terna
ya que la alimentaci"n proporcionada por el 3S# puede no ser suficiente. El
volta'e de la fuente puede estar entre @ y 2* Aoltios.
ENTORNO DE DESARRO%%O
,ara pro&ramar la placa es necesario descar&arse de la p-&ina we de Arduino
el entorno de desarrollo 4$%E5. Se dispone de versiones para +indows y para
7A0, as como las fuentes para compilarlas en 8$/3B. En la ?i&ura 2 se
muestra el aspecto del entorno de pro&ramaci"n. En el caso de disponer de
una placa 3S# es necesario instalar los drivers ?6%$. Estos drivers vienen
incluidos en el paquete de Arduino mencionado anteriormente. E9isten en la
we versiones para distintos sistemas operativos.
ARDUINO | INVE!I"A#I$N
a+ Co,pilar -ro%ra,a, .+ (oton de Reset,
c+$ransferir -ro%ra,a a la placa
@
8o primero que tenemos que hacer para comen(ar a traa'ar con el entorno de
desarrollo de arduino es confi&urar las comunicaciones entre la placa Arduino
y el ,0. ,ara ello deeremos arir en el menC D$ools/ la opci"n DSerial -ort/.
En esta opci"n deeremos seleccionar el puerto serie al que est- conectada
nuestra placa. En +indows, si desconocemos el puerto al que est- conectado
nuestra placa podemos descurirlo a travs del Administrador de dispositivos
4,uertos 017 E 8,6F 3S# Serial ,ort5.
El primer paso para comproar que todo lo que hemos hecho hasta ahora est-
ien y familiari(arnos con el interfa( de desarrollo, es arir uno de los
e'emplos. Se recomienda arir el e'emplo D#lin2D. ,ara ello deemos acceder a
travs del menC ?ile 4 S2etchoo2 4 E9amples 4 %i&ital 4 #lin2.
El e'emplo D#lin2D lo Cnico que hace es parpadear un 8E% que est- colocado
en el pin nCmero .3 de la placa. Aamos a ver qu hay que hacer para suir el
pro&rama a la placa Arduino. ,rimero comproamos que el c"di&o fuente es el
correcto. ,ara ello pulsamos el ot"n de verificaci"n de c"di&o que tiene forma
de tri-n&ulo inclinado G) &rados 4?i&ura 3.a5. Si todo va ien deer- aparecer
un mensa'e en la parte inferior de la interfa( indicando D%one compilin&D. 3na
ve( que el c"di&o ha sido verificado procederemos a car&arlo en la placa. ,ara
ello tenemos que pulsar el ot"n de reset de la placa 4?i&ura 3.5 e
inmediatamente despus pulsar el ot"n que comien(a la car&a 4?i&ura 3.c5.
%urante la car&a del pro&rama, en la placa 3S#, se encender-n los 8E% que
indican que se est-n enviando y reciiendo informaci"n por el puerto serieH
6BFIB. Si todo se ha reali(ado correctamente dee aparecer el mensa'e D%one
uploadin&D. Ahora tan s"lo queda esperar unos J se&undos apro9imadamente
para comproar que todo ha salido ien. Si el led colocado en el pin .3 de la
placa se enciende y se apa&a cada se&undo entonces todo ha ido ien. ,or fin
tenemos todo listo para empe(ar a traa'ar con la placa Arduino.
ESTRUCTURA )#SICA DE UN !RO'RAMA
8a estructura -sica de pro&ramaci"n de Arduino es astante simple y divide
la e'ecuci"n en dos partesH setup y loop. Setup45 constituye la preparaci"n del
pro&rama y loop45 es la e'ecuci"n. En la funci"n Setup45 se incluye la
declaraci"n de variales y se trata de la primera funci"n que se e'ecuta en el
pro&rama. Esta funci"n se e'ecuta una Cnica ve( y es empleada para confi&urar
el pin7ode 4p. e'. si un determinado pin di&ital es de entrada o salida5 e
iniciali(ar la comunicaci"n serie. 8a funci"n loop45 incluye el c"di&o a ser
e'ecutado continuamente 4leyendo las entradas de la placa, salidas, etc.5.

void setup() {
inMode(pin, OUTPUT); // Establece 'pin' como salida
}
void loop() {
digital!ite(pin, "#$"); // %ctiva 'pin'
dela&('(((); // Pausa un segundo
ARDUINO | INVE!I"A#I$N
>
digital!ite(pin, )O); // *esactiva 'pin'
dela&('((();
}
0omo se oserva en este loque de c"di&o cada instrucci"n acaa con K y los
comentarios se indican con FF. Al i&ual que en 0 se pueden introducir
loques de comentarios con FL ... LF.
*UNCIONES
Se&mentar el c"di&o en funciones permite al pro&ramador crear pie(as
modulares de c"di&o que reali(an una tarea definida y vuelven a la (ona del
pro&rama en la que fueron llamadas. El caso tpico para crear un funci"n es
cuando uno necesita reali(ar la misma acci"n mCltiples veces dentro de un
mismo pro&rama.
,ara pro&ramadores acostumrados a utili(ar #AS$0 las funciones en
Arduino permiten 4y e9tienden5 la utilidad de usar surutinas 4;1S3# en
#AS$05.
8a estandari(aci"n de fra&mentos de c"di&o en funciones tiene diversas
venta'asH
8as funciones ayudan al pro&ramador a ser or&ani(ado. Adem-s ayudan
a conceptuali(ar el pro&rama.
8as funciones codifican una acci"n en un lu&ar, as que s"lo deen ser
depuradas de errores una ve(.
Ieducen las posiilidades de error en modificaciones, si el c"di&o dee
ser camiado.
8as funciones hacen el s2etch mas peque!o y mas compacto por que las
secciones de c"di&o se reutili(an varias veces.
Macen mas f-cil la reutili(aci"n de c"di&o en otros pro&ramas por hacerlo
mas modular y, como efecto paralelo, usando funciones se otiene un c"di&o
mas le&ile.
May dos funciones necesarias en un s2etch de ArduinoH setup45 y loop45. El
resto de funciones dee ser definido fuera de las llaves de estas dos
funciones. 0omo e'emplo vamos a crear una funci"n muy simple que
multiplica dos nCmeros.
ARDUINO | INVE!I"A#I$N
J
E%emplo
Al DinvocarD a nuestra peque!a funci"n le pasamos parametros del tipo de
dato que ella espera.
void loopN
int i O 2K
int ' O 3K
int 2K
2 O my7ultiply?unction4i, '5K FF 2 ahora contiene @
P
/uestra funci"n necesita ser declarada fuera de cualquier otra funci"n, por
ello Dmy7ultiply?unction45D puede ir antes o despues de la funci"n Dloop45D.
El s2etch completo podra ser al&o como estoH
void setup45N
Serial.e&in4G@))5K
P
void loopN
int i O 2K
ARDUINO | INVE!I"A#I$N
G
int ' O 3K
int 2K
2 O my7ultiply?unction4i, '5K FF 2 ahora contiene @
Serial.println425K
delay4*))5K
P
int my7ultiply?unction4int 9, int y5N
int resultK
result O 9 L yK
return resultK
P
Otro e%emplo&
Esta funci"n leer- un sensor cinco veces con analo&Iead45 y calcular- la
media de las cinco lecturas. Escala los datos a J its 4):2**5, los invierte y
devuelve el resultado invertido.
int IeadSensQandQ0ondition45N
int iK
int svalK
for 4i O )K i R *K iSS5N
sval O sval S analo&Iead4)5K FF sensor en pin anal"&ico )
P
sval O sval F *K FF media
sval O sval F 4K FF escala a J its 4) : 2**5
sval O 2** : svalK FF invierte el resultado
return svalK FF devuelve el resultado
ARDUINO | INVE!I"A#I$N
.)
P
,ara llamar a nuestra funci"n solo tenemos que asi&narla a una variale.
int sensK
sens O IeadSensQandQ0ondition45K
ARDUINO | INVE!I"A#I$N

Potrebbero piacerti anche