Está en la página 1de 136

I

ntroducci
ón
a
Arduino
Massi
moBanzi

Pr
imer
aedi
ción
I
ntr
oducci
ónaAr
dui
no
byMassi
moBanzi

Copyr
ight©2009Massi
moBanzi
.Al
lri
ght
sreser
ved.Pr
int
edi
nU.
S.A.

Publ
icadoporMake:
Books,
Unahuel
ladeMakerMedi
a,Unadi
visi
óndeO’
Rei
ll
yMedi
a,I
nc.
1005Gravenst
einHi
ghwayNor
th,
Sebast
opol
,CA95472

O’
Reil
lybooksPuedensercompradospar
ausoeducati
vo,comerci
alodepromoci
óndevent
as.
Paraobt
enermásinformaci
ón,depar
tament
odeventascorpor
ati
vo/inst
it
uci
onal
:800-
998-
9938
orcor
porate@or
eil
ly.
com.

Hi
stor
ialdei
mpr
esi
ón:Oct
ober2008:Fi
rstEdi
ti
on

Editor:DaleDougher ty
EditorAsoci ado:DanWoods
Editorejecutivo:Bri
anJepson
Directorcreativo:DanielCar
ter
Diseñador :BrianScott
Jefedepr oducci ón:TerryBronson
Editordecopi a:NancyKotary
Indexador :Pat t
iSchi
endelman
Il
ustraciones:El i
saCanducci

Ellogoti
podeO' Reil
lyesunamarcar egist
radadeO'
Rei l
lyMedia,
Inc.Lasdesi
gnaci
onesdel aser
ie
Make:Pr oject
sylasr ef
erenci
asr
elacionadassonmar casregi
str
adasdeO'Reil
lyMedia,
Inc.Las
mar cascomer ci
alesdetercer
osut
ili
zadasenest et
rabajosonpropiedaddeSusrespect
ivos
propiet
arios.

Mensajeimport
ant eanuestroslectores:Susegur idadessupr opiaresponsabil
idad,
incluyendoeluso
apropi
adodelequipoyequi podesegur i
dad,ydet erminarsiustedti
enehabi l
idadyexper i
encia
adecuadas.Laelectr
icidadyotrosrecursosutil
izadospar aestosproyectossonpel i
grososamenos
queseutili
cenadecuadament eyconl asprecaucionesadecuadas, i
ncluidoelequipodesegur idad.
Algunasfotosi
lustr
ativasnorepresentanprecauci onesoequi posdesegur i
dad,conelfindemost r
ar
l
ospasosdelpr oyectoconmayorcl ari
dad.Estospr oyect
osnoest ándest i
nadosaserut il
izadospor
ni
ños.

Elusodel asi
nst r
ucci
onesysuger
enci
asdeI ntr
oducciónaAr dui
noesbajosupr opi
oriesgo.O'Rei
ll
y
Media,Inc.yelautorr
enunci
anatodaresponsabili
dadporcualqui
erdaño,lesi
ónogastor esul
tant
e.Es
suresponsabil
idadasegurar
sedequesusact i
vidadescumplenconlasleyesapli
cabl
es,inclui
doslos
derechosdeaut or.

I
SBN:978-
0-596-
15551-
3
Cont
eni
do
Pr
efaci
o ...........................................v

1/I
ntroducción ..................................... .. 1
Audienciadeseada....................................................2
¿Quéesl ainf
ormáti
caf í
sica?...........................................3

2/ElCami nodelAr duino ..................................5


Prototi
pado..........................................................6
Jugueteando.........................................................7
Remi endo...........................................................8
Curvadodel Ci
rcuit
o..................................................10
TecladoHacks.............................. .........................12
Nosencant aJunk!...................................................14
JuguetesdeHacki ng.................................................15
Colaboración.......................................................16

3/LaPlataformaAr duino .................................19


ElhardwaredeAr duino...............................................19
ElSoftware(IDE).....................................................22
I
nstalaci
óndeAr duinoensucomput adora...............................22
I
nstalaci
óndecont roladores:Macintosh.................................23
I
nstalaci
óndecont roladores:Windows....................... .
...........23
I
dentifi
cacióndepuer tos:Macintosh.....
..........
.......................25
I
dentifi
cacióndelPuer to:Windows.....................................26

4/RealmenteempezandoconAr duino .........................29


SensoresyAct uador es................................................ 30
ParpadeandounLED.............. ....................................30
PasameelPar mesano....... ...........................................34
Arduinonoespar aQui tt
ers............................................35
RealTinkerersEscr ibirComent arios.....................................35
ElCódigo,pasoapaso................................................ 36
Loquevamosaconst ruir
........................... ....................38
¿Quéesl aelect r
icidad?.................. ........
.......................39
 
  
 Usodeunpul sadorpar acont rolarelLED............................... 42
  
  
¿Comof uncionaest o?................................................ 44
Uncircuit
o, milcompor tamientos....................................... 45

5/Entr
adaysali
daavanzadas ...............................53
Pruebadeotr
ossensoresdeencendido/apagado......................... 53
Control
deluzconPWM...............................................
56
Uti
li
ceunsensordeluzenlugardeunpul sador.............
...............
62
Entradaanal ógi
ca...........................................................
.
64
Pruebeot r
ossensor esanal ógicos........................................68
Comuni caciónserial....................................................68
Conduccióndecar gasmásgr andes( motores,l
ámpar asysi mil
ares)..
..........70
Sensorescompl ejos................................................... 70

6/Hablandoconlanube..................................73
Pl
anifi
caci
ón.........................................................75
Codif
icaci
ón........................................................76
MontajedelCi
rcuit
o....................................................83
Aquíescómomont arl
o............. ....................................84

7/Soluci
óndepr obl
emas..................................87
PruebadelaJunta.....................................................
88
Pruebadesuci r
cuit
odeBr eadboard......................................89
Aisl
arlosprobl
emas....................................................90
ProblemasconelIDE...................................................
90
Cómoobt enerayudaenlínea...........................................91

Apéndi
ces..........................................93
Apéndi
ceA/Eltablerodepan........................................... 93
Apéndi
ceB/Lectur adelosReactoresyCondensador es......................95
Apéndi
ceC/Lar eferenci
arápida........................................97
Apéndi
ceD/Lect uradediagramasesquemát icos...............................
..110
Pr
efaci
o
Haceunosañosmedi eronunr et
omuyi nter
esant
e:enseñaral
os
diseñadoreselmínimoenl aelect
rónicaparaquepudier
an
construi
rprotot
iposinteracti
vosdel osobjet
osqueestaban
diseñando.
Comencéasegui runi
nstintosubconsci
enteparaenseñarlael
ectróni
cadela
mismamaner aquemeenseñar onenlaescuela.Mástardemedicuent ade
quesimplementenoestabaf unci
onandotanbiencomomegust arí
a,y
comenzóar ecor
darsentadoenunacl ase,aburr
idocomoelinfi
erno,
escuchandotodaesateoríaquesemel anzósinningunaapli
caciónpráct
ica
paraell
o.

Enr
eal
idad,
cuandoestabaenlaescuel
ayaconocí
alael
ectr
ónicadeuna
maner
amuyempí r
ica:muypocateorí
a,per
omuchaexper
ienci
apráct
ica.

Empecéapensarenelpr
ocesoporelcualapr
endíl
ael
ect
róni
ca:

»Desmontécual
qui
erdisposit
ivoelect
róni
coquepudier
aponerenmismanos.
»Aprendíl
ent
amentecuáleserantodosesoscomponentes.
»Empecéamezclarconellos,
cambi andoalgunasdel
asconex
ionesdent
rode
ell
osyviendol
oquelepasóaldi
sposi
ti
vo:nor
mal
ment
eal
goent
reuna
explosi
ónyunanubedehumo.
»Empecéaconstruiral
gunoski
tsvendi
dosporrevi
stasdeel
ect
róni
ca.
»Combinédi
spositi
vosquehabí
ahackeado,yreuti
li
zaci
óndeki
tsyotr
os
ci
rcui
tosqueencont
réenr
evi
staspar
ahacer
loshacercosasnuevas.

Comounni ño,siempr emefasci


nódescubrircómof uncionanlascosas;Porlo
tant
o,solíasepar ar
los.Est
apasióncreci
ómi entr
asapunt abacual
quierobjet
o
noutil
izadoenl acasayl uegolodesmontéenpedaci tos.Event
ualmente,l
a
gentemet raj
ot odot i
podedisposit
ivospar
adi secci
onar.Mismásgr andes

Pr
efaci
ov

proyectosenesemomentoer
anunlavavaj
il
lasyunacomputador
atempr
ana
quepr ovení
adeunaof
ici
nadesegur
os,quet ení
aunai
mpresoraenor
me,
tar
jet
aselectr
óni
cas,l
ect
oresdet
arj
etasmagnéti
casymuchasotr
aspart
es
queresul
taronmuyint
eresant
esydesaf
iant
esparadesmont
arcompl
etament
e.

Despuésdebast ant
edeestadisecci
ón,sabí
aquécomponent eselectr
ónicos
eranymásomenosl oquehicier
on.Además, micasaestaball
enadevi ej
as
revist
asel
ectrónicasquemipadr edebi
óhabercompr adoapr i
nci
piosdelos
añossetenta.Paséhorasleyendolosart
ícul
osymi randolosdi
agramasde
circui
tosi
nent endermucho.

Estepr
ocesodel
eerl
osart
ícul
osunayotravez,conelbenef
ici
odel
conoci
mient
oadqui
ri
doaldesmont
arci
rcuit
os,creóuncír
culovi
rt
uosol
ent
o.

Ungr anavancel legóunaNavi dad,cuandomipapámedi ounkitquepermití


aa
l
osadol escentesaapr endersobr el
aelectr
óni
ca.Cadacomponentesealojaba
enuncubodepl ásti
coqueseacopl abamagnéti
cament
econot roscubos,
est
abl eciendounaconexi ón;Elsímboloel
ectr
ónicof
ueescri
toenlaparte
superior.Pocosabí ayoqueelj ugueteer
atambiénunhit
odel di
señoalemán,
porqueDi et
erRamsl odiseñóenl osaños60.

Conest
anuevaherramient
a,podr
íar
ápidamentemontarci
rcui
tosypr
obar
los
par
averquépasó.Elci
clodeprot
oti
padofuecadavezmáscor to.

Despuésdeeso,
const
ruír
adi
os,ampli
fi
cador
es,
cir
cuit
osqueproduci

an
rui
doshorr
ibl
esysoni
dosagr
adables,
sensor
esdell
uvi
aypequeñosrobot
s.

Hepasadomuchot i
empobuscandounapal abraeni ngl
ésquer esumiríaesa
for
madet rabajarsinunpl anespecífi
co,comenzandoconunai deay
ter
mi nandoconunr esul t
adocompl et
ament einesperado.Finalment e,
"j
uguetear"vinoadel ante.Reconocícómoest apal abr
asehaut il
izadoen
muchosot roscampospar adescribi
runaformadeoper aryr etr
at aralas
personasqueempr endenuncami nodeexpl oración.Porejempl o, l
ageneraci
ón
dedirectoresf r
ancesesquedi eronaluzal a"Nouvel l
eVague"f uer onl
lamados
l
os" t
inkerers".Lamej ordefi
nici
ónder et
oquequeheencont radovi enedeuna
exposici
ónquesel levóacaboenelExpl or at
orium enSanFr ancisco:

Bri
colaj
eesl oquesucedecuandosei ntentaalgoquenosabencómohacer ,
gui
adoporelcapr i
cho,laimagi
naciónyl acuriosi
dad.Cuandoust
edjuguet
ea,
nohayi nst
rucciones,perotampocohayf racasos,nohayformascor
rect
aso
i
ncorrectasdehacerlascosas.Set rat
adeaver i
guarcómofunci
onanlascosas
yvolverl
asat r
abajar.
viI
ntr
oducci
ónaAr
dui
no

Contr
apt
ions,
máqui nas,wildl
ymismat
chedl
osobj
etosquet
rabaj
anenar
moní
a
-est
oeslamat er
iadelretoque.
Elbricol
ajees,ensuf
ormamásbási
ca,
unpr
ocesoquecombi
naj
uegoe
investi
gación.

—www.
expl
orat
ori
um.
edu/
ti
nker
ing

Desdemispri
mer
osexperi
ment
ossabí
acuánt
aexper
ienci
anecesi
tar
íaspara
podercr
earunci
rcui
toquehar
íal
oquequerí
asaparti
rdeloscomponentes
bási
cos.

Otrogr anavancel
legóenelver anode1982,cuandof uiaLondresconmi s
padresypasémuchashor asvi
sitandoelMuseodel aCienci
a.Acababande
abri
runanuevaal adedi cadaal ascomput ador
as,ysi
guiendounaser i
ede
experiment
osguiados,aprendíl
osf undamentosdelamatemáti
cabinari
ayla
programación.

All
ímedicuent adequeenmuchasapl i
caciones,losingeni
erosyanoestaban
construyendocircui
tosaparti
rdecomponent esbásicos,si
noqueensul ugar
i
mpl ement aban mucha i ntel
igenci
a en sus pr oductos usando
microprocesadores.Elsof
twar
eest abareemplazandomuchashor asdedi
seño
el
ectrónico,ypermiti

auncicl
omáscor todemani pulación.

Cuando volví empecé a ahorr


ar di
ner
o, por
que quer
ía compr
ar una
computador
ayapr enderapr
ogr
amar.

Mipr i
merymási mport
antepr oyecto despuésdeeso f ueusarminueva
computador aZX81par acont r
olarunamáqui nadesoldar.Séquenosuena
comounpr oyectomuyemoci onante,per
ohabí aunanecesidadparaélyer
aun
grandesafíopar amí,porqueacababadeapr endercómopr ogr
amar.Enest
e
punto,quedócl ar
oqueescr ibi
rlíneasdecódigor equer
ir
íamenost i
empoque
modifi
carcircui
toscomplejos.

Veinteañosmást arde,megustarí
apensarqueest aexperi
enci
ameper mit
e
enseñaral agentequenisi
quierarecuerdohabertomadoningunaclasede
mat emáticasyparainf
undi
rl
osconelmi smoentusiasmoyl acapaci
dadde
j
uguet earquetuveenmijuventudyt enerDesdeentonces.

—Massi
mo

Pr
efaci
ovi
i

Expr
esi
onesdegr
ati
tud
Est
eli
broest
ádedi
cadoaLui
sayAl
exandr
a.

Enprimerlugarquier
oagradeceramissoci
osdelEqui
poArduino:
DavidCuarti
ell
es,Davi
dMelli
s,Gianl
ucaMart
ino,
andTom I
goe.Esunaexper
ienciai
ncr
eíbl
etr
abajar
conustedes.
BarbaraGhell
a,nolosabepero,sinsupr
eci
adoconsej
o,Ar
duinoyest
eli
brotalveznohayanpasado
nunca.

Bi
llVer
plankporhaber
meenseñadomásqueComput
aci
ónFí
sica.

Gi
ll
ianCr
ampt
on-
Smi
thpordar
meunaopor
tuni
dadyport
odol
oqueheapr
endi
dodeel
la.

Her
nandoBar
ragánporelt
rabaj
oquehar
eal
izadoenCabl
eado.

Br
ianJepsonporserungr
anedi
toryent
usi
ast
apar
ti
dar
iot
odoelt
iempo.

NancyKotar
y,Br
ianScot
t,Ter
ryBr
onsonyPat
tiSchi
endel
manporconver
ti
rloqueescr
ibíenunl
ibr
o
ter
minado.

Quier
oagr
adeceramuchamásgente,
peroBrianmedi
cequemeestoyquedandosinespaci
o,asíque
voyaenumerarunpequeñonúmer
odepersonasquet
engoqueagr
adecerpormuchasrazones:

Adam Soml
ai-
Fisher
,Ai
ladiCor
tel
let
ti
,Al
ber
toPezzot
ti
,

Al
essandr
oGer
minasi
,Al
essandr
oMasser
dot
ti
,Andr
eaPi
ccol
o,

AnnaCapel
li
ni,
CaseyReas,
Chr
isAnder
son,
Claudi
oModer
ini
,

Cl
ement
inaCoppi
ni,
Concet
taCapecchi
,CsabaWal
dhauser
,

Dar
ioBuzzi
ni,
Dar
ioMol
inar
i,Dar
ioPar
ravi
cini
,Donat
aPi
ccol
o,

Edoar
doBr
ambi
ll
a,El
isaCanducci
,Fabi
oVi
olant
e,Fabi
oZanol
a,

Fabr
izi
oPi
gnol
oni
,Fl
avi
oMaur
i,Fr
ancescaMocel
li
n,Fr
ancesco

Monico,
Gi or
gioOli
ver
o,Gi
ovannaGar
di,
Giovanni
Bat
ti
sti
ni,
Heat
herMar
ti
n,Jenni
ferBove,
Laur
a
Del
lamotta,Lor
enzo

Par
ravi
cini
,LucaRocco,
Mar
coBai
oni
,Mar
coEynar
d,Mar
ia

Ter
esaLongoni
,Massi
mil
ianoBol
ondi
,Mat
teoRi
vol
ta,
Mat
thi
as

Ri
cht
er,
Maur
izi
oPi
rol
a,Mi
chaelThor
pe,
Nat
ali
aJor
dan,

Ombr
ett
aBanzi
,Or
est
eBanz
i,ÓscarZoggi
a,Pi
etr
oDor
e,

Pr
of.Sal
vioni,
Raff
ael
laFerr
ara,RenzoGi
usti
,Sandi
Athanas,
Sar
aCar
pent
ier
i,Si
gri
dWi
eder
hecker
,
St
efanoMi r
ti
,UbiDeFeo,Veroni
kaBucko.

vi
iiI
ntr
oducci
ónaAr
dui
no

Cómocont
act
arnos
Hemosveri
fi
cadol
ainf
ormacióndeest
eli
brodelamej
ormanera
posi
ble,
per
opuedequeencuentr
ecosasquehancambi
ado(¡
o
i
nclusoquehemoscomet idoerr
ores!
).Comol ectordeest eli
bro,
puedeayudarnosamej orarfut
urasedici
onesenvi ándonossus
comentari
os.Porfavor,
háganossaberacer cadecual quiererr
or,
i
nexacti
tud,decl
araci
onesengañosasoconf usasyer r
ores
ti
pográf
icosqueencuentreencualquierpar
t edeest el
ibro.

Tambiénháganossaberquépodemoshacerparaqueestel
ibr
osea
másút i
lparaust
ed.Tomamosenser i
osuscomentari
osytrat
aremos
deincorpor
arsuger
enci
asrazonabl
esenfut
urasedici
ones.

Puedeescr
ibi
rnosa:

MediaMaker
1005carreteradegr avenstei
nnort
e
Sebastopol,CA95472
(800)998-9938(enl osEstadosUnidosoCanadá)
(707)829-0515(i
nt ernaci
onal/l
ocal)
(707)829-0104(fax)

MakerMedi aesunadivisi
óndeO' Rei
ll
yMedi adedi cadaent er
amente
alacreci
entecomunidaddeper sonasingeniosasquecr eenquesilo
puedesimaginar,
puedeshacer l
o.Consist
iendoenl ar evist
aMAKE, l
a
revi
staCRAFT, MakerFair
e,asícomolaser i
edel ibrosHacks, Make:
Proj
ectsyDI YSci
ence,MakerMedi afoment alament al
idadDo-I
t-
Yoursel
fproporci
onandoinspir
acióneinstruccióncr eat
iva.

Paramásinf
or maciónsobr eMakerMedi
a,vi
sít
enosenl
ínea:
HACERwww. makezi ne.
com
CRAFT:www. craf
tzi
ne.com
HacerMaker
:www. maker f
air
e.com
Hacks:www.hackszine.com

Paracomentarell
ibr
o,envíeuncor
reoel
ect
róni
coa
bookquest
ions@orei
ll
y.com.

Elsi
ti
owebdeO' Reil
lyparaIntr
oducciónaAr dui
noincl
uyeejempl
os,
err
atasypl
anespar afut
urasediciones.Puedeencontr
arest
apágina
enwww. makezi
ne.com/getstar
tedarduino.

Par
aobt
enermásinfor
maciónsobr eest
eli
broyot
ros,
consul
teel
si
ti
owebdeO'Rei
l
ly:www.orei
ll
y.com.

Par
aobtenermási
nformaci
ónsobreArdui
no,i
ncl
uidosfor
osde
di
scusi
ónydocumentaci
ónadi
cional
,consul
tewww.ardui
no.
cc.

Pr
efaci
oix
1/I
ntr
oducci
ón

Arduinoesunapl ataformadecomput aci


ón

sicadecódi goabi ertobasadaenunasenci ll
a
tarj
etadeent rada/sal ida(E/S)yunent orno
dedesar rolloquei mpl ement aell
enguaj ede
procesami ent o(www. pr ocessi
ng.or
g) .Arduino
puedeusar separ adesar r
oll
arobj
etos
i
nteract i
vosi ndependi entesopuede
conect arsealsof twaredesucomput ador a
(comoFl ash, Processing,VVVVoMax/MSP) .
Lost ablerossepuedenmont aramanoose
puedenadqui ri
rpreensambl ados;ElIDEde
códigoabi erto( I
ntegratedDevelopment
Environment )sepuededescar gar
gratuit
ament edesdewww. ardui
no.cc.

Arduinoesdifer
ent
edeot
raspl
ataf
ormasenelmer
cadodebi
doaest
as
caracter
íst
icas:

»Esunent
ornomul
ti
plat
afor
ma;Puedef
unci
onarenWi
ndows,
Maci
ntoshy
Linux.

»
Sebasaenlaprogramaci
óndeprocesamientoI
DE,
unent
ornodedesar
rol
lo
f
áci
ldeusarut
il
izadoporar
ti
stasydi
señadores.

»Sepr ogramaatr
avésdeuncabl
eUSB,nodeunpuer
toser
ie.Est
a
caracterí
sti
caesúti
l,
por
quemuchascomput
ador
asmodernasnotienen
puertosserie.

»Setr
atadehar
dwareysoft
war
edecódi
goabi
ert
o,sil
odesea,puededescar
gar
eldi
agramadecir
cui
tos,
compr
art
odosl
oscomponentesyhacersupropi
o,si
n
pagarnadaal
osf
abr
icant
esdeAr
dui
no.

I
ntr
oducci
ón1
»Elhardwareesbarato.Latarj
etaUSBcuest
aunos20€(
act
ual
ment
e,unos35
dól
ares)yl
asust
it
uci
óndeunchi
pquemadoenlaplacaesf
áci
lycuest
ano
másde5€o4€.Asíquepuedesper
mit
ir
tecometerer
ror
es.

»Hayunacomuni
dadact
ivadeusuar
ios,
porl
oquehaymuchasper
sonasque
puedenayudar
te.

»ElProyectoArdui
nosedesar
rol
lóenunent
ornoeducat
ivoyporl
otant
oes
i
dealpar
alosr
eci
énl
legadospar
aquel
ascosasf
unci
onenr
ápi
dament
e.

Est
eli
broest
ádi señadoparaayudaralospri
nci
piant
esacomprenderl
os
benef
ici
osquepuedenobt eneralapr
enderausarlapl
ataf
ormaArdui
noy
adopt
arsufi
losofía

Audi
enci
adeseada
Estel i
brofueescr itopar al osusuar ios"origi
nales"deAr dui
no:diseñador esy
arti
stas.Porl otanto, tratadeexpl i
carl ascosasdeunamaner aquepodr ía
conduci raalgunosi ngeni erosl ocos.Enr eali
dad,unodeel l
osl l
amóal os
capí t
ulosintroductor i
osdemipr i
merbor rador"fl
uf f
".Eseespr ecisament eel
punt o.Seamosr ealistas:lamayor íadel osi ngenierosnosoncapacesde
explicarloquehacenaot roi ngeni ero,ymuchomenosaunserhumanonor mal
.
Ahor avamosapr ofundi zarenl apel usa.
_____________
_ __
_ __
_ ____________ __
_ _____
__ ___
______________
_________
_ __
_
NOTA:Ar duinosebasaenelt rabaj odet esisqueHer nandoBar raganhi zoenla
plataformaWi r
ingmi entrasest udiababaj oCaseyReasyyoenI DI II
vrea.
 
–––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––
DespuésdequeAr dui nocomenzóaserpopul ar,medicuent adecómol os
exper i
ment adores,af ici
onados, yloshacker sdet odot ipoestabanempezandoa
util
izarl
opar acr earobj etosher mososyl ocos.Medicuent adequet odos
ustedessonar ti
stasydi señador esporder echopr opio,asíqueest elibr
oes
paraust edest ambi én.

ArduinonacióparaenseñaraInt
eract
ionDesign,unadisci
pli
nadediseñoque
sit
úaalprototi
poenelcentrodesumet odologí
a.Haymuchasdef ini
cionesde
Int
eracti
onDesign,per
olaqueyopr ef
ieroes:
 
Int
eracti
onDesigneseldiseñodecualquierexper
ienci
aint
eract
iva.

Enelmundoact ual
,I
nteract
ionDesignseocupadel acreacióndeexperi
encias
si
gnif
icativasentr
enosotros(l
ossereshumanos)yl osobjetos.Esunabuena
maneradeexpl orarl
acreacióndeexperienci
ashermosas- yquizási
ncl
uso
pol
émi cas-entr
enosotrosylatecnologí
a.Int
eract
ionDesignfomentaeldiseño
at
ravésdeunpr
ocesoi
ter
ati
vobasadoenpr
otot
ipos

I
ntr
oducci
ónaAr
dui
no2

Def i
delidadcadavezmayor .Esteenfoque,t
ambi énpar t
edeal gunostiposde
diseño"convencional
",puedeextenderseparaincluirl
acreacióndepr otot
ipos
cont ecnologí
a;Enpart
icular
,lacreaci
óndepr ototiposconelectróni
ca.

Elcampoespecí
fi
codeDi
señodeInt
eracci
óninvolucr
adoconAr
dui
noes
Computaci
ónFísi
ca(oDi
señodeI
nter
acciónFísi
ca).

¿
Quéesl
ainf
ormát
icaf
ísi
ca

Computaci
ónf í
sicaut
il
izalaelect
róni
capar
aelpr
otot
ipodenuevosmat
eri
ales
par
alosdiseñadoresyarti
stas.

I
mpl icaeldi
señodeobj et
osint
eract
ivosquepuedencomunicarseconhumanos
usandosensor esyactuador
escontr
ol adosporuncompor
tamiento
i
mpl ementadocomounsof t
warequeseej ecut
adentr
odeunmi cr
ocont
rol
ador
(unacomput adorapequeñaenunsol ochip)
.

Enelpasado,usarlaelectrónicasi
gnificabatenerquetrat
arconingenierostodo
elti
empo,yconstrui
rcircuitosunpequeñocomponent eenesemoment o;Estos
temasevit
abanquel asper sonascreativasjugaranconelmedi odir
ectamente.
Lamayoríadelasher r
ami entasestabandest i
nadasal osi
ngenierosyrequerían
unamplioconocimiento.Enl osúlt
imosaños, l
osmi cr
ocontr
oladoressehan
vuelt
omásbar at
osyf ácil
esdeusar ,permit
iendolacreaci
óndemej or
es
herr
amientas.

Elprogr
esoquehemoshechoconAr duinoesacercarest
asherr
amient
asun
pasomásalnovici
o,per
mit
iendoalagent ecomenzaraconst
rui
rcosas
despuésdesól
odosot r
esdíasdeunt all
er.

ConArduino,undi
señadoroart
ist
apuedell
egaraconocerl
osf
undament
osde
l
aelectr
ónicaylossensor
esmuyr ápi
dament
eypuedecomenzaraconst
rui
r
pr
ototi
posconmuypocai nver
sión.

I
ntr
oducci
ón3
2/ElCami
nodelAr
dui
no
Laf i
losofí
adeAr dui
nosebasaenhacer
diseñosenl ugardehabl arsobreellos.Esuna
búsquedaconst antedef ormasmásr ápidasy
máspot entesdeconst ruirmejorespr ototi
pos.
Hemosexpl oradomuchast écnicasde
prototi
padoydesar rol
ladomaner asdepensar
connuest rasmanos.

Laingeni
erí
aclási
casebasaenunprocesoest
ri
ctoparaobt
enerdeAaB;El
CaminoArduinosedelei
taenl
aposi
bil
idaddeper
derseenelcaminoy
encontr
arCensul ugar.

Est
eeselpr ocesodebr i
colaj
equenosencant a-
jugarconelmediodeuna
maneraabiertayencontrarloi
nesperado.Enestabúsquedademaner asde
const
rui
rmej orespr
ototi
pos, t
ambiénselecci
onamosunaser iedepaquet es
desoft
warequeper mitenelprocesodemani pul
aciónconstantedelsoftware
ydelhardware.

Lassigui
ent
essecci
onespresent
analgunasfi
losofí
as,
acont
eci
mient
osy
pioner
osquehaninspi
radoelCaminodelArduino.

ElCami
noaAr
dui
no5

Pr
otot
ipos
Elprotot
ipadoestáenelcor
azóndelCami
noArduino:hacemoscosasy
construi
mosobj et
osqueinter
act
úanconot
rosobjetos,personasyr
edes.Nos
esforzamosporencontr
arunamaneramássencil
layr ápidadeprot
oti
poenla
for
mamásbar ataposi
ble.

Muchosdel ospri
nci
piant
esqueseacer canalaelect
róni
caporprimeravez
piensanquet i
enenqueaprenderaconstrui
rtododesdecero.Est
oesuna
pérdidadeener gí
a:l
oquequieresespoderconfi
rmarquealgoestá
funcionandomuyr ápi
damentepar aquepuedasmot i
vart
eparadarelsigui
ent
e
pasoot alvezincl
usomotivaraalguienadart
emuchodi ner
oparahacer l
o.

Esporesoquedesarrol
lamosel" pr
ototi
padooportuni
sta":¿porquégastar
ti
empoyenergíaconstr
uyendodesdecer o,unprocesoquer equiereti
empoy
conoci
mient
otécnicoprofundo,cuandopodemost omardi sposi
tivosya
hechosyhackear
losparaexpl ot
areldurotr
abaj
or eal
izadoporgr andes
Empresasybuenosingenieros?

Nuest
rohéroeesJamesDyson, qui
enhizo5127prot
oti
posdesuaspi
rador
a
ant
esdequeest uvi
erasati
sfechodequel ohabí
aconsegui
do
(www.i
nter
nati
onal.Dyson.
com/ jd/
1947.asp)
.

 
  

Juguet
eando
Creemosqueesesenci
alj
ugarconl
atecnol
ogí
a,explor
andodi
fer
ent
es
posibi
li
dadesdi
rect
ament
eenhardwar
eysoftware,
avecessinunamet
amuy
defi
nida.
Lareuti
li
zacióndelatecnologíaexi
stent
eesunadelasmej or
esmanerasde
manipular
.Conseguirjuguetesbarat
osoequiposvi
ejosdesechadosy
hackearl
ospar ahacer
loshaceralgonuevoesunadel asmejoresmaner
asde
obtenergrandesresul
tados.

ElCami
noaAr
dui
no7

Par
che
Siempr ehesidofascinadoporl amodulari
dadyl acapaci daddeconst rui
r
sistemascompl ejosmediant elaconexi
óndedi sposit
ivossimples.Este
procesoest ámuybi enrepresentadoporRobertMoogysussi nt
etizadores
anal ógi
cos.Losmúsi cosconst r
uyeronsoni
dos, i
ntentandocombi naciones
interminabl
es"juntando"di
ferentesmódulosconcabl es.Esteenfoquehi zoque
elsinteti
zadorparezcaunvi ejoconmutadort
elefónico,perocombi nadocon
lasnumer osasper i
ll
as,er
al aplataf
ormaperfectaparamezcl armúsi casonora
einnovadora.Mooglodescri
biócomounpr ocesoentre"test
ifi
carydescubr
ir
".
Estoysegurodequelamayor í
adelosmúsicosalprincipi
onosabí aloque
todosesoscient
osdebotones,perol
oint
ent ar
onytrataron,refi
nandosu
propi
oestil
osinint
err
upcionesenelf
luj
o.

Reducirelnúmerodei
nter
rupcionesenelf
luj
oesmuyimpor
tant
eparala
creat
ivi
dad:mientr
asmástransparent
eseaelpr
oceso,
máscambiost
endrán.

Estatécnicahasi dotraduci
daalmundodel sof
twar eporambi ent esde
"programaciónv i
sual"comoMax, PureDataoVVVV.Est asherrami ent as
puedenvi sual
izarsecomo" cajas"paralasdifer
entesf unci
onalidadesque
proporcionan,permit
iendoalusuar i
oconst r
uir"parches"conect andoest as
cajas.Estosentornosper mit
enalusuar i
oexper i
ment arconlapr ogramaci ón
sinlainterr
upciónconst ant
etípi
cadel cicl
ohabi t
ual:"ti
poprograma,
compi laci
ón,maldici
ón-hayuner ror
,errordecor r
ección,compi l
ar ,ejecutar"
.Si
ustedesmásvi sualment e,
lerecomiendoquepr obarlos.
ElCami
noaAr
dui
no9
Cur
vadodelci
rcui
to

Elcurvadodeci rcuitosesunadel asf or masmási nter


esant esde
mani pulación.Eselcor tocir
cuitocr eati
vodel osdi sposit
ivosaudio
elect
róni cosdebaj ovoltaje,baterí
a- accionadoscomopedal esdelefectode
laguitarra,juguetesdel osniños, ypequeñossi nteti
zadorespar acrearlos
nuevosi nst r
ument osmusi calesyl osgener ador essanos.Elcor azónde
estepr ocesoesel" artedelazar ".Comenzóen1966cuandoReedGhazal a,
porcasual i
dad,cor toci
rcuitóunampl i
ficadordej uguetecont raunobjeto
demet alensucaj óndeescr it
orio,loquer esult
aenunacor r i
ent
ede
sonidosi nusuales.Loquemásmegust adel oscur vadoresdeci r
cuitoses
sucapaci daddecr earlosdisposi t
ivosmásl ocos, alej
ándoseconl a
tecnologíasi nnecesar iament eent enderl oqueest ánhaci endoenell ado
teóri
co.
Esunpococomoelf neSni
anzi ff
in'
Gluemost radoaquí:durant
elaer
adel
punk,
conocert
resacordesenunagui t
arrafuesufi
cienteparacomenzar
unabanda.Nodej
esquel osexpert
osenuncampot edi ganquenunca
ser
ásunodeell
os.Ignorar
losysorprenderl
os.

ElCami
noaAr
dui
no11

Tecl
adoHacks
Lostecladosdecomput adorasi
guensi
endolapri
nci
palfor
made
int
eractuarconunacomput ador
adespuésdemásde60años.Alex
Pentland,di
rect
oracadémicodelMITMediaLaborat
ory,
coment
óunavez:
"Di
sculpelaexpr
esión,
perolosuri
nari
osdel
oshombressonmás
i
ntel
igentesquelascomputador
as.Lascomput
ador
asestánai
sladasdel
o
queestáasual r
ededor".

Comot i
nkerers,podemosi mplement arnuevasf ormasdei nteractuarconel
softwar esust i
tuyendol asclavespordi sposi ti
voscapacesdedet ectarel
entorno.Desmont arunt ecl
adodecomput adorarevelaundi spositivomuy
simpl e(ybar ato).Elcorazóndeel laesunat abl
apequeña.Nor mal ment ees
unci rcuitoolorosover deomar róncondosconj untosdecont actosvaa
doscapasdepl ásti
coquesost ienenl asconexi onesent r
el asdiferentes
teclas.Sir eti
raelcircuit
oyut il
izauncabl epar aconect ardoscont actos,
veráapar ecerunal etraenlapant all
adel or denador.Sisal esacompr arun
detect ordedet eccióndemovi mi entoyl oconect aatut eclado, verásquese
presionaunat eclacadavezqueal guiencami nadelantedel acomput adora.
Asigneest oasusof twarefavorito, yust edhahechosucomput ador atan
elegant ecomounur inari
o.Aprenderacer cadel apirateríadet ecladoesun
component eclavedecr eacióndepr ototiposycomput aciónf í
sica.

Cit
adoenSar aReeseHedber
g,"
MITMediaLabdelabúsquedadecomputador
as
per
cept
ivas,
"Sist
emasInt
eli
gent
esysusapl
icaci
ones,
IEEE,j
uli
o/agost
o1998.

ElCami
noaAr
dui
no13

Nosencant
aJunk!
Lagenteti
ralej
osmuchat ecnologíaact ual
ment e:viejasimpr esor
as,
computadoras,
máquinasextrañasdel aofici
na,equi potécnico,e
i
nclusomuchosdemat eri
ami li
tar.Siempr ehahabi doungr an
mercadoparaestat
ecnologíasobr ante,especial
ment eentr
el os
j
óvenesy/ol oshacker smáspobr esylosqueest ánr ecién
comenzando.Est emer cadosehaceevi denteenIvrea, donde
desarroll
amosAr dui no.Laci udader alasededel aempr esaOl ivet
ti
.
Habíanest adohaci endocomput adorasdesdelosañossesent a;A
mediadosdel osnovent a,arrojarontodoenl aschat ar
reríasdel azona.
Estosest ánll
enosdepi ezasdecomput adora,
component es
el
ectrónicosydi sposi tivosext rañosdet odot i
po.Pasamos
i
nnumer ableshor asal l
í, compr andot odotipodear tef
act ospormuy
pocodi neroypi rateandonuest rosprototi
pos.Cuandosepuede
compr arunmi l
lardeal tavocespormuypocodi nero,queest áobl i
gado
all
egaraunai deaalf inal .Acumul arbasuraypasarporel laantesde
empezaraconst ruiralgodesdecer o.

Juguet
esdeHacki
ng
Losjuguetessonunaf ant
ásti
cafuentedet ecnologíabar at
aparahackeary
reuti
li
zar,
comol odemuestralapráct
icadel afl
exi óndeci r
cui
tosantes
mencionada.Conl aafl
uenci
aactualdemi l
esdej uguetesdealta
tecnologí
amuybar atosdeChina,
puedecr earideasr ápidasconunos
pocosgat osr
uidososyunpardeespadasl iger
as.Heest adohaci
endoesto
poralgunosañospar aquemisestudiant
escompr endanquelatecnologí
a
noesat erradoraodifí
cildeacercarse.Unodemi srecur
sosfavorit
osesel
foll
eto"LowTechSensor sandAct uators"deUsmanHaqueyAdam Soml ai
-
Fischer(l
owt ech.
proposit
ions.
org.uk).Creoquehandescri
toperfectamente
estatécnicaenesemanual ,yl
oheest adousandodesdeentonces.

Cami
noaAr
dui
no15
Col
abor
aci
ón
Lacol abor aciónent relosusuar iosesunodel ospr i
ncipi
oscl aveenel
mundoAr duino-at r
avésdelf or oenwww. ar
duino.
cc, per
sonasde
diferentespar tesdelmundoseayudanmut uament eaapr endersobrel
a
plataforma.Elequi podeAr dui noalientaalaspersonasacol aboraranivel
local ,
asícomoayudar l
esacr eargr uposdeusuariosencadaci udadque
visiten.Tambi éncreamosunWi kil
lamado"Playground"
(www. arduino.cc/playground)dondel osusuari
osdocument ansus
descubr imi entos.Est anasombr osovercuántoconoci mientoestas
per sonasvi ertenenl aWebpar aquet odoslousen.Estaculturade
compar ti
ryayudar nosmut uament eesunadel ascosasquemásme
enor gull
ecedeAr duino.
3/LaPl
ataf
ormaAr
dui
no
Arduinosecomponededospar tesprinci
pales:
eltabler
odeAr duino, queeslapiezade
hardwar eenl aquet rabajascuando
construyest usobjetos;YelAr duinoIDE,el
softwarequeej ecutaensucomput adora.
Util
iceelIDEpar acr earunbocet o(unpequeño
programadecomput adora)quecargueenl a
tarj
etaAr duino.Elbocet oledi
cealconsej o
quéhacer .
Nohacemuchot iempo,trabaj
arenhardwaresi
gni f
icabaconstr
uirci
rcui
tos
desdecer
o,usandocientosdecomponentesdiferentesconnombr esext
raños
comoresi
stenci
as,condensadores,
induct
ores,
transistor
es,et
c.

Cadacir
cuit
ofue"cabl
eado"parahacerunaapli
caci
ónespecí
fi
ca,yhacer
cambiosnecesar
iospar
acortarcabl
es,conexi
onesdesol
dadura,
ymás.

Conlaapari
cióndet
ecnol
ogíasdi
git
alesymicr
opr
ocesadores,est
asfunci
ones,
queunavezsei mpl
ement
aronconcables,
fuer
onreemplazadasporprogr
amas
desoft
ware.

Elsoftware es más f ácilde modif


icarque elhardware.Con algunas
pul
sacionesdeteclas,puedecambi
arradical
mentelal
ógicadeundi
spositi
vo
yprobardosotresversionesenlamismacant i
daddeti
empoquelell
evarí
aa
sol
darunparder esist
encias.

Elhar
dwar
edeAr
dui
no
Elt
ablerodeAr duinoesunpequeñot ablerodelmicrocontrolador,queesun
pequeñocircuit
o( eltabler
o)quecont ieneunacomput adoraent er
aenun
pequeñomi croprocesador( elmicrocont rol
ador)
.Esteequi poesporl omenos
milvecesmenospot ent
equeel MacBookqueest oyusandopar aescri
birest
o,
peroesmuchomásbar atoymuyút ilpar aconst
ruirdispositi
vosinter
esantes.
Miraeltabl
erodeAr duino:verásunchi pnegrocon28" pi
er nas"-esechipesel
ATmega168, elcor azóndet utablero.

LaPl
ataf
ormaAr
dui
no19
Nosot ros(elequi
podeAr dui
no)hemoscol ocadoenest aplacat odoslos
component esquesonnecesar iosparaqueest emi crocontroladorfuncione
correctament eypar acomuni carseconsucomput ador a.Haymuchas
versionesdeest etablero;Elqueusar emosal ol argodeest elibroeselAr dui
no
Duemi lanove,queeselmássenci l
lodeusaryelmej orparaapr ender.Sin
embar go,estasinstruccionesseapl i
canaver sionesant er
ioresdelt abl
ero,
incl
uyendoelmásr ecienteArduinoDiecimilayelAr duinoNGmásant i
guo.La
Figura3-1muest raelAr duinoDuemi lanove;LaFi gur a3-2muest raelArduino
NG.

Enesasil
ustr
aciones,
vesl
aplacaAr dui
no.Alpr
incipi
o,t
odosesosconect
ores
podr
íanserunpococonfusos.Aquíestáunaexpli
caci
óndeloquehacecada
el
ementodeltabler
o:

14pi
nesdi
git
alesdeI
/O(
pines0-
13)

Ést
aspuedenserent
radasosal
idas,
queseespeci
fi
camedi
ant
eelcr
oqui
sque
secreaenelI
DE.

6Pi
nesdeEnt
radaanal
ógi
cos(
pines0-
5)

Est
ospinesdeent
radaanal
ógi
cosdedicadost
omanvalor
esanal
ógi
cos(es
deci
r,l
ect
urasdet
ensióndeunsensor
)ylosconvi
ert
enenunnúmeroentr
e0y
1023.

6Pi
nesdeSal
idaanal
ógi
ca(
pines3,
5,6,
9,10y11)

Est
ossonenreal
idadsei
sdel ospi
nesdigi
tal
esquesepuedenrepr
ogr
amar
par
alasal
idaanalógi
caut
il
izandoelbocet
oquesecreaenelIDE.

Laplacapuedeseral imentadadesdeelpuert
oUSBdesucomput adora,l
a
mayor í
adel oscargadoresUSB, ounadapt
adordeCA( recomendadode9
vol
tios,puntadelcañónde2, 1mm, cent
roposit
ivo).Sinohayningunaf uent
e
dealimentaciónenchufadaenelenchufe,l
aener gí
av endrádelatarj
etadelUSB,
perotanpr ontocomoust edtapaunafuent
edeal imentación,
latarj
etala
uti
li
zaráaut omáti
cament e.

NOTA:Siestáuti
li
zandoelArduino-NGantiguooAr dui
noDieci
mil
a,deberá
confi
gurañt
edeseleccióndepotencia(denominadoPWR_ SELenlaplaca)par
a
especi
fi
carlaal
imentaciónEXT(externa)oUSB.Estepuentesepuedeencontr
ar
entr
eelenchufeparaeladaptadordeCAyelpuer toUSB.
Fi
gur
a3-
1.ElAr
dui
noDuemi
l
anove

Fi
gur
a3-
2.ElAr
dui
noNG

LaPl
ataf
ormaAr
dui
no21

ElSof
twar
e(I
DE)
ElIDE( IntegratedDevel opmentEnvi r
onment )esunpr ogr amaespecialquese
ejecutaensucomput ador ayquel eper mi
teescr i
birbocet osparalaplaca
Arduinoenunl enguaj esenci l
lobasadoenell enguajePr ocessing
(www. processing.org).Lamagi aocurrecuandosepr esionaelbotónquecar ga
elbocet oal api zarr
a:elcódi goquesehaescr i
tosetraduceall enguajeC(que
gener alment eesmuydi f
ícilparaunpr i
nci
piante)ysepasaalcompi l
adoravr-
gcc, Unai mpor tant
epi ezadesof twaredecódi goabier toquehacel a
tr
aducci ónf inalallenguaj eentendidoporelmi crocontrolador.Est
eúltimo
pasoesmuyi mpor tante,porqueesdondeAr duinohacesuvi damássi mple
ocultandol ejost antocomoseaposi bledelascompl ejidadesdel a
programaci óndemi crocont r
oladores.

Elci
clodepr
ogr
amaci
óndeAr
dui
noesbási
cament
eelsi
gui
ent
e:
»Conectesutarj
etaenunpuer t
oUSBdesucomputador
a.
»Escri
baunbosquej oquetr
aeráelt
abler
oal
avida.
»Cargueestebocetoenlaplacaatr
avésdel
aconexi
ónUSByesper
eunparde
segundospar
aquel
atar
jet
aser
eini
cie.
»Latabl
aej
ecut
aelbocet
oqueescr
ibi
ó.

NOTA:Lai nst
alacióndeArdui
noenLinuxesalgocompli
cadaenelmoment ode
escri
birest
eartí
culo.Consul
tewww.ardui
no.
cc/pl
aygr
ound/Lear
ning/
Linux
paraobteneri
nstrucci
onescomplet
as.

I
nst
alaci
óndeAr
dui
noenelequi
po
Parapr ogramarl aplacaArduino,primerodebedescar garelentornode
desarroll
o( I
DE)desdeaquí :www. arduino.cc/en/Main/Software.Eli
jalaversi
ón
correctaparasusi stemaoper ati
vo.
Descargueelar chivoyhagadobl ecl i
cenélpar adescompr imirl
o;Estocreará
unacar petallamadaar dui
no-[version]comoar
, dui
no-0012.Ar rast
raesa
carpetaadondequi erasquesea:t uescr i
tori
o,tucarpeta/Aplicaciones(enun
Mac)ot ucarpetaC:\Ar chivosdepr ograma( enWi ndows).Ahor a,si
empr eque
deseeej ecutarelIDEdeAr duino,abrir
álacar petaarduinoyhagadobl ecli
cen
eli
conodeAr dui
no.Per onohagasest otodavía;Hayunpasomáspar areali
zar
.

NOTA:Sit
ieneprobl
emaspar
aej
ecut
arelI
DEdeAr
dui
no,
consul
teelCapí
tul
o7,
Sol
uci
óndepr obl
emas.

Ahor
adebei
nst
alarl
oscont
rol
ador
esqueper
mit
enquesucomput
ador
ahabl
e
consut
arj
etaat
ravésdelpuer
toUSB.

I
nst
alaci
óndecont
rol
ador
es:Maci
ntosh
BusquelacarpetaDriversdentr
odel acarpetaar duino-
0012yhagadobl ecl
ic
enelarchi
vollamadoFTDI USBSerialDr
iver_x_
x_ x.dmg(x_x_xser
áreemplazado
porelnúmerodever sióndelcontr
olador,porejempl oFTDIUSBSeri
alDr
iver_
v2_2_
9_Int
el.
dmg) .Hagadobl ecl
icenelar vo.
chi dmgpar amontarl
o.

NOTA:Siest áuti
li
zandounaMacbasadaenI ntel
,comoMacBook, MacBook
Pro,MacBookAi r,MacProoI nt
elMi ni-
MacoiMac,asegúresedei
nst
alarel
contr
oladorcon" I
ntel
"ensunombr e,comoEn
FTDIUSBSerialDr
iver_
v2_2_9_I
ntel.
dmg.Sinoestáuti
li
zandounaMacbasada
enIntel
,inst
alelaquenot enga"Int
el"ensunombre.

Acont i
nuación,instal
eelsof t
waredel paqueteFTDI USBSeri
alDriverhaciendo
doblecl i
cenél.Sigal asinst
ruccionesproporcionadasporelinstaladory
escribalacontraseñadeunusuar i
oadmi ni
str
at i
vosiselesoli
cita.Alfinalde
esteproceso,reini
cieelequipopar aasegurarsedequel oscontrolador esest
án
correctamentecar gados.Ahoraconect elatarj
etaensucomput adora.Lal uz
PWRdel at
arj
etadebeencender seyelLEDamar i
ll
oconlaetiqueta" L"deberí
a
comenzarapar padear .Sinoesasí ,
consult
eelCapí tul
o7,Soluciónde
problemas.

I
nst
alaci
óndecont
rol
ador
es:Wi
ndows
Enchufelat
arjet
aAr dui
noenlacomputadora;Cuandoapar
ezcal
aventana
Asist
enteparahardwarenuevoencont
rado,Windowsint
entar
ápr
imero
encontr
arelcontrol
adorenelsi
ti
odeWi ndowsUpdate.

WindowsXPl epregunt
arásideseacomprobarWindowsUpdat
e;Sinodesea
ut
ili
zarWindowsUpdate,sel
eccionel
aopción"No,noenest
emoment o"yhaga
cl
icenSiguient
e.

Enlasi
gui
entepantal
la,
eli
ja"
Inst
alardesdeunal
ist
aoubi
caci
ónespecí
fi
ca"y
hagacl
icenSigui
ente.

LaPlat
afor
maAr dui
no23
Marquelacasil
la"Incl
uirestaubi caci
ónenlabúsqueda",hagacli
cenExaminar
,
sel
ecci
onelacar petadondei nstalóArdui
noyselecci
onelacarpetaDri
vers\
FTDIUSBDr i
verscomoubi cación.HagaclicenAceptaryenSiguient
e.

WindowsVistapri
mer oint
entar
áencontr
arelcontr
oladorenWindowsUpdate;
Siest
ofal
la,puedeindicar
lequebusqueenlacarpetaDri
vers\FTDIDr
iver
s
USB.

Pasaráporesteprocedimi
entodosveces,
porqueelequi
popri
meroinstal
ael
contr
oladordebajonivel
,l
uegoinst
alauncódigoquehacequelat
arjet
asevea
comounpuer toseri
eenelequipo.

Unavezinst
aladosloscontr
olador
es,
puedei
nici
arel
IDEdeAr
dui
noy
comenzarautil
izarAr
duino.

Acont i
nuación,
debedeter
minarquépuert
oserieest
áasignadoasut arj
eta
Arduino:necesi
tar
áesainfor
maciónpar
apr ogr
amarl
amást arde.Las
i
nstruccionesparaobt
enerestai
nfor
maciónseencuent
ranenl assigui
entes
secciones.
I
dent
if
icaci
óndepuer
tos:Maci
ntosh
EnelmenúHerramientasdelIDEdeAr dui
no,selecci
one"Puer
toser
ie"yselecci
one
elpuert
oquecomienzacon/ dev/
cu.usbseri
al-
;Esteeselnombrequeuti
lizasu
computador
aparareferi
rsealaplacaArduino.LaFigur
a3-3muestralal
istade
puert
os

Fi
gur
a3-
3.
Lal
ist
adepuer
tosser
iedelI
DEdeAr
dui
no

LaPl
ataf
ormaAr
dui
no25
I
dent
if
icaci
óndelPuer
to:Wi
ndows
EnWi ndows,elpr ocesoesunpocomáscompl i
cado,almenosalpr i
nci
pio.Abra
elAdmi ni
str
adordedi sposit
ivoshaci endocl i
cenelmenúI nici
o,hagacliccon
elbot ónsecundar ioenEqui po( Vist
a)oMi PC( XP)yseleccionePr opi
edades.
EnWi ndowsXP, hagacl i
cenHar dwar eyel i
jaAdmi ni
stradordedi sposi
ti
vos.En
Vista,hagacl i
cenAdmi ni
stradordedi sposi t
ivos(apareceenl ali
stadetareasa
laizquierdadel avent ana).
Busqueeldi sposi ti
voAr dui
noenl ali
st abajo" Puert
os( COM &LPT) "
.ElArdui
no
apar ecerácomounpuer toserieUSByt endráunnombr ecomoCOM3, comose
muest r
aenl aFigur a3-4.

Figur
a3-4.
ElAdminist
radordedi
sposi
ti
vosdeWi
ndowsmuest
rat
odosl
ospuer
tosser
iedi
sponi
bles
NOTA:Enal gunasmáqui nasWi ndows,elpuert
oCOM ti
eneunnúmeromayor
que9;Estanumer aci
óncr eaalgunosproblemascuandoArdui
not
rat
ade
comunicarseconél.ConsulteelCapít
ulo7, Sol
uci
óndeprobl
emasparaobt
ener
ayudasobreesteproblema.

Unavezquehayadescubi
ert
olaasignaci
óndepuert
oCOM,puedeselecci
onar
esepuer
toenelmenúHerramient
as>Puertoser
ieenelI
DEdeArdui
no.

Ahor
a,elent
ornodedesar
rol
lodeAr
dui
nopuedehabl
arconl
apl
acaAr
dui
noy
pr
ogramarl
o.

LaPl
ataf
ormaAr
dui
no27
4/Real
menteempezando
conArdui
no
Ahor
aaprenderácómocrearypr
ogr
amarun
di
sposi
ti
voint
eract
ivo.
Anat
omí
adeundi
sposi
ti
voi
nter
act
ivo
Todosl osobj etosqueconst r
uiremosusandoAr duinosegui r
ánunpat r
ónmuy
simplequel l
amar emos" I
nt eracti
veDevi ce".Eldispositivointeracti
voesun
circui
toelect r
óni coqueescapazdedet ectarelambi ent euti
li
zandosensor es
(component esel ectrónicosqueconvi ertenl asmedi cionesdel mundor ealen
señaleseléct r
icas) .Eldisposi ti
vopr ocesalai nf
or maci ónquer ecibedel os
sensoresconuncompor tami entoquesei mplement acomosof tware.El
dispositi
voser ácapazdei nteractuarconelmundout il
izandoact uadores,
component esel ectrónicosquepuedenconver t
irunaseñalel éctri
caenuna
acciónf í
sica.

Sent
ido/per
cepci
ón

Sensor
es

Compor
tami
ent
(
so
oft
ware )

Act
uador
es

Act
uar/Reacci
onar

Fi
gur
a4-
1.
Eldi
sposi
ti
voi
nter
act
ivo

LaPl
ataf
ormaAr
dui
no29

Sensor
esyAct
uador
es
Lossensor
esyact
uador
essoncomponent
esel
ect
róni
cosqueper
mit
enque
unapi
ezadeel
ect
róni
cai
nter
act
úeconelmundo.

Comoelmi crocontrol
adoresunacomput adoramuysi mpl
e, sól
opuede
procesarseñal eseléctricas(unpococomol osimpul soseléctri
cosquese
envíanent relasneur onasdenuest r ocerebro).Paraquedet ecteluz,
temper aturauot rascant i
dadesfísicas,necesitaalgoquepuedaconv ert
ir
lasen
electri
cidad.Ennuest r
ocuer po,
porej empl o,eloj
oconvi er
tel aluzenseñal es
queseenví anal cerebrousandol osner vios.Enelectróni
ca,podemosut il
izar
undi spositi
vosi mplellamadounar esistenciadependientedel aluz(unLDRo
fotorresi
stor)quepuedemedi rl
acant idaddel uzquel ogolpeayr epor t
arl
o
comounaseñalquepuedeserent endidaporelmi cr
ocontrolador.

Unavezquel ossensor eshansi doleí


dos, eldisposi
tivoti
enelai nformación
necesariapar
adeci di
rcómor eacci
onar.Elpr ocesodet omadedeci sioneses
manej adoporelmicrocontrol
ador ,
ylar eacciónesr eal
izadaporact uadores.En
nuestroscuerpos,
porej emplo,losmúscul osr eci
benseñal eseléctri
casdel
cerebroylasconviert
enenunmovi miento.Enelmundoel ectrónico,estas
funcionespodrí
anserr eal
izadasporunmot oreléct
ricoounmot oreléctri
co.

Enlassigui
ent
essecciones,
apr
ender
áaleersensor
esdedi
fer
ent
est
iposy
contr
olardi
fer
ent
estiposdeact
uador
es.

Par
padeandounLED
Elbocet
odepar padeodeLEDeselpr imerprogramaquedebeej ecutarpara
comprobarsisutarj
etaArduinof uncionayest áconfi
guradacor
rectamente.
Tambiénsueleserelpri
merej ercici
odepr ogramaciónquealgui
enhace
cuandoaprendeapr ogr
amarunmi crocont
rolador.Undiodoemisordeluz(LED)
esunpequeñocomponent eelectrónicoqueesunpococomounabombi ll
a,
peroesmásef i
cient
eyr equi
er evoltajesmásbaj osparaoper
ar.

Sutar
jet
aArduinovieneconunLEDpreinst
alado.Est
ámarcadocon"L"
.
Tambiénpuedeagregarsupropi
oLED-conectar
locomosemuestraenlaFi
gur
a
4-
2.

Ki
ndicaelcát
odo(negat
ivo)
,oelpl
omomáscor
to;Ai
ndi
caelánodo(
posi
ti
vo)
,
oelpl
omomásl ar
go.

UnavezqueelLEDestáconectado,necesi
tadecirl
eaAr duinoquéhacer
.Est
o
sehaceatr
avésdecódigo,esdecir
,unal i
stadeinstr
uccionesqueledamosal
micr
ocont
rol
adorpar
aquehagal oquequer emos.
Fi
gur
a4-
2.
Conexi
óndeunLEDaAr
dui
no

Ensucomput adora,abralacarpetadondecopi óelIDEdeAr dui


no.Hagadoble
cl
iceneliconodeAr duinoparainiciarl
o.SeleccioneArchi
vo>Nuevoysel e
pedir
áqueel i
jaunnombr edecar petadebocet o:aquísealmacenar ásuboceto
Ardui
no.Asigneunnombr eaBlinking_LEDyhagacl icenAceptar.A
conti
nuación,escr
ibaelsigui
entetexto(Ejemplo01)eneledi tordebocet
osde
Ardui
no(laventanaprinci
paldelIDEdeAr duino).Tambiénpuededescargarl
o
desdewww. makezine.com/getstartedardui
no.Deber áaparecercomose
muest
raenl
aFi
gur
a4-
3.
/
/Ej
empl
o01:LEDpar
padeant
e

#Def
ini
rLED13/
/LEDconect
adoa/
/

pi
ndi
git
al13

Voi
dset
up(
){

 
 Pi
nMode(
LED,
SALI
DA)
;//est
abl
eceelpi
ndi
git
al

comosal
ida}

Voi
dloop(
){

 
 Di
git
alWr
it
e(LED,
ALTA)
;//act
ivaelr
etar
dodeencendi
dodel
LED(
1000)
;//esper
aun

segundodi
git
alWr
it
e(LED,
LOW)
;//desact
ivaelLED(
1000)
;//esper
aunsegundo}

Ver
if
icar Car
garpar
aI/
Olat
arj
eta
Subosquej
ovaaquí

Figur
a4-3.
ElIDEdeArdui
noconelpr
imerdi
buj
ocar
gado

Ahoraqueelcódi goest áensuIDE,debeveri


ficarqueescor r
ect
o.Presioneel
botón"Veri
ficar
"(laFigura4-3muestrasuubicación);Sit
odoestácorrecto,
apareceráelmensaj e"Donecompil
ación"enlapar t
ei nf
eri
ordelI
DEdeAr dui
no.
Estemensajesignifi
caqueelI DEdeAr dui
nohat raducidosubocetoenun
programaejecutablequepuedeejecutarlapl
aca, unpococomounar chivo.exe
enWi ndowsounar chivo.appenunaMac.

Enestemoment o,puedecargar
loenlaplaca:pr esioneelbot ónCargarenla
tar
jetadeI/O(consul
tel
aFigura4-3)
.Estorestabl ecerálaplaca,obl
igándol
aa
detenerl
oqueest áhaci
endoyescucharlasinst ruccionesprocedentesdel
puertoUSB.ElIDEdeArduinoenvíaelbocet
oact ual alt
ablero,quelo
almacenaráensumemor i
ayloejecutar
áevent ual mente.

LaPl
ataf
ormaAr
dui
no33

Veráqueaparecenal
gunosmensaj eseneláreanegraenlaparteinf
eri
ordela
ventanay,
just
oencimadeesazona, apar
eceráelmensaje"
Final
izarl
acarga"
paraquesepaqueelprocesosehacompl et
adocorrect
amente.HaydosLEDs,
marcadosRXyTX, eneltabl
ero;Estosparpadeancadavezqueunbyt ees
enviadooreci
bidoporel
tabl
ero.Dur
ant
eelpr
ocesodecar
ga,
siguen
parpadeando.

Sinoveelparpadeodel osLEDs, osiapar


eceunmensaj edeerrorenlugarde
"Fi
nali
zarl
acarga",hayunpr oblemadecomuni caci
ónentr
esucomput ador
ay
Ardui
no.Asegúresedehabersel ecci
onadoelpuertoser
iecorr
ecto(consult
eel
Capít
ulo3)enelmenúHer r
ami ent
as>Puertoseri
e.Además,compruebeel
menúHer r
amientas>Panelpar aconfi
rmarqueelmodelocorrectodeAr dui
no
estásel
ecci
onadoal l
í.

Si
todaví
ati
enepr
obl
emas,
consul
teelCapí
tul
o7,
Sol
uci
óndepr
obl
emas.

Unavezqueelcódi
goestéentutabler
odeAr duino,
permaneceráal
líhast
a
quepongasot
rodibuj
oenél.Elbocetosobrevi
vir
ásilat
arj
etasereini
ciaose
apaga,
unpococomol osdat
oseneldi scodurodesucomput ador
a.

Suponiendoqueeldi bujohayasidocargadocor r
ect amente,veráqueelLED
"L"seenciendeporunsegundoydespuésseapagadur anteunsegundo.Si
inst
alóunLEDsepar adocomosemuest raenl aFigura4-2,eseLED
parpadearátambién.Loqueacabadeescr ibi
ryej ecutaresun" pr
ogramade
comput adora"
,oesbozo, comosel l
amanl osprogr amasdeAr duino.Arduino,
comohemenci onadoant es,esunacomput adorapequeña, ysepuede
programarparahacerl oquequieras.Est
osehaceusandounl enguaj
ede
programaciónparaescr i
birunaseri
edeinst r
uccionesenelI DEdeAr duino,
queloconvierteenunej ecutabl
eparasupl acaAr duino.

Temost raréluegocómoent enderelboceto.Enprimerlugar


, elAr
duinoejecut
a
elcódigodear r
ibaaabaj o,porloquel aprimeralí
neaenl apartesuperi
oresla
primeralectura;Acont inuación,semuevehaci aabajo,unpococomol afor
ma
enlacabezader eproduccióndeunr eproductordevídeocomoQui ckTi
me
PlayeroWi ndowsMedi aPlayersemuevedei zqui
erdaader echaquemuest ra
dóndeenl apel í
cul aqueest á.

PásameelPar
mesano
Observelapr esenciadecor chetes,queseut i
li
zanpar aagr
uparl í
neasde
código.Estossonpar ti
cular
ment eút i
lescuandosedeseadarunnombr eaun
grupodei nstrucciones.Siestásenl acenayl epr eguntasaalguien:"Porfavor
,
pásameelquesopar mesano",est
oi nici
aunaser iedeaccionesqueser esumen
enlapequeñaf r
asequeacabasdedeci r.Comosomoshumanos, todoviene
natural
ment e,per otodaslaspequeñasacci onesi ndivi
dualesnecesar i
aspara
hacerestodebenserexpl icadasalAr duino,por quenoest anpoder osocomo
nuestrocerebr o.Asíquepar aagruparunaser iedei nstr
ucciones,sepegaun
{antesdesucódi goyun}después.

Puedeverquehaydosbl
oquesdecódi
goquesedefi
nendeest
amaner
aaquí
.
Antecadaunodeell
oshayunext
rañomandami
ento:
voi
dset
up(
)
Estalí
neadaunnombr eaunbloquedecódi go.Siescr i
bierasunal i
stade
inst
ruccionesqueenseñenaAr dui nocómopasarelpar mesano, escri
bir
ías
voidpassThePar mesan()alpri
ncipiodeunbl oque,yest ebloqueseconver t
ir
ía
enunai nstrucci
ónquepuedesl lamardesdecual quierpart
edel códigode
Arduino.Estosbloquessell
amanf unci
ones.Sidespuésdeest oescr i
bes
passThePar mesan()encualquierpartedetucódi go,Ardui
noej ecutaráesas
inst
ruccionesycont i
nuar
ádondel odej ó.

Ar
dui
nonoespar
aNi
ños(
Qui
tt
ers)
Ar
dui
noesper
aqueex
ist
andosf
unci
ones:unal
lamadaset
up(
)yot
ral
lamada
l
oop(
).

set
up()esdondeponet odoelcódigoquedeseaej ecut
arunavezalpr i
ncipi
o
desupr amayl
ogr oop()conti
eneelnúcleodesupr ogr
ama, queseejecutauna
yotravez.Estosehacepor queArduinonoescomosucomput adoranormal:
nopuedeej ecutarvar
iosprogramasalmi smot i
empoylospr ogramasno
puedensalir.Cuandoseenciendelatarj
eta,elcódi
goseejecuta;Cuando
qui
erasparar ,si
mplementeapágalo.

Real
esGi
tanos(
Tinker
es)Escr
ibenComent
ari
os
Cual
quiertext
oqueempi ecepor//esignoradoporArdui
no.Estasl
íneasson
comentari
os,quesonnotasquedej asenelprogramaportimismo,paraque
puedasrecordarloquehici
stecuandoloescri
bist
e,opar
aalguienmás,para
quepuedanent endert
ucódi
go.

Esmuycomún( losépor quelohagotodoeltiempo)escr i


birunpedazode
código,subirl
oaltablero,ydeci
r"Okay-yonuncavoyat enerquet ocaraeste
chupóndenuevo! "SóloparaTengaencuent asei smesesdespuésque
necesit
aact uali
zarelcódigoocor r
egirunerror.Enestepunt o,seabreel
programa,y​sinohai nclui
doningúncoment ari
oenelpr ogramaor i
ginal
,ust
ed
pensará:"Wow, ¡quédesastre!¿
Pordóndeempi ezo?"Amedi daqueavancemos,
veremosal gunost r
ucospar ahacerquesuspr ogramasseanmásl egibl
esy
másf ácil
esdemant ener.

ElCódi
go,
pasoapaso
Alpri
nci
pio,
podrí
asconsiderari
nnecesarioesteti
podeexpl icación,unpoco
comocuandoestabaenlaescuel aytuvequeest udiarlaDivinaCommedi ade
Dante(t
odoest
udiantei
tali
anotienequepasarporeso, asícomoot rolibr
o
l
lamadoIpromessisposi
,oTheBet rothed-
oh,laspesadi l
las).¡Paracadal ínea
delospoemas,habí
acienlíneasdecoment ari
o!Sinembar go,laexplicación
serámuchomásút i
laquícomoust edpasaaescr i
birsuspr opiosprogr amas.
/
/Ej
empl
o01:Bl
inki
ngLED
Uncomentari
oesunamaner aút
ilpar
aqueescri
bamospequeñasnot
as.El
comentar
iodelt
ít
ulopr
ecedent
esólonosrecuer
daqueest
eprograma,Ej
empl
o
01,par
padeaunLED.

#def
ineLED13/
/LEDconect
adoa
 
  
  
  
  
  
  
  
//di
git
alpi
n13
#defi
neescomounabúsquedaaut omáti
cayr eemplazarporsucódigo;En
estecaso,l
eest ádi
ciendoaAr dui
noqueescribaelnúmer o13cadavezque
aparezcalapal aLED.Elr
abr eemplazoesl opri
mer oquehacecuandohace
cl
icenVer i
fi
caroCargarenl aTarjet
adeI/O( nuncavel osr
esul
tadosdela
susti
tuci
óncomosehacedet rásdel asescenas).Estamosuti
li
zandoeste
comandopar aespeci
ficarqueelLEDqueestáparpadeandoestáconect
adoal
pinArdui
no13.

voi
dset
up(
)
Estal
íneai
ndi
caaAr
dui
noqueelsi
gui
ent
ebl
oquedecódi
gosel
l áset
amar up
()
.

{
Conest
aabr
azader
adeaper
tur
a,unbl
oquedecódi
gocomi
enza.

pi
nMode(
LED,
OUTPUT)
;//est
abl
eceelf
ormat
odi
git
al
 
  
  
  
  
  
  
  
  
  
   
 /
/pi
ncomosal
ida.
Fi
nalment e, unainstrucciónreal
ment ei nt
eresante.pinModel eindicaaAr dui
no
cómoconf igurarundet erminadopin.Lospi nesdi git
alessepuedenut il
izar
comoI NPUToOUTPUT.Enest ecaso, necesit
amosunpi ndesalidapara
contr
olarnuest roLED, porloquecolocamoselnúmer odel pi
nysumodo
dentr
odel ospar éntesis.pi
nModeesunaf unción, yl
aspal abras(onúmer os)
especif
icadosdent rodel osparént
esissonar gument os.INPUTyOUTPUTson
constantesenell enguajeAr dui
no.(Aligualquel asvar i
ables,l
asconstantesse
asi
gnanval ores,exceptoquel osvaloresconst antessonpr edefi
nidosynunca
cambian.)

}
Est
eci
err
eri
zadosi
gni
fi
caelf
inaldel
af ónset
unci up(
).

voidloop()
{
loop()esdondeseespeci
fi
caelcompor
tami
ent
opr i
nci
paldesudi
sposi
ti
vo
inter
acti
vo.Ser
epet
ir
áunayotr
avezhast
aqueapagueelt
abl
ero.

di
git
alWr
it
e(LED,
HIGH); /
/enci
endeelLED
Comodi ceelcomentario,di
gitalWr
ite(
)escapazdeacti
var(odesacti
var)
cualqui
erpinquesehayaconf igur
adocomoOUTPUT.Elpr imerargumento(en
estecaso,LED)especif
icaquépasadorsedebeencenderoapagar( recuerde
queelLEDesunval orconst antequeserefi
erealpi
n13,porloqueesteesel
pinquehacambi ado).Elsegundoar gumentopuedeact
ivarelpi
n(HIGH)o
desact
ivar
lo(
LOW)
.

I
magi nequecadapi ndesal i
daesunat omadecor rientepequeña,comol as
quet i
eneenl asparedesdesuapar tament o.Laseur opeasson230V, l
as
amer i
canasson110V, yArduinofuncionaaun5V.Lamagi aaquíescuandoel
softwareseconvierteenhar dware.Cuandoescr ibadigital
Write(
LED,HIGH),gi
ra
elpindesal i
daa5V, ysiconectaunLED, seencender á.Asíqueenest epunto
desucódi go,unainstrucciónensof twarehacequeal gosucedaenelmundo

sicomedi anteelcontroldelfl
ujodeel ectri
cidadal aclavi
ja.Encendery
apagarelpi navoluntadahor avamosat raducirestosenal gomásvi si
blepara
unserhumano;ElLEDesnuest roactuador .

del
ay(
1000)
;. /
/esper
aunsegundo
Ar
dui
not
ieneunaest
ruct
uramuybási
ca.Porl
otant
o,siust
edqui
erequel
as
cosassucedanconci
ert
aregul
ari
dad,dí
gal
equesesi
ent
etr
anqui
lament
ey
nohaganadahast
aqueeshor
adei
ralsi
gui epaso.del
ent ay(
)bási
cament
e
hacequeelpr
ocesadorsesi
ent
eal
líynohaganadaporl
acant
idadde
mi
li
segundosquepasacomoar
gument
o.Losmi
li
segundossonmi
lesde
segundos;Porl
otant
o,1000mi
li
segundosesi
guala1segundo.Asíqueel
LEDper
maneceencendi
doporunsegundoaquí
.

di
git
alWr
it
e(LED,
LOW)
;. /
/apagaelLED

Est
ainst
rucci
ónahor
aapagaelLED quehabí
amosact
ivadoant
eri
orment
e.
¿
PorquéusamosHI
GHyLOW?Bueno,
esunavi
ejaconvenci
ónenel
ect
róni
ca
di
git
al.HI
GHsi
gni
fi
caqueelpi
nest
áencendi
do,yenelcasodeAr
dui
no,se
aj
ust
aráa5V.LOW si
gni
fi
ca0V.Tambi
énpueder
eempl
azarment
alment
e
est
osar
gument
osconONyOFF.

del
ay(
1000)
; /
/esper
aunsegundo

Aquí
,demor
amosporot
rosegundo.ElLEDseapagar
ádur
ant
eunsegundo.

}
Est
eci
err
eri
zadomar
caelf
inaldel
afunci
óndebucl
e.

Par
aresumi
r,est
epr
ogr
amahaceest
o:

»Convi
ert
eelpi
n13enunasal
ida(
sól
ounav
ezalpr
inci
pio)

»Introduceunbucl
e
»ConectaelLEDconectadoal
acl
avi
ja13

»Esperaunsegundo

»DesconectaelLEDconectadoal
acl
avi
ja13

»Esperaunsegundo

»Retrocedeali
nici
odelci
clo
 
Esper
oquenohayasidodemasi
adodolor
oso.Apr
ender
ámássobr ecómo
progr
amaramedidaquevayaatr
avésdelosej
emplospost
eri
ores.

Ant esdepasaralasigui
entesecci
ón,quieroquejueguesconel códi
go.Por
ejempl o,r
eduzcalacant
idadderetar
do,usandonúmer osdif
erentesparal os
pul sosdeencendidoyapagado,demodoquepuedav erdif
erentespatronesde
par padeo.Enpart
icul
ar,
usteddebeverloquesucedecuandosehacenl os
retrasosmuypequeños, per
oelusodedi fer
entesret
rasospar aencendidoy
apagado...Hayunmoment oenquesucedealgoext r
año;Este"algo"ser ámuy
útilcuandoaprendasobrelamodulacióndeanchodepul somásadel anteen
estel i
bro.
Loquevamosaconst
rui
r
Siempr eheest adof asci
nadoporl aluzyl acapacidaddecont rolardi
ferent
es
fuent esdeluzat ravésdel atecnología.Hetenidolasuertedet r
abajaren
algunospr oyectosinteresantesquei mplicancontrol
arlaluzyhacer l
a
interactuarconlagent e.Arduinoesr ealmentebuenoenest o.Al olargodeeste
li
br o,estar
emost rabajandoencómodi señar"l
ámparasi nt
eracti
vas",usando
Ardui nocomounaf ormadeapr enderl osconceptosbásicosdecómose
const ruyenlosdispositi
vosinteracti
vos.

Enlasiguientesecci
ón,
voyat r
atardeexpl
icarlosfundamentosdel
a
el
ectr
icidaddeunamaner aqueabur r
ir
íaauni ngeni
ero,per
onoasustar
áaun
nuevopr ogramadordeArdui
no.
¿
Quéesl
ael
ect
ri
cidad?

Siust
edhahechocualquierplomerí
aencasa, laelect
róni
canoseráun
probl
emapar aqueust
edentienda.Paraentendercómof unci
onanloscir
cuit
os
el
éctr
icosyeléct
ri
cos,
lamej ormaneraesusaral goll
amadola"analogí
adel
agua".Tomemosundisposit
ivosimple,comoelvent i
l
adorport
áti
lali
mentado
porbaterí
aquesemuestraenl aFi
gura4-4.
Fi
gur
a4-
4.
Unvent
il
adorppor
tát
i

Siustedtomaunvent i
l
adorapar te,ust
edver áquecont ieneunabat erí
a
pequeña,unpardeal ambr es,
yunmot oreléctrico,yqueunodel osalambres
quevanalmot oresi nterrumpidoporuni nterruptor.Sitieneunabat er
íanuevay
enci
endaelinter
ruptor, elmotorempezar áagi rar ,
propor cionandoelfrí
o
necesari
o.¿Comof unci onaesto?Bueno, imagí nesequel abat er
íaesun
depósit
odeaguayunabomba, eli
nterruptoresungr i
fo, yelmot oresunade
esasruedasqueust edveenl osmol i
nosdeagua.Alabr irelgrif
o,elaguafl
uye
delabombayempuj alar uedaenmovi mi ento.

Enestesenci
ll
osi
stemahidr
áuli
co,quesemuestraenlaFigura4-
5,son
impor
tantesdosf
actor
es:l
apresi
óndelagua(quesedeterminaporlapot
enci
a
delabomba)ylacanti
daddeaguaquef l
uir
áenlastuber
ías(est
odependedel
tamañoDelast
uberí
asylar
esi
stenci
aquel
aruedapr
opor
cionar
áal
acor
ri
ent
e
deaguaquelagol
pee).

Fi
gur
a4-
5.
Unsi
stemahi
drául
i
co

Prontosedar ácuent adequesideseaquel ar uedagi remásr ápido,necesita


aument areltamañodel astuber
ías(
peroest osól of uncionahast aunpunt o)y
aument arlapresiónquel abombapuedel ograr .Aument areltamañodel as
tuberí
asper miteunmayorf l
ujodeaguapar aat ravesarlas;Haciéndolosmás
grandes,hemosr educidoefi
cazmentel
ar esistenciadel aspipasalfluj
odel
agua.Esteenf oquef unci
onahastacier
topunt o, enelquel aruedanogi rará
másr ápido,porquel apresi
óndelaguanoesl osuf icientement efuer
te.Cuando
l
legamosaest epunt o,necesi
tamosquel abombaseamásf uer t
e.Estemét odo
deacelerarelmol inodeaguapuedecont inuarhast aelpunt ocuandol arueda
secaepor queel fluj
odeaguaesdemasi adof uer t
epar aélysedest r
uye.Ot ra
cosaquenot aráesqueamedi daquegiralar ueda, elejesecal entar
áunpoco,
porquenoi mpor t
al obienquehemosmont adol arueda,

Lafr
icci
ónentr
eelej eylosori
fi
ciosenl
osqueestámont adogenerarácalor
.Es
import
anteent
enderqueenunsi stemacomoeste,notodalaenergíaque
bombasenelsistemaseconver t
iráenmovi
mient
o;Algunosseper deránen
unaseriedei
nefi
cienci
asygener al
mentesemostr
arácomoelcal orqueemana
dealgunaspar
tesdelsistema.

¿Cuál
essonlaspartesi
mpor t
antesdelsi
stema?Lapresi
ónproduci
daporla
bombaesuna;Lar esi
stenci
aquelastuberíasyl
aruedaofr
ecenalf
luj
ode
agua,
yelfl
ujorealdeagua(digamosqueest oserepr
esent
aporelnúmerode
l
it
rosdeaguaquef luyenenunsegundo)sonl osot ros.Laelect
rici
dadf unciona
unpococomoelagua.Ust edti
eneunaespeci edebomba( cual
quierfuent ede
el
ectr
ici
dad,comounabat eríaounenchuf edepar ed)queempuj alascar gas
el
éctr
icas(i
magí nelascomo" gotas"deelectri
cidad)haciaabajodel astuberías,
queestánrepresentadasporloscables-algunosdispositi
vospuedenut ili
zar
Est
ospar aproducircalor(
mant atérmicadesuabuel a),l
uz(sulámpar ade
dormi
tori
o),sonido( suest
éreo),
movi miento(suvent i
lador)
,ymuchomás.

Asíquecuandoleaqueelvolt
ajedeunabaterí
aesde9V, pienseenestevol
taj
e
comolapr esi
óndelaguaquepotencial
mentepuedeserpr
oducidaporesta
pequeña"bomba".Elvol
taj
esemideenvolti
os,ll
amadoasíporAlessandr
o
Volt
a,eli
nventordelapr
imerabater
ía.

Asícomol apresi
óndel aguat i
eneunequi val
enteeléctri
co,elcaudal deagua
tambiénlohace.Estosel l
amacor ri
ente,
ysemi deenamper ios(despuésde
André-MarieAmpère,pi
oner odelelect
romagnetismo) .Larelaciónentret
ensión
ycorri
entesepuedei l
ustrarvolvi
endoalar uedadeagua:unvol t
ajemásalto
(pr
esión)ledejagi
rarunar uedamásr ápidament e;Unamayorv eloci
dadde
fl
ujo(corr
ient
e)lepermitegirarunaruedamásgr ande.

Finalment e,l
ar esistenciaqueseoponealf lujodelacorr ientesobrecualquier
trayectoriaquevi ajasedenomi na-vinousted-resi
stencia, ysemi deenohmi os
(despuésdel fí
sicoal emánGeor gOhm) .HerrOhm t ambi énf ueresponsablede
formul arlaleymási mpor tanteenl aelectr
icidadylaúni caf órmulaque
realment enecesi t
ar ecordar .Fuecapazdedemost r
arqueenunci r
cuit
oel
voltaje,lacorri
enteyl ar esistenciaestántodosr el
acionadosent resí
,yen
par t
icularquelar esistenciadeunci rcui
todet er
minal acant idaddecor r
iente
quef luiráatravésdeél ,dadaunaci ert
afuent edevoltaj
e.

Esmuyi nt ui
ti
vo, silopi ensas.Tomeunabat erí
ade9Vyconéct el
oenun
circui
tosimpl e.Mi ent r
asmi decorriente,encontr
ar áquecuant omás
resist
enciasañadaalci rcui
to, menoscor ri
enteviajar
áat ravésdeél .Volviendo
al aanalogíadelaguaquef luyeenl ast uberí
as,dadaunaci ertabomba, si
instal
ounavál vula( quepodemosr elacionarconunar esi
storvar i
ableen
electr
ici
dad) ,
cuant omásci errel
avál vulaaument andolaresistenciaalflujode
agua, menosaguaFl ui
ráat ravésdel astuberí
as.Ohm r esumiósul eyenest as
fórmulas:

R(r
esi
stenci
a)=V(
tensi
ón)/I(
cor
ri
ent
e)
V=R*I
I=V/R

Est
aeslaúni
caregl
aquerealmenteti
enesquememor
izaryapr
enderausar,
por
queenlamayorí
adetutrabaj
o,ést
aeslaúni
caquereal
mentenecesi
tar
ás.
Usodeunpul
sadorpar
acont
rol
arelLED
Par
padeandounLEDf uefáci
l,peronocr
eoquesequedar í
asanosisul ámpara
deescr
it
or i
oconti
nuamenteparpadeamient
rasestabatrat
andodeleerunl ibr
o.
Porl
otanto,ust
ednecesi
taaprendercómocontrolarl
o.Ennuest
roejempl o
ant
eri
or,elLEDeranuest
roactuador,
ynuestr
oAr duinoloest
abacontrolando.
Loquefaltapar
acompletarl
aimagenesunsensor .

Enest
ecaso,
vamosaut
il
izarl
afor
mamássi
mpl
edesensordi
sponi
ble:un
pul
sador
.

Sidesmontasunpulsador,ver
ásqueesundi spositi
vomuysimple:dos
pedazosdemetalseparadosporunmuel l
e,yunt apóndeplásti
coquecuando
sepresi
onaponeencont actolosdostr
ozosdemet al
.Cuandolostrozosde
metalest
ánseparados,nohayci r
cul
aci
óndecor rient
eenelpulsador(unpoco
comocuandounavál vul
adeaguaest ácerrada)
;Cuandol opresi
onamos,
hacemosunaconexión.

Parasuper
visarelest
adodeuninter
rupt
or,hayunanuevainst
rucci
ónde
Ardui
noqueust edvaaaprender
:laf
uncióndigi
tal
Read(
).

digi
talRead()compr uebasihayalgúnvol tajeapli
cadoalpi nqueseespeci fica
entreparéntesisydevuelveunval ordeHI GHoLOW dependi endodesus
result
ados.Lasot rasinst
ruccionesquehemosusadohast aahor anohan
devueltoningunainf or
mación:simpl ementeejecutar
onl oquel espedimosque
hici
eran.Peroeset ipodefunciónesunpocol i
mi t
ada,porquenosobl i
garáa
seguirconsecuenci asdeinstruccionesmuypr edeci
bles,sinlaentradadel
mundoext eri
or.Condigit
alRead(),podemos" hacerunapr egunt a"deArduinoy
reci
birunar espuestaquepuedeseral macenadaenl amemor iaenalgunapar t
e
yutil
izadapar atomardecisionesinmedi atamenteomást arde.

Construyaelcir
cuit
omost r
adoenlaFi
gura4-
6.Par
aconstr
uirest
o,necesi
tar
á
obteneralgunaspartes(
estasser
ánút
il
esamedidaquetr
abajeenotros
proyectostambién)
:

»Tabl
erosi
nsol
dadur
a:Radi
oShack(
www.
radi
oshack.
com)númer
odepi
eza
276-
002,MakerShed(www.maker
shed.
com)númer
odepiezaMKKN3.El
Apéndi
ceAesunai nt
roducci
ónalapl
anchasi
nsol
dadur
a.

»Juegodecabl
esdepuent
eopr
e-cor
tado:Radi
oShack276-
173,
HedgeMaker
KKN4

»Unaresi
stenci
ade10KOhm:Radi
oShack271-
1335(
paquet
ede5)
,Spar
kFun
(
www.
spar
kfun.
com)COM-
08374
»Interruptorpul
sadormoment
áneo:Spar
kFunCOM-
00097

Fi
gura4-6.
Conexi
óndeunpul
sador

NOTA:enlugardecompraral
ambredepuente,ust
edt
ambiénpuedecomprar
al
ambredeconexióndesóli
dosde22AWGenpequeñoscar r
etesycort
ary
pel
arut
il
izandocort
ador
esdealambreyseparador
esdeal
ambr e.
Echemosunvist
azoalcódi
goquevamosaut
il
izarpar
acont
rol
arelLEDcon
nuest
ropul
sador
:

/
/Ej
empl
o02:EncenderelLEDmi
ent
rassepul
saelbot
ón

#def
ineLED13 /
/elpi
npar
aelLED
#def
ineBUTTON7 /
/elpi
ndeent
radadonde

/
/elpul
sadorest
áconect
ado

i
ntval=0; /
/valseut
il
izar
ápar
aal
macenarelest
ado

/
/delpi
ndeent
rada

voi
dset
up(
){
pi
nMode(
LED,
OUTPUT)
; /
/deci
rAr
dui
noLEDesunasal
ida

pi
nMode(
BUTTON,
INPUT)
; /
/yBUTTONesunaent
rada

voi
dloop(
){
val=di
git
alRead(
BUTTON)
; /
/leerel
val
ordeent
radayal
macenar
lo

/
/Compr
uebesil
aent
radaesHI
GH(
bot
ónpul
sado)

i
f(val==HI
GH){

di
git
alWr
it
e(LED,
HIGH)
;//encenderelLEDON

}el
se{

di
git
alWr
it
e(LED,
LOW)
;

EnAr dui
no,seleccioneArchivo>Nuevo( siti
eneotrobocetoabi
erto,puede
guardarl
oprimer o).CuandoAr duinol epi
dequenombr esunuevacar pet
ade
boceto,escr
ibaPushBut tonCont rol
.Escribaelcódi
godel ej
emplo02enAr dui
no
(odescárguelodesdewww. makezi ne.com/ get
star
tedardui
noypéguel oenel
IDEdeAr dui
no) .Sitodoescor recto,elLEDseencender áalpr
esionarelbotónn.

¿
Comof
unci
onaest
o?
Heint
roduci
dodosnuevosconceptosconest
eprogramadeej
empl
o:f
unci
ones
quedevuel
venelr
esul
tadodesut r
abajoyl
ainst
ruccióni
f.

Lasent enciaifesposi bl
ement elainstrucci ónmási mpor t
anteenunl enguaj e
depr ogramaci ón, yaqueper mit
equel acomput ador a(yrecuer de,elAr duinoes
unpequeñoor denador )par atomardeci siones.Despuésdel apal abracl avei f
,
hayqueescr i
bi runa" pregunta"dentrodepar éntesi s,ysil
a" r
espuest a" ,o
resultado,esver dadera, seejecutar
áelpr imerbl oquedecódi go;Del ocont rari
o,
seej ecutar
áelbl oquedecódi godespuésdeot ro.Tengaencuent aquehe
usadoelsí mbol o==enl ugarde=.Elpr imer oseut i
lizacuandosecompar an
dosent i
dades, ysedevuel veTRUEoFALSE;Est eúl timoasignaunval orauna
variable.Asegúr esedequeut i
li
zaelcor recto,por queesmuyf ácilcomet erese
erroryusarsól o=, encuyocasosupr ogr amanuncaf uncionar á.Losé, por que
despuésde25añosdepr ogramación, t
odav í
acomet oeseerror .

Mantenereldedoenelbotónduranteelti
empoquenecesit
aluznoespráct
ico.
Aunqueteharíapensarenlacanti
daddeener gí
aqueest
ásdesper
dici
ando
cuandotealej
asdeunal ámparaquetequedasteen,t
enemosqueaveri
guar
cómohacerqueelbot óndeencendido"palo"
.

Unci
rcui
to,
milcompor
tami
ent
os

Lagranvent aj
adel aelectr
ónicadigi
tal
yprogramabl esobrelael
ect
róni
ca
clási
caesahor aevidente:t
emost rar
écómoi mplement armuchos
"comportamientos"dif
erentesusandoelmismoci r
cuitoelect
róni
coqueenla
secciónanteri
or,si
mplement ecambiandoelsoft
war e.

Comohemenci onadoant
es,noesmuypr ácti
cotenerquemantenereldedoen
elbot
ónparaencenderlaluz.Porl
otanto,debemosimplementaralgunafor
ma
de"memoria",enformadeunmecanismodesof t
warequerecordarácuando
hayamospresionadoelbotónymantendrálaluzencendi
dainclusodespuésde
haber
lal
iberado.

Parahacerest o,
vamosaut i
li
zarl
oquesellamaunavar i
able.(
Yahemosusado
uno,peronol oheexpl icado.)Unavari
ableesunl ugarenlamemor i
ade
Arduinodondepuedesal macenardatos.Pi
enseenél comounadeesasnot as
adhesivasqueut i
li
zaparar ecordar
sealgo,comounnúmer odet eléfono:usted
tomauno, ustedescri
be" Luisa025551212"enél ,ysepegaasumoni t
ordel a
comput adoraosur ef
ri
ger ador.Enell
enguajeArduino,esigual
ment esenci l
lo:
sólodecidequét i
podedat osdeseaalmacenar(unnúmer oount exto,por
ejemplo),daleunnombr eycuandol odesee,puedealmacenarl osdat oso
recuperarl
os.Porej empl o:
i
ntv
al=0;

i
ntsi
gnif
icaquesuvari
abl
eal
macenaráunnúmeroent
ero,
valeselnombr
ede
l
avari
able,y=0leasi
gnaunval
ori
nici
aldecer
o.

Unavariabl
e,comosunombreindi
ca,sepuedemodif
icarencual
quierpar
tede
sucódigo,paraquemásadel
anteensuprograma,
podríaescr
ibi
r:
val=112;
Quereasignaunnuevoval
or,
112,asuvari
able.

NOTA:¿ HanotadoqueenAr duino,todaslasinst


rucciones,conunaexcepci
ón
(#defi
ne),t
erminaconunpunt oycoma?Est osehacepar aqueelcompil
ador
(l
apar t
edeAr duinoqueconviertesubocet oenunpr ogramaqueel
microcontr
oladorpuedeejecutar)sabequesudecl araciónhat er
minadoyuna
nuevaestácomenzando.Recuer deusar l
otodoeltiempo, excl
uyendocual
qui
er
l
íneaquecomi encecon#def ine.Los#def i
nesonr eempl azadosporel
compiladorantesdequeelcódi goset raduceenunej ecutabledeArdui
no.

Enelpr ogr
amasi guiente,valseut i
li
zapar aal macenarelr esult
adode
digitalRead();LoqueAr dui noobtengadel aent r
adat ermi naenl avari
abley
per manecer áallíhastaqueot r
alíneadecódi golacambi e.Obser vequelas
variablesut i
li
zanunt i
podememor i
allamadaRAM.Esbast anterápi
do,pero
cuandoseapagal aplaca, sepierdentodosl osdat osal macenadosenl a
memor i
aRAM ( l
oquesi gni f
icaquecadavar iabl
eser estableceasuval orini
cial
cuandol aplacaseenci endedenuevo) .Suspr opiospr ogramasseal macenan
enmemor iaflash-eselmi smot i
pout i
lizadoporsut el éf
onomóvi lpara
almacenarnúmer osdet el
éfono-queconser vasucont enidoi ncl
usocuandol a
tarjetaestáapagada.
 
Ahor avamosausarot r
avar iabl
epar ar ecor
darsielLEDt ienequeper manecer
encendi dooapagadodespuésdesol tarelbot ón.Elejempl o03Aesunpr i
mer
intentodel ograr:
/
/Ej
empl
o03A:EncenderelLEDcuandosepr
esi
onaelbot
ón

/
/ymant
ener
loencendi
dodespuésdequesel
iber
e

#def
ineLED 13 /
/elpi
npar
aelLED
#def
ineBUTTON7 /
/elpi
ndeent
radadonde

/
/elpul
sadorest
áconect
ado

i
ntval=0; /
/val
seut
il
izar
ápar
aal
macenarelest
ado

/
/delpi
ndeent
rada

i
ntst
ate=0; /
/0=LEDapagadomi
ent
ras1=LEDencendi
do

voi
dset
up(
){
pi
nMode(
LED,
OUTPUT)
; /
/deci
rAr
dui
noLEDesunasal
ida

pi
nMode(
BUTTON,
INPUT)
;//yBUTTONesunaent
rada

voi
dloop(
){
val=di
git
alRead(
BUTTON)
;//l
eerelval
ordeent
radayal
macenar
lo

/
/compr
uebesil
aent
radaesALTA(
bot
ónpul
sado)

 
  
//ycambi
arelest
ado

i
f(val==HI
GH){

st
ate=1st
ate;

i
f(st
ate==1){
di
git
alWr
it
e(LED,
HIGH)
;//t
urnLEDON

}el
se{

di
git
alWr
it
e(LED,
LOW)
;

Ahor
apr
uebaest
ecódi
go.Ust
ednot
aráquef
unci
ona...al
go.Ust
edencont
rar
á
quelaluzcambi at
anr ápidament
equeust ednopuedefi
jar
laconf
iabl
emente
encendidooapagadoconunapr ensadelbotón.
 
Veamosl aspartesinteresant
esdelcódi
go:stateesunavar
iabl
equealmacena
0o1par arecordarsielLEDestáencendi
dooapagado.Despuésdesol t
arel
botón,l
oi ni
cial
izamosa0( LEDapagado)
.

Mástarde,
leemoselestadoactualdelbotón,ysisepresi
ona( val
==HIGH)
,
cambiamoselestadode0a1, oviceversa.Hacemosest ousandounpequeño
tr
uco,yaqueelestadopuedesersolo1o0.Elt rucoqueusoi nvol
ucr
auna
pequeñaexpresi
ónmatemáticabasadaenl aideadeque1-0es1y1-1es0:
st
ate=1st
ate;
Lalíneapuedenot enermuchosent i
doenmat emát icas, per osíenl a
programaci ón.Elsí mbol o=si gnifi
ca" asignarelr esul tadodel oqueest ádet r
ás
demíalnombr edel avar i
abl eant esdemí ";enest ecaso, elnuevoval orde
estadoseasi gnaalval orde1menoselval orant iguodel est ado.
 
Másadel anteenelpr ograma, puedeverqueusamoselest adopar aaver i
guarsi
elLEDdebeest arencendi dooapagado.Comomenci oné, est oconducea
resultadosal goescamosos.
 
Losr esultadossonescamososdebi doal af or maenquel eemoselbot ón.
Arduinoesmuyr ápi
do;Ej ecut asuspr opiasi nst r
ucci onesi nternasaunat asa
de16mi l
lonesporsegundo, podríaest arej ecut andounaspocasmi ll
onesde

neasdecódi goporsegundo.Asíqueest osi gnificaquemi entrastudedoest á
presionandoelbot ón, Ardui nopodr íaest arl eyendol aposi cióndelbot ónunos
milesdevecesycambi andodeest adoenconsecuenci a.Asíquel osresultados
terminansi endoi mpr edeci bles;Podr í
aest arapagadocuandoust edloqui siera
encendi do,ovi cever sa.Comoi nclusounr el ojr otoescor rect odosvecesaldí a,
elprogr amapuedemost rarelcompor tami ent ocor r
ect odevezencuando, per o
lamayorpar tedelt i
empovaaest armal .
 
¿Cómoar reglamosest o?Bueno, necesi t
amosdet ect arelmoment oexactoen
quesepr esionaelbot ón,eseeselúni comoment oquet enemosquecambi ar
deest ado.Laf ormaenquemegust ahacer loesal macenarelval ordevalant es
deleerunnuevo;Est omeper mitecompar arl aposi ci ónact ualdelbotónconel
anteriorycambi arelest adosól ocuandoelbot ónseconvi er teenALTO
despuésdeserLOW.
 
Elejempl o03Bcont ieneelcódi gopar ahacer lo:
/
/Exampl
e03B:Tur
nonLEDwhent
hebut
toni
spr
essed
/
/andkeepi
tonaf
teri
tisr
eleased/
/Nowwi
thanew
andi
mpr
ovedf
ormul
a!

#def
ineLED 13 /
/thepi
nfort
heLED
#def
ineBUTTON7/
/thei
nputpi
nwher
ethe /
/
pushbut
toni
sconnect
ed

i
ntval=0; /
/valwi
llbeusedt
ost
oret
hest
ate /
/oft
hei
nputpi
n

i
ntol
d_val=0;/
/thi
svar
iabl
est
orest
hepr
evi
ous /
/val
ueof
"
val
"

i
ntst
ate=0;/
/0=LEDof
fand1=LEDon

voi
dset
up(
){
pi
nMode(
LED,
OUTPUT)
;//t
ellAr
dui
noLEDi
sanout
putpi
nMode(
BUTTON,
I
NPUT)
;//andBUTTONi
sani
nput}

voi
dloop(
){
val=di
git
alRead(
BUTTON)
;//r
eadi
nputval
ueandst
orei
t /
/yum,
f
resh

/
/checki
fther
ewasat
ransi
ti
on i
f((
val==HI
GH)&&
(
old_
val==LOW)
){ st
ate=1-st
ate;}

ol
d_val=val
;//vali
snowol
d,l
et'
sst
orei
t

i
f(st
ate==1){
di
git
alWr
it
e(LED,
HIGH)
;//t
urnLEDON }el
se{

di
git
alWr
it
e(LED,
LOW)
;
}

Pr
uébel
o:est
amoscasial

!

Ustedpuedehabernot adoqueest eacercami entonoesent erament eperfect


o,
debidoaot r
oproblemaconl osint
err
uptoresmecáni cos.Lospul sadoresson
di
sposi ti
vosmuysi mples:dospedazosdemet alseparadosporunr esort
e.
Cuandopr esi
onaelbotón,losdoscontactosseunenyl aelectr
icidadpuede
fl
uir.Estosuenabienysi mple,per
oenl avidareallaconexiónnoest an
perfecta,especi
alment
ecuandoelbot ónnoest ácompl et
ament epr esi
onado,y
gener
aal
gunasseñal
esespur
iasl
lamadasr
ebot
e.

Cuandoelpul sadorestár ebot


ando,elArdui
noveunasecuenciamuyr ápi
dade
señalesdeencendi doyapagado.Haymuchast écni
casdesarrol
ladaspar
a
hacerde-rebote,peroenest epedazosimpledel
códigohenotadoquees
generalmentebast ant
epar aagregarunretr
aso10-a50mi l
isegundoscuando
elcódigodetectaunat ransici
ón.

Elej
empl
o03Ceselcódi
gof
inal
:
/
/Exampl
e03C:Tur
nonLEDwhent
hebut
toni
spr
essed
/
/andkeepi
tonaf
teri
tisr
eleased
/
/incl
udi
ngsi
mpl
ede-
bounci
ng/
/Nowwi
thanot
hernewand
i
mpr
ovedf
ormul
a!!

#def
ineLED 13 /
/thepi
nfort
heLED
#def
ineBUTTON7/
/thei
nputpi
nwher
ethe /
/
pushbut
toni
sconnect
ed

i
ntval=0; /
/valwi
llbeusedt
ost
oret
hest
ate /
/oft
hei
nputpi
n

i
ntol
d_val=0;/
/thi
svar
iabl
est
orest
hepr
evi
ous /
/val
ueof
"
val
"

i
ntst
ate=0;/
/0=LEDof
fand1=LEDon

voi
dset
up(
){
pi
nMode(
LED,
OUTPUT)
;//t
ellAr
dui
noLEDi
sanout
put
pi
nMode(
BUTTON,
INPUT)
;//andBUTTONi
sani
nput}

voi
dloop(
){
val=di
git
alRead(
BUTTON)
;//r
eadi
nputval
ueandst
orei
t /
/yum,
f
resh

/
/checki
fther
ewasat
ransi
ti
on i
f((
val==HI
GH)&&
(
old_
val==LOW)
){ st
ate=1-st
ate; del
ay(
10)
;}

ol
d_val=val
;//vali
snowol
d,l
et'
sst
orei
t

i
f(st
ate==1){
di
git
alWr
it
e(LED,
HIGH)
;//t
urnLEDON }el
se{

di
git
alWr
it
e(LED,
LOW)
;
}

}
5/Entradaysal
ida
avanzadas
Loqueacabamosdeapr enderenelCapí t
ulo
4sonl asoperacionesmásel ementalesque
podemoshacerenAr duino:contr
olarla
sali
dadigit
alyl eerlaentradadigi
tal.Si
Arduinofueraalgúnt i
podel enguajehumano,
éstasserí
andosl etr
asdesual fabeto.
Teniendoencuent aquehaysól ocincoletr
as
enest eal
fabeto,sepuedevercuánt omás
tr
abajoquet enemosquehacerant esdeque
podamosescr ibirArduinopoesía.
Pr
uebadeot
rossensor
esdeencendi
do/apagado
Ahoraquehaapr
endi
doauti
li
zarunpulsador
,debesaberquehaymuchos
otr
ossensor
esmuybási
cosquefunci
onandeacuerdoconelmi smo
pri
ncipi
o:

I
nter
rupt
ores

Ali
gualqueunpulsador
,per
onocambi
aaut
omát
icament
eel
est
ado
cuandosesuel
ta

Ter
most
atos

Unint
err
uptorqueseabr
ecuandol
atemper
atur
aal
canzaunval
or
est
abl
ecido

I
nter
rupt
oresmagnét
icos(
tambi
énconoci
doscomo"
rel
ésdel
ámi
na"
)

Ti
enedoscontact
osquesej
untancuandoest
áncer cadeuni
mán;
Ut
il
izadoporl
asalar
masant
ir
roboparadet
ectarcuandoseabr
euna
vent
ana

I
nter
rupt
oresdeal
fombr
a

Pequeñasest
erasquesepuedencol
ocardebaj
odeunaalf
ombraoun
fel
pudoparadetect
arl
apresenci
adeunserhumano(ogat
opesado)

I
nter
rupt
oresdei
ncl
inaci
ón

Uncomponent eelect
róni cosi mplequecont i
enedoscont actosyuna
pequeñabol ademet al(ounagot ademer curi
o,peronor ecomi endo
usarlos)Unej empl odeuni nterr
upt ordeincli
naciónsel l
amaunsensorde
i
nclinación.Laf i
gura5- 1muest raelinter
iordeunmodel ot í
pico.Cuandoel
sensorest áensuposi ciónver ti
cal,labolapuentealosdoscont actos,y
estof unci
onacomosihubi er apresionadounbot ón.Cuandoi ncli
naeste
sensor ,l
apelotasemueveyelcont actoseabr e,
locualescomosi
hubiesesol t
adounpul sador .Util
izandoest ecomponent esi mple,puede
i
mpl ement ar,porejempl o,i
nt erf
acesgest ualesquer eaccionancuandoun
objetosemueveosesacude.
Fi
gur
a5-
1.
Eli
nter
iordeunsensordei
ncl
inaci
ón

Otrosensorquequizásqui
erapr obareselsensordeinf r
arr
ojosquese
encuentraenlasalar
masant i
rr
obo( tambiénconocidocomosensor
i
nfrarr
ojopasivoosensorPIR,vealaFi gur
a5- 2)
.Est
epequeñodi sposi
ti
vo
seactivacuandounserhumano( uot r
oservivo)semuevedent r
odesu
proxi
mi dad.Esunaformasencil
ladedet ectarmovimiento.
Fi
gur
a5-
2.
SensorPI
Rtí
pico

Ahoradebeexperi
mentarmir
andot odoslosdi
sposi
tivosposi
blesque
ti
enendoscontactosquesecier
ran,comoeltermostatoquefi
jala
temperat
uradelahabit
aci
ón(useunavi ej
aqueyanoest áconectada),
o
simpl
ementecolocandodoscontactosunoalladodelotr
oydej andocaer
aguasobreell
os.

Porejemplo,
usandoelejemplofinaldel Capí
tul
o4yunsensorPI R,ust
ed
podrí
ahacerquesul ámpararespondi er
aal apresenci
adesereshumanos,
opodr í
ausarunint
errupt
ordeinclinaciónparaconstrui
runoquese
apaguecuandoestáincli
nadoenunl ado.
Cont
roldel
uzconPWM
Conelconoci mientoqueust edhaganadohast aahor a,podríaconst
ruir
unalámpar ai
nteractivaquepuedesercont rol
adaynosól oconun
aburridointer
ruptordeencendi do/apagado, per
ot alvezdeunamaner a
queesunpocomásel egante.Unadelasli
mi t
acionesdel osejemplosde
LEDpar padeantesquehemosut il
izadohastaahoraesquesól osepuede
encenderyapagarl al uz.Unalámparaint
eracti
vadef antasíanecesit
aser
regulable.Pararesolveresteproblema,podemosusarunpequeñot ruco
quehaceposi bl
emuchascosascomoTVoci ne:lapersistenci
adela
visi
ón.

Comohesuger idodespuésdelpr i
merej emploenelcapí t
ulo4,sicambia
l
osnúmer osenl afunciónder et
ardohast aquenoveaelLEDpar padeando
más, not
aráqueelLEDpar eceatenuadoal50%desubr il
lonormal.Ahora
cambi el
osnúmer ospar aqueel LEDest éencendidoesuncuar todel
ti
empoqueest áapagado.Ej ecuteelbocet oyveráqueelbr i
ll
oes
aproximadament eel25%.Est atécnicasel l
amamodul aci
óndeanchode
pulso(PWM) ,unamaner aelegantededeci rquesiparpadeael LEDlo
sufici
ent
ement er ápi
do, nolovepar padearmás,per opuedecambi arsu
bri
llocambiandol arelaciónentr
eelt i
empodeencendi doyEltiempode
apagado.LaFi gura5-3muest racómof uncionaesto.

Estat
écnicatambi
énf
unci
onacondisposi
ti
vosquenoseanunLED.Por
ejempl
o,puedecambi
arl
avel
ocidaddeunmot ordel
amismamanera.

Mientrasexperiment a,ver
áquepar padearelLEDponi endoretrasosensu
códigoesunpocoi ncómodo, porquetanpr ont
ocomoqui eraleerun
sensoroenvi ardatosenelpuer t
oserie,elLEDparpadear ámient r
as
esperaquet ermineLect uradelsensor.Porsuerte,elprocesadorutil
izado
porlapl acaArduinot i
eneunpedazodehar dwarequepuedepar padear
muyef icient
ement etresLEDmi entrassubocet ohaceot racosa.Este
hardwar eestáimplement adoenl ospines9, 10y11, quepuedenser
controladosporlainst r
ucciónanalogWr i
te().
Fi
gur
a5-
3.
PWM enacci
ón.

Porejemplo,escr
i ranal
bi ogWrit
e(9,
128)Aj
ustar
áelbri
ll
odeunLED
conectadoalpin9al50%.¿Porqué128?AnalogWri
te(
)esper
aunnúmer
o
entr
e0y255comoar gument
o,donde255signi
fi
cabri
ll
ocomplet
oy0
si
gnifi
caapagado.

Nota:Tenert
rescanal
esesmuybueno,por
quesiust
edcompraLeDsroj
o,
ver
deyazul ,
ustedpuedemezcl
arsusl
ucesyhacerl
aluzdecual
qui
er
col
orquet egusta!

Vamosaprobarl
o.Constr
uyeelcir
cuitoquevesenl aFigura5-4.Tengaen
cuent
aquelosLEDestánpolari
zados:elpasadorlargo( posi
ti
vo)debeira
l
aderechayelpasadorcort
o(negati
vo)alaizquierda.Además, lamayorí
a
delosLEDti
enenunladonegati
voaplanado, comosemuest raenl afi
gur
a.
Fi
gur
a5-
4.
LEDconect
adoalpi
nPWM.

Acont
inuaci
ón,
creeunnuevobocet
oenArdui
noyut
il
iceelEj
empl
o04
(
tambi
énpuededescar
garejempl
osdecódi
gode
www.makezi
ne.
com/get
start
edar
dui
no)
:

/
/Exampl
e04:FadeanLEDi
nandoutl
ikeon
/
/asl
eepi
ngAppl
ecomput
er

#def
ineLED 9/
/thepi
nfort
heLED
i
nti=0; /
/We’
l
luset
hist
ocountupanddown

voi
dset
up(
){
pi
nMode(
LED,
OUTPUT)
;//t
ell
Ardui
noLEDi
sanout
put}

voi
dloop(
){

f
or(
i=0;i<255;i
++){/
/loopf
rom 0t
o254(
fadei
n) anal
ogWr
it
e(LED,
i); /
/
sett
heLEDbr
ight
ness del
ay(
10)
;//Wai
t10msbecauseanal
ogWr
it
e /
/
i
sinst
ant
aneousandwewoul
d

/
/notseeanychange }

f
or(
i=255;i>0;i
--
){/
/loopf
rom 255t
o1(
fadeout
)

anal
ogWr
it
e(LED,
i);/
/sett
heLEDbr
ight
ness del
ay(
10)
;
/
/Wai
t10ms }

Ahoraust edti
eneunacopi adeunacaract
erí
sti
cadefantasíadeuna
comput adoraportáti
l(t
alvezesunpocodeundesperdici
opar aut
il
izar
Ardui
nopar aal
got ansimple)
.Vamosausaresteconocimient
opara
mejorarnuestralámpar a.

Añadaelcircui
toqueusamospar aleerunbotón(enelCapít
ulo4)aest a
tabl
adepr uebas.Veasipuedehacerestosi
nmi r
arlasigui
entepágina,
porquequieroquecomi enceapensarenelhechodequecadaci rcui
to
elementalquemuest r
oaquíesun"bloquedeconstrucci
ón"parahacer
proyect
osmásgr andesymásgrandes.Sinecesi
tami r
arhaci
aelf ut
uro,
nosepr
eocupe;Lomási
mpor
tant
eesquepasesunt
iempopensandoen
cómopodr
íaverse.

Par acr earestecircui


to, t
endráquecombi narelcircui
tor eci
énconst r
uido
(most radoenl aFigura5- 4)conelcir
cuit
odepul sadormost r
adoenl a
Figur a4- 6.Sil
odesea, puedesi mplementeconstruirambosci r
cuit
osen
diferent espartesdelapl acadepr uebas;Ti
enesunmont óndeespaci o.Si
n
embar go, unadel asvent aj
asdelaplacadepr uebas( véaseelapéndiceA)
esquehayunparder ielesqueseext i
endenhorizontalment eatravésdela
par t
ei nf er
iorysuperi
or .Unoestámar cadorojo(paraposi ti
vo)yelotro
azulonegr o(paraelsuel o).

Estosrielesseut i
li
zanpar adi stri
buirlaener gí
ayl atierraadondese
necesita.Enelcasodelci rcuitoquenecesi t
aconst ruirpar
aest eejemplo,
ti
enedoscomponent es( ambosr esistores)quedebenconect arsealpin
GND( t
ierra)delArduino.Debi doaqueelAr dui
not ienedospi nesGND,
si
mpl ement epodrí
aconect arestosdosci r
cuit
osexact amentecomose
muest raencadaunadel asdosf iguras;Sóloengancharal osdoshast ael
Arduinoalmi smot i
empo.Obi en,podríaconectaruncabl edelcarrilde
ti
erradel apl acadepani f
icaci ónaunodel ospi nesGNDdel Arduinoy, a
continuación, t
omarloscabl esqueest ánconect adosaGNDenl asf i
guras
yconect arlosalcarri
ldet i
er radel aplacadepanel es.

Sinoest
ál i
stopar
aprobarest
o,nosepr
eocupe:si
mplementeconect
e
amboscir
cuitosasuArduinocomosemuestr
aenl asFi
guras4-
6y5-4.
Veráunejemploqueusaloscarr
il
esdet
abl
adepr uebasdeti
err
ay
posi
ti
voenelCapítul
o6.

Volviendoalsiguienteejemplo,sisolotenemosunpul sador,¿cómo
controlamoselbr il
lodeunal ámpara?Vamosaapr enderotrat écnicade
diseñodei nt
eracción:detect
arcuánt otiemposehapr esionadounbot ón.
Parahacerest o,necesit
oact ual
izarelejempl
o03Cdel capít
ulo4par a
agregaratenuación.Lai deaesconst rui
runa"i
nter
faz"enl aqueuna
accióndepr ensayl iber
aciónenciendayapaguel aluz,yunaacci ónde
presionarymant enercambi ael br
il
lo.

Echemosunvi
stazoalbosquej
o:
/
/Exampl
e05:Tur
nonLEDwhent
hebut
toni
spr
essed
/
/andkeepi
tonaf
teri
tisr
eleased/
/incl
udi
ng
si
mpl
ede-
bounci
ng.

/
/Ift
hebut
toni
shel
d,br
ight
nesschanges.

#def
ineLED9 /
/thepi
nfort
heLED#def
ineBUTTON7/
/
i
nputpi
noft
hepushbut
ton

i
ntval=0; /
/st
orest
hest
ateoft
hei
nputpi
n

i
ntol
d_val=0;/
/st
orest
hepr
evi
ousval
ueof"
val
"intst
ate=0;/
/0=LED
of
fwhi
le1=LEDon

i
ntbr
ight
ness=128; /
/St
orest
hebr
ight
nessval
ueunsi
gnedl
ongst
art
Time=0;/
/
whendi
dwebegi
npr
essi
ng?

voi
dset
up(
){
pi
nMode(
LED,
OUTPUT)
;//t
ellAr
dui
noLEDi
sanout
put
pi
nMode(
BUTTON,
INPUT)
;//andBUTTONi
sani
nput}

voi
dloop(
){
val=di
git
alRead(
BUTTON)
;//r
eadi
nputval
ueandst
orei
t /
/
yum,
fresh

/
/checki
fther
ewasat
ransi
ti
on i
f((
val==HI
GH)&&
(
old_
val==LOW)
){

st
ate=1-st
ate;/
/changet
hest
atef
rom of
ftoon /
/orvi
ce
-
ver
sa

st
art
Time=mi
ll
is(
);/
/mi
ll
is(
)ist
heAr
dui
nocl
ock /
/itr
etur
ns
howmanymi
ll
iseconds

/
/havepassedsi
ncet
heboar
dhas /
/beenr
eset
.

/
/(t
hisl
iner
emember
swhent
hebut
ton /
/wasl
ast
pr
essed) del
ay(
10)
;

}
/
/checkwhet
hert
hebut
toni
sbei
nghel
ddown i
f((
val==HI
GH)&&
(
old_
val==HI
GH)
){

/
/Ift
hebut
toni
shel
dformor
ethan500ms. i
f(st
ate==1&&(
mil
li
s()-
st
art
Time)>500){

br
ight
ness++;/
/incr
ementbr
ight
nessby1 del
ay(
10)
;//del
ayt
oavoi
d
br
ight
nessgoi
ng /
/upt
oof
ast

i
f(br
ight
ness>255){/
/255i
sthemaxbr
ight
ness

br
ight
ness=0;/
/ifwegoover255 /
/let
’sgo
backt
o0

}
}}

ol
d_val=val
;//vali
snowol
d,l
et’
sst
orei
t

i
f(st
ate==1){
anal
ogWr
it
e(LED,
bri
ght
ness)
;//t
urnLEDONatt
he /
/
cur
rentbr
ight
nessl
evel}el
se{

anal
ogWr
it
e(LED,
0);/
/tur
nLEDOFF }

Ahoraint
ént
alo.Comopuedever ,nuestromodel
odeinteracci
ónestá
tomandoforma.Sipresi
onaelbotónyl osuel
tai
nmediatamente,se
enci
endeoapagal alámpara.Simantienepul
sadoelbotón,elbr
il
lo
cambia;Sól
odejeircuandohayaalcanzadoelbri
ll
odeseado.

Ahor
avamosaapr
enderausaral
gunossensor
esmási
nter
esant
es.

Ut
il
iceunsensordel
uzenl
ugardelpul
sador
Ahor
avamosai nt
ent
arunexperimentoint
eresant
e.Tomeunsensordeluz,
comoelquesemuestraenlafi
gura5-5.Ust
edpuedeobtenerunpaquet
e
deci
ncodeestosdeRadioShack(númerodepar t
e276-
1657).
Fi
gur
a5-
5.
Resi
stenci
adependi
ent
edel
aluz(
LDR)
.

Enl aoscuri
dad,laresi
stenci
adeunar esist
enciadependi
ent
edelaluz
(LDR)esbast antealt
a.Cuandoustedbr i
ll
aalgodeluzenell
a,l
a
resist
enciarápi
dament ecaeyseconvi er
teenunconductor
razonablementebuenodel aelect
ri
cidad.Porlotant
o,esunaespeci
ede
interr
uptoracti
vadoporluz.

Const
ruyaelci
rcui
toquevieneconelEj
emplo02( vea"
Usodeunbotón
pul
sadorparacont
rol
arelLED"enelCapít
ulo4)
,luegocar
gueelcódi
godel
Ej
emplo02ensuAr duino.

AhoraconecteelLDRenl apl acadepanenlugardelbotón.Ust


ednotar
á
quesiust edcubr
eelLDRconsusmanos, elLEDseapaga.Descubreel
LDR,yl aluzcont
inúa.Acabasdeconstrui
rtuprimersensorLED
i
mpul sadoporsensores.Estoesimport
anteporque,porpri
meravezen
est
elibro,est
amosut i
li
zandouncomponent eelectr
ónicoquenoesun
si
mpledi sposi
ti
vomecáni co:esunsensorrealr
ico.
Ent
radaanal
ógi
ca
Comoapr endióenl asecciónant eri
or,Ardui
noescapazdedet ectarsihay
unv ol
tajeaplicadoaunodesuspi neseinformarl
oat ravésdelaf unci
ón
digi
tal
Read( ).Estet i
poder espuest aestábienenmuchasapl icaciones,
peroelsensordel uzqueacabamosdeusarescapazdedeci rnosnosól o
sihayluz, si
not ambiéncuánt aluzhay.Est aesladifer
enciaentreun
sensordeencendi do/apagado( quenosdi cesihayalgo)yunsensor
analógico,cuyoval orcambiacont inuamente.Paraleeresteti
pode
sensor,necesitamosunt ipodepi ndifer
ente.

Enlapar t
einferiorderechadel aplacaArduino,verásseispasador es
mar cadoscon" AnalogI n";Est
ossonper nosespeci al
esquepueden
decirnosnosól osihayunvol tajeapli
cadoael los,per
osiesasí , t
ambién
suval or.Usandol afunci ón analogRead(),podemosl eerelvolt
aje
apli
cadoaunodel ospines.Est afuncióndevuel veunnúmer oentre0y
1023, quer epresentavol t
ajesent r
e0y5vol tios.Porej emplo,sihayuna
tensiónde2, 5Vapl i
cadaalnúmer odepin0, analogRead( 0)devuelve512.

Siahoraconstruyeelcir
cuitoqueveenl aFigur
a5-6,
usandouna
resi
stenci
ade10k, yejecuteelcódigolistadoenelEj
emplo06A,ver
áel
LEDi nt
egrado(tambiénpodr í
ainsert
arsupr opi
oLEDenl ospi
nes13y
GNDcomoQuesemuest raen" ParpadeandounLED"enelCapítul
o4)
parpadeandoaunavel ocidadquedependedel acanti
daddeluzque
golpeaelsensor.
Fi
gur
a5-
6.
Unci
rcui
tosensoranal
ógi
co
/
/Exampl
e06A:Bl
inkLEDatar
atespeci
fi
edbyt
he
/
/val
ueoft
heanal
oguei
nput

#def
ineLED 13/
/thepi
nfort
heLED

i
ntval=0;/
/var
iabl
eusedt
ost
oret
heval
ue /
/comi
ng
f
rom t
hesensorvoi
dset
up(
){

pi
nMode(
LED,
OUTPUT)
;//LEDi
sasanOUTPUT

/
/Not
e:Anal
oguepi
nsar
e
/
/aut
omat
ical
lysetasi
nput
s}

voi
dloop(
){

val=anal
ogRead(
0);/
/readt
heval
uef
rom /
/
t
hesensor

di
git
alWr
it
e(13,
HIGH)
;//t
urnt
heLEDon

del
ay(
val
);/
/st
opt
hepr
ogr
am f
or /
/some
t
ime

di
git
alWr
it
e(13,
LOW)
;//t
urnt
heLEDof
f

del
ay(
val
);/
/st
opt
hepr
ogr
am f
or /
/some
t
ime

Ahora,pr
uebeelEjemplo06B:peroant esdehacer l
o,t
endráquemodifi
car
sucircui
to.EcheunvistazoalaFigura5-4yenganchaelLEDhast aelpi
n9
comosemuest r
a.Debidoaqueyat i
enesalgunascosasenlatabl
ade
pruebas,necesi
tar
ásencontrarunpuntoenl aplacadepruebasdondeel
LED,loscablesylaresi
stenci
anosesuper ponganconelci r
cui
toLDR.
/
/Exampl
e06B:Sett
hebr
ight
nessofLEDt
o
/
/abr
ight
nessspeci
fi
edbyt
he
/
/val
ueoft
heanal
oguei
nput

#def
ineLED 9/
/thepi
nfort
heLED

i
ntval=0;/
/var
iabl
eusedt
ost
oret
heval
ue /
/comi
ng
f
rom t
hesensor

voi
dset
up(
){

pi
nMode(
LED,
OUTPUT)
;//LEDi
sasanOUTPUT

/
/Not
e:Anal
oguepi
nsar
e
/
/aut
omat
ical
lysetasi
nput
s}

voi
dloop(
){

val=anal
ogRead(
0);/
/readt
heval
uef
rom /
/
t
hesensor

anal
ogWr
it
e(LED,
val
/4)
;//t
urnt
heLEDonat /
/
t
hebr
ight
nessset

/
/byt
hesensor
del
ay(
10)
;//st
opt
hepr
ogr
am f
or /
/
somet
ime

Nota:especi
fi
camoselbr
il
lodi
vidi
endovalpor4,por
queanal
ogRead(
)
devuelveunnúmerohast
a1023,yanalogWri
te(
)aceptaunmáximode255.

Pr
uebeot
rossensor
esanal
ógi
cos
Utili
zandoelmismoci rcuit
oquehavi stoenlasecci ónant eri
or,puede
conect armuchosotrossensor esresi
sti
vosquefunci onandef ormamáso
menosi gual
.Porej
empl o,podríaconectarunter
mi stor,queesun
dispositi
vosimplecuyar esi
stenci
acambi aconlat emper atura.Enel
ci
r cuit
o,lehemostradocómol oscambiosenl aresistenciaseconvi er
ten
encambi osenelvolt
ajequepuedensermedi dosporAr duino.
Si t
rabajaconunt ermistor,t
engaencuent aquenoexist eunaconexi ón
directaentr
eelv alorqueleeyl atemper at
urarealmedida.Sinecesi t
auna
lecturaexacta,debeleerlosnúmer osquesalendelpinanal ógi
comi entr
as
semi deconunt ermómet roreal.Ustedpodríaponerestosnúmer osunoal
ladodelot r
oenunat abl
ayel abor arunamaner adecalibrarlosresult
ados
anal ógi
cosal astemperaturasdel mundor eal.

Hastaahor a,
hemosut il
izadounLEDcomodi sposi
ti
vodesal i
da,pero
¿cómopodemosl eerlosvaloresrealesqueAr dui
noestáleyendodesdeel
sensor ?Nopodemoshacerquel apizar r
aparpadeelosvalor
esencódi go
Mor se( bueno,podr
íamos, perohayunamaner amásf áci
lparaquel os
humanosl eanlosvalores).Paraell
o, podemoshacerqueAr dui
nohabl e
conunor denadorat r
avésdeunpuer toser
ie,
quesedescr i
beenl a
siguientesección.

Comuni
caci
ónser
ial
Ustedaprendi
óal princi
piodeesteli
broqueAr duinoti
eneunaconexi ón
USBqueesut i
li
zadaporelI DEparacargarcódigoenelpr ocesador.La
buenanotici
aesqueest aconexi
óntambi énpuedeserut i
li
zadaporl os
bocetosqueescribimosenAr duinoparaenviardatosdevuel t
aal
ordenadoroparar ecibi
rcomandosdeél .Paraestepropósito,vamosa
uti
li
zarunobjetoenser ie(unobj
etoesunacol eccióndecapaci dadesque
seagrupanparal aconvenienci
adelasper sonasqueescribenbocet os).

Esteobjetocontienetodoelcódigoquenecesi
tamosparaenviaryr
eci
bir
datos.Ahoravamosausarelúl ti
moci r
cui
toqueconstr
uimosconla
fot
orresist
oryenvi amoslosvaloresquesevuel
venaleerenla
comput adora.Escribaest
ecódigoenunnuevoboceto( t
ambiénpuede
descargarelcódi godewww. makezine.
com/getst
art
edardui
no):
/
/Exampl
e07:Sendt
othecomput
ert
heval
uesr
eadf
rom
/
/anal
oguei
nput0
/
/Makesur
eyoucl
ickon"
Ser
ialMoni
tor
"
/
/af
teryouupl
oad

#def
ineSENSOR0/
/sel
ectt
hei
nputpi
nfort
he
/
/sensorr
esi
stor

i
ntval=0;/
/var
iabl
etost
oret
heval
uecomi
ng /
/fr
om t
he
sensor

voi
dset
up(
){

Ser
ial
.begi
n(9600)
;//opent
heser
ialpor
ttosend
/
/dat
abackt
othecomput
erat
/
/9600bi
tspersecond}

voi
dloop(
){

val=anal
ogRead(
SENSOR)
;//r
eadt
heval
uef
rom /
/
t
hesensor

Ser
ial
.pr
int
ln(
val
);/
/pr
intt
heval
uet
o /
/the
ser
ialpor
t

del
ay(
100)
;//wai
t100msbet
ween /
/
eachsend

Despuésdesubi relcódi goasuAr duino,presioneelbot ón" Seri


alMoni t
or"
enelAr duinoI DE( elbot ónmásal aderechaenl abarradeher ramientas)
;
Ustedver ál osnúmer osquer uedanmásal láenlapar t
ei nferi
ordel a
ventana.Ahor a, cualqui ersoft
war equepuedal eerdesdeelpuer t
oser i
e
puedehabl arconAr dui no.Haymuchosl enguajesdepr ogramaci ónquel e
permitenescr ibirprogr amasensucomput adoraquepuedenhabl arconel
puertoserie.Pr ocessing( www. processing.org)esungr ancompl ement o
paraAr duino, porquel osl enguajesyI DEssont ansimilaresr.
Conducci
óndecar
gasmásgr
andes(
Mot
ores,
l
ámparasySimi
lar
es)
Cadaunodel
ospi
nesdeunapl
acaAr
dui
nopuedeut
il
izar
separ
a
al
iment ardispositivosqueut i
li
zanhast a20mi li
amper ios:set ratadeuna
canti
dadmuypequeñadecor r
iente, l
osuf icienteparaconduci runLED.Si
ustedintentaconduci ralgocomounmot or ,elpernodej arádef uncionar
i
nmedi atament e,ypodr í
aquemarpot encialment eelpr ocesadorent ero.
Paraimpul sarcar gasmásgr andescomomot oresol ámpar as
i
ncandescent es, necesi t
amosut i
lizaruncomponent eext ernoquepueda
acti
varydesact i
vart alescosasyqueseaacci onadoporunpi nAr duino.
Undisposi t
ivodeest et i
posellamaunt ransistorMOSFET- ignor arel
nombredi verti
do- esuni nter
ruptorel ectr
óni coquepuedeseri mpul sado
mediant elaaplicacióndeunvol tajeaunodesust r
espi nes, cadaunode
l
oscual essel l
amaunapuer t
a.Esal goasícomoeli nterruptordel uzque
usamosencasa, dondel aaccióndeundedoqueenci endeyapagal aluz
esreempl azadaporunpi nenlat arjetaAr duinoenvi andovol tajeala
puert
adelMOSFET.

Nota:MOSFETsi gni
fica"met al
-óxido-semiconduct ortransistordeef ectode
campo" .Esunt ipoespeci aldetransistorqueoper abasadoenelpr i
nci pi
o
deefectodecampo.Est osi gni
ficaquel aelectrici
dadf lui
ráat ravésdeuna
piezademat er
ialsemi conductor(ent rel
ospi nesdedr enajeyf uente)
cuandoseapl i
caunvol t
ajealpasadordepuer ta.Comol apuer taestá
ai
sladadelr estoat ravésdeunacapadeóxi domet áli
co,nohaycor riente
quef l
uyedeAr dui noenelMOSFET, porloqueesmuyf ácildeinterf
az.Son
i
dealespar aencenderyapagargr andescar gasaal tasf r
ecuenci as.

EnlaFigura5-
7,puedevercómousar í
aunMOSFETcomoelI RF520par a
encenderyapagarunpequeñomot orconectadoaunvent il
ador.Usted
tambiénnotar
áqueelmot ortomasuf uentedeali
ment acióndesdeel
conectorde9Vdel atarj
etaArduino.EsteesotrobeneficiodelMOSFET:
nosper mi
teconducirdi
sposit
ivoscuyaf uent
edeal i
ment acióndifi
eredela
uti
li
zadaporArduino.ComoelMOSFETest áconectadoalpi n9,también
podemosusaranal ogWri
te()paracont r
olarl
avelocidaddel motorat r
avés
dePWM.

Sensor
esCompl
ejos
Defi
nimossensorescomplejoscomoaquel
losqueproducenunt ipode
i
nformaci
ónquer equi
ereunpocomásdeundi gi
tal
Read()ounaf unci
ón
anal
ogRead()paraserusada.Est
ossuel
enserpequeñoscircuit
osconun
pequeñomicrocont
rol
adordentroquepr
eprocesalainf
ormación.
Algunosdelossensorescompl ej
osdisponibl
esincl
uyenguardabosques
ultr
asóni
cos,guardabosquesinfr
arr
ojosyacelerómetr
o.Puedeencontrar
ejemplossobrecómout i
li
zarl
osennuest rosi
ti
owebenl asección
"Tutor
ial
es"(
www. ardui
no.cc/
en/Tutorial/HomePage).

Tom I sMaki
goe' ngThingsTal
k(O'Rei
ll
y)t
ieneampl
iacober
tur
adeest
os
sensoresymuchosot
rossensor
escomplejos.

Fi
gur
a5-
7.
Unci
rcui
todemot
orpar
aAr
dui
no
6/Habl
andoconl
anube

Enloscapítul
osanterior
es, aprendi
stelos
fundamentosdeAr duinoyl osbloquesde
constr
ucciónfundament alesdisponibl
es
parati
.Permítanmerecor darlesloque
consti
tuyeel"Alf
abetoAr duino":
Salidadigit
al
Lousamospar acont rolarunLEDper o,conelci rcuit
oapr opiado, puedeser
usadopar acont rolarmot or
es, hacersoni dos, ymuchomás.
Salidaanalógi ca
Estonosdal acapaci daddecont rolarelbr ill
odel LED, nosól oencender l
oo
apagar l
o.Inclusopodemoscont rolarl avelocidaddeunmot orconél .
Ent r
adadigital
Estonosper mi tel eerelest adodesensor essi mpl es,comopul sador eso
interr
uptoresdei ncl i
naci ón.
Ent r
adaanal ogi ca
Podemosl eerl asseñal esdel ossensor esqueenv í
anunaseñalcont inua
quenosól oest áencendi daoapagada, comounpot enciómet r
oounsensor
del uz.
Comuni caciónser ial
Estonosper mi tecomuni carnosconunacomput ador aeintercambi ardatos
osi mplement esuper visarloqueest ápasandoconelbocet oqueseest á
ejecutandoenelAr duino.
Enest ecapítulo, vamosavercómoel abor arunaapl icacióndet r
abaj o
util
izandoloapr endi doenl oscapí tulosant eri
ores.Est ecapítulodebe
most rarcómocadaej empl opuedeserut ilizadocomounbl oquede
const r
ucciónpar aunpr oyect ocompl ejo.
Aquíesdondeeldi señadordewannabeenmísal e.Vamosahacerl a
versióndelsi gloXXIdeunal ámpar acl ásicademidi señadori tal
iano
favorit
o,JoeCol ombo.Elobj et oquevamosaconst r
uirestái nspiradoen
unal ámpar allamada" At on"de1964.
Fi
gur
a6-
1.
Lal
ámpar
ater
minada

Lalámpar a,comosepuedeverenlaf
igura6-
1,esunaesfer
asencilla
sentadaenunabaseconungr anagujeropar
aevit
arquelaesferaruedede
suescrit
or i
o.Est
edi
señolepermit
eorient
arl
alámparaendifer
entes
dir
ecciones.

Ent ér
mi nosdefunci
onali
dad,queremosconstr
uirundisposit
ivoquese
conect eaInter
net
,buscarlal
istaact
ualdeartí
cul
osenelbl ogMake
(makezi ne.
com)ycontarcuántasveceslaspal
abras"peace",
"lov
e","Y
"Arduino".Conest
osvalores,
vamosagener aruncolorymost rar
loenla
lámpar a.Lapropi
alámparati
eneunbot ónquepodemosusarpar a
encender
loyapagar
lo,
yunsensordel
uzpar
alaact
ivaci
ónaut
omát
ica.

Pl
ani
fi
caci
ón
Echemosunvi stazoal oquequer emosl ograryquét rozosypiezas
necesitamos.
Enpr imerl ugar ,necesit
amosqueAr duinoseacapazdeconect ar
sea
Inter
net .Comol apl acaAr duinotienesólounpuer toUSB, nopodemos
conect arlodirect amenteaunaconexi ónaInt ernet,asíquenecesitamos
averiguarcómoconect arlosdos.Porl ogener al,
loquel agentehacees
ejecutarunaapl i
caciónenunacomput ador
aqueseconect eaI nternet
,
procesel osdat osyenví eaAr dui
nounpocodei nformacióndestil
ada.
Arduinoesunacomput ador asencill
aconunapequeñamemor i
a;Nopuede
procesarar chivosgr andesf ácil
ment e,ycuandonosconect amosaunf eed
RSS, obt endremosunar chivoXMLmuydet al l
adoquer equeri
ríamucho
másmemor i
aRAM.I mpl ement emosunpr
ar oxypar asimplifi
carelXML
usandoell enguaj edeprocesami ento.

Procesami ent o
Elprocesami entoeselor igendeAr dui no.Nosencant aest elenguaj eyl o
usamospar aenseñarpr ogr amaci ónapr incipiantes, asícomopar acr ear
códigoher moso.Pr ocesami ent oyAr duinosonl acombi naciónper fect a.
Otravent aj aesquePr ocessi ngesdecódi goabi ertoyseej ecut aent odas
lasplataf ormaspr incipal es( Mac, LinuxyWi ndows) .Tambi énpuede
generarapl icacionesi ndependi entesqueseej ecut anenesaspl atafor mas.
Loqueesmás, lacomuni daddepr ocesami entoesani madayút il,
yust ed
puedeencont r
armi l
esdepr ogr amasdeej empl opr emade.
Elproxyhaceel siguient et r
abaj opar anosot ros:descar gaelf eedRSSde
makezi ne. com yext raet odasl aspal abrasdel archivoXMLr esul tant e.
Luego, pasandoport odosel l
os, cuent aelnúmer odevecesque" paz ",
"amor "y" Ar duino"apar ecenenelt exto.Conest ost resnúmer os,
calcularemosunv alordecol oryl oenvi ar emosaAr duino.Elt ablero
enviarádevuel talacant idaddel uzmedi daporel sensoryl omost r
ar áen
lapant all
adelor denador .
Enell adodelhar dwar e, combi naremoselej empl odel pulsador ,elej empl o
delsensordel uz, elcont rol delLEDPWM ( mul ti
plicadopor3! )Yl a
comuni caciónser i
al.
ComoAr duinoesundi sposi tivosi mpl e,tendr emosquecodi ficarelcol orde
unamaner asenci l
la.Usar emosl af ormaest ándarenl aquel oscol oresse
represent anenHTML:#segui dodesei sdí gi t
oshex adeci mal es.
Losnúmer oshexadeci mal essonút il
es, por quecadanúmer ode8bi tsse
almacenaenexact ament edoscar act eres;Connúmer osdeci mal esvar ía
deunoat rescar acteres.Lapr evisibilidadt ambiénhacequeelcódi gosea
mássenci l
lo:esperamoshastaqueveamosun#, luegoleemoslossei
s
caract
eresquesi guenenunbuffer(
unavari
ablequeseusacomoár eade
esperatempor alparal
osdatos)
.Porúlt
imo,convi
ertecadagrupodedos
caract
eresenunbyt equer
epresent
aelbri
ll
odeunodel ostr
esLED.

Codi
fi
caci
ón
Haydosbocetosqueseej ecut
arán:unbocetodeprocesamientoyun
bocet
odeAr duino.Aquíest
áelcódigoparaelbocetodeProcesamient
o.
Puededescargarl
odesdewww. makezine.
com/ get
star
tedar
duino.

/
/Exampl
e08A:Ar
dui
nonet
wor
kedl
amp
/
/par
tsoft
hecodear
einspi
red/
/byabl
ogpostbyTodE.
Kur
t(t
odbot
.com)

i
mpor
tpr
ocessi
ng.
ser
ial
.*
;St
ri
ngf
eed=

"
htt
p:/
/bl
og.
makezi
ne.
com/
index.
xml
";

i
nti
nter
val=10;/
/ret
ri
evef
eedever
y60seconds;i
ntl
ast
Time; /
/thel
ast
t
imewef
etchedt
hecont
ent

i
ntl
ove =0;i
ntpeace
=0;i
ntar
dui
no=0;

i
ntl
ight=0;/
/li
ghtl
evelmeasur
edbyt
hel
amp

Ser
ialpor
t;col
orc;St
ri
ngcs;St
ri
ngbuf
fer="
";/
/Accumul
ateschar
act
erscomi
ngf
rom

Ar
dui
noPFontf
ont
;

voi
dset
up(
){si
ze(
640,
480)
;

f
rameRat
e(10)
;//wedon'
tneedf
astupdat
es

f
ont=loadFont(
"Hel
vet
icaNeue-
Bol
d-32.
vlw"
);f
il
l(
255)
;
t
extFont
(f
ont,32)
;
/
/IMPORTANTNOTE:
/
/Thef
ir
stser
ialpor
tret
ri
evedbySer
ial
.l
ist
()
/
/shoul
dbeyourAr
dui
no.I
fnot
,uncommentt
henext
/
/li
nebydel
eti
ngt
he/
/bef
orei
t,andr
e-r
unt
he
/
/sket
cht
oseeal
istofser
ialpor
ts.Then,
change
/
/the0i
nbet
ween[and]t
othenumberoft
hepor
t//t
hatyourAr
dui
noi
s
connect
edt
o.

/
/pr
int
ln(
Ser
ial
.l
ist
()
);St
ri
ngar
dui
noPor
t=
Ser
ial
.l
ist
()
[0]
;

por
t=newSer
ial
(t
his,
ardui
noPor
t,9600)
;//connectt
oAr
dui
no

l
ast
Time=0;
f
etchDat
a()
;}

voi
ddr
aw(
){backgr
ound(c)
;

i
ntn=(
int
erval-(
(mi
ll
is(
)-
last
Time)
/1000)
);

/
/Bui
ldacol
ourbasedont
he3val
ues c=
col
or(
peace,
love,
ardui
no)
;

cs="
#"+hex(
c,6)
;//Pr
epar
east
ri
ngt
obesentt
oAr
dui
no

t
ext
("
Ardui
noNet
wor
kedLamp"
,10,
40)
;text
("
Readi
ng
f
eed:
",10,
100)
;text
(f
eed,
10,
140)
;

t
ext
("
Nextupdat
ein"
+n+"seconds"
,10,
450)
;text
("
peace"
,
10,
200)
;text
(""+peace,
130,
200)
;rect
(200,
172,
peace,
28)
;

t
ext
("
love"
,10,
240)
;text
(""+l
ove,
130,
240)
;rect
(200,
212,
love,
28)
;

t
ext
("
ardui
no"
,10,
280)
;text
(""+ar
dui
no,
130,
280)
;rect
(200,
252,
ardui
no,
28)
;

//wri
tethecolourstr
ingt
othescr
een t
ext
("
sendi
ng"
,
10,340)
;t ext
(cs,200,
340)
;
t
ext
("
li
ghtl
evel
",10,
380)
;
r
ect
(200,
352,
l
ight
/10.
23,
28)
;//t
hist
urns1023i
nto100

i
f(n<=0){ f
etchDat
a()
;
l
ast
Time=mi
ll
is(
);}

por
t.
wri
te(
cs)
;//senddat
atoAr
dui
no

i
f(por
t.
avai
labl
e()>0){/
/checki
fther
eisdat
awai
ti
ng i
nti
nByt
e=por
t.
read(
);/
/
r
eadonebyt
e i
f(i
nByt
e!=10){/
/ifbyt
eisnotnewl
ine

buf
fer=buf
fer+char
(i
nByt
e);/
/justaddi
ttot
hebuf
fer } el
se{

/
/newl
iner
eached,
let
'
spr
ocesst
hedat
a
i
f(buf
fer
.l
engt
h()>1){/
/makesur
ether
eisenoughdat
a

/
/chopof
fthel
astchar
act
er,
it'
sacar
ri
ager
etur
n
/
/(acar
ri
ager
etur
nist
hechar
act
eratt
heendofa /
/li
neoft
ext
)

buf
fer=buf
fer
.subst
ri
ng(
0,buf
fer
.l
engt
h()-
1);
/
/tur
nthebuf
ferf
rom st
ri
ngi
ntoani
ntegernumber l
ight=i
nt(
buf
fer
);

/
/cl
eant
hebuf
ferf
ort
henextr
eadcy
cle buf
fer="
";

/
/We'
rel
ikel
yfal
li
ngbehi
ndi
ntaki
ngr
eadi
ngs
/
/fr
om Ar
dui
no.Sol
et'
scl
eart
hebackl
ogof
/
/incomi
ngsensorr
eadi
ngssot
henextr
eadi
ngi
s /
/up-
to-
dat
e.
por
t.
clear
(); }

}
}

}
voi
dfet
chDat
a(){/
/weuset
hesest
ri
ngst
opar
set
he
f
eed

St
ri
ngdat
a;
St
ri
ngchunk;

/
/zer
othecount
ersl
ove =0;peace =0;ar
dui
no=0;t
ry{ URLur
l=new
URL(
feed)
;//Anobj
ectt
orepr
esentt
heURL

/
/pr
epar
eaconnect
ion URLConnect
ionconn=
ur
l.
openConnect
ion(
); conn.
connect
()
;//nowconnectt
othe
Websi
te

/
/thi
sisabi
tofvi
rt
ual
plumbi
ngasweconnect
/
/thedat
acomi
ngf
rom t
heconnect
iont
oabuf
fer
ed /
/readert
hatr
eads
t
hedat
aonel
ineatat
ime.

Buf
fer
edReaderi
n=new
Buf
fer
edReader
(newI
nput
Str
eamReader
(conn.
get
Input
Str
eam(
))
);

/
/readeachl
inef
rom t
hef
eed whi
le(
(dat
a=
i
n.r
eadLi
ne(
))!
=nul
l
){

St
ri
ngTokeni
zerst=
newSt
ri
ngTokeni
zer
(dat
a,"
\"<>,
.
()[
]")
;/
/br
eaki
tdown whi
le
(
st.
hasMor
eTokens(
)){ /
/eachchunkofdat
aismadel
ower
case chunk=
st
.next
Token(
).
toLower
Case(
);

i
f(chunk.
indexOf
("
love"
)>=0)/
/found"
love"
?
l
ove++; /
/incr
ementl
oveby1 i
f(chunk.
indexOf
("
peace"
)>=0)/
/
f
ound"
peace"
?

peace++;/
/incr
ementpeaceby1 i
f(chunk.
indexOf
("
ardui
no"
)>=0)/
/
f
ound"
ardui
no"
?

ar
dui
no++;/
/incr
ementar
dui
noby1 }

/
/Set64t
obet
hemaxi
mum numberofr
efer
enceswecar
eabout
.
i
f(peace>64)peace=64; if(l
ove>64)
l
ove=64; i f(
ardui
no>64)ar
duino=64;
peace=peace*4; /
/mul
ti
plyby4sot
hatt
hemaxi
s255, l
ove=l
ove*4; /
/
whi
chcomesi
nhandywhenbui
ldi
nga ar
dui
no=ar
dui
no*4;/
/col
ourt
hati
smadeof4
byt
es(
ARGB)}
cat
ch(
Except
ionex){/
/Ift
her
ewasaner
ror
,st
opt
hesket
ch ex.
pri
ntSt
ackTr
ace(
);
Syst
em.
out
.pr
int
ln(
"ERROR:"
+ex.
get
Message(
))
;
}

Haydoscosasquedebehacerant esdequeelbocet odepr ocesami ent


ose
ejecut
ecorrect
ament e.Enpr i
merlugar,debeindi
caraPr ocessingque
generelafuent
equeest amosut i
lizandoparaelboceto.Parael lo,
creey
guardeesteboceto.Acontinuación,conelbocetoaúnabi er
to, hagacli
cen
elmenúHer ramientasdeprocesami entoy,aconti
nuación,seleccione
Crearfuent
e.Seleccionel
af uent
eHel veti
caNeue-
Bold,eli
ja32par ael
tamañodef uent
ey, aconti
nuación, hagacli
cenAcept ar.

Ensegundol ugar,necesi
taráconf ir
marqueelcr oquisuti
lizaelpuer t
oseri
e
correctoparahabl arconAr duino.Tendr áqueesper arhast aquehaya
mont adoelci r
cuit
odeAr duinoyhayacar gadoelbocetodeAr dui
noantes
deconf ir
mar l
o.Enl amayor íadel ossistemas, est
ebocet ode
procesami entofuncionarácorrectament e.Sinembar go,sinovenadaque
ocurraenelAr duinoynoveani ngunai nformacióndelsensordel uzque
apareceenpant al
la,busqueelcoment arioet i
quet
ado" NOTA
IMPORTANTE"enelbosquej oPr ocesami entoysigalasinst r
uccionesall
í.

Aquíest
áelbosquej
odeArduino(
tambi
éndi
sponi
bleen
www. makezi
ne.
com/get
star
tedar
dui
no)
:
/
/Exampl
e08B:Ar
dui
noNet
wor
kedLamp
#def
ineSENSOR0
#def
ineR_
LED9
#def
ineG_
LED10
#def
ineB_
LED11#def
ine
BUTTON12

i
ntval=0;/
/var
iabl
etost
oret
heval
uecomi
ngf
rom t
hesensor

i
ntbt
n=LOW;i
nt
ol
d_bt
n=LOW;i
ntst
ate
=0;charbuf
fer
[7];i
nt
poi
nter=0;byt
einBy
te
=0;

byt
er=0;byt
eg=
0;byt
eb=0;

voi
dset
up(
){Ser
ial
.begi
n(9600)
;//opent
heser
ial
por
t
pi
nMode(
BUTTON,
INPUT)
;}

voi
dloop(
){
val=anal
ogRead(
SENSOR)
;//r
eadt
heval
uef
rom t
hesensorSer
ial
.pr
int
ln(
val
);
/
/pr
intt
heval
uet
o /
/theser
ial
por
t

i
f(Ser
ial
.avai
labl
e()>0){

/
/readt
hei
ncomi
ngbyt
e: i
nByt
e=
Ser
ial
.r
ead(
);

/
/Ift
hemar
ker
'sf
ound,
next6char
act
ersar
ethecol
our i
f(i
nByt
e=='
#'
){

whi
le(
poi
nter<6){/
/accumul
ate6char
s
buf
fer
[poi
nter
]=Ser
ial
.r
ead(
);/
/st
orei
nthebuf
fer poi
nter
++;/
/movet
hepoi
nter
f
orwar
dby1

}
/
/nowwehavet
he3number
sst
oredashexnumber
s /
/weneedt
o
decodet
hem i
nto3byt
esr
,gandb r=hex
2dec(
buf
fer
[1]
)+
hex2dec(
buf
fer
[0]
)*16; g=hex2dec(
buf
fer
[3]
)+hex
2dec(
buf
fer
[2]
)*
16; b=hex2dec(
buf
fer
[5]
)+hex2dec(
buf
fer
[4]
)*16;

poi
nter=0;/
/resett
hepoi
ntersowecanr
euset
hebuf
fer

}}

bt
n=di
git
alRead(
BUTTON)
;//r
eadi
nputval
ueandst
orei
t

/
/Checki
fther
ewasat
ransi
ti
on i
f((
btn==HI
GH)&&
(
old_
btn==LOW)
){ st
ate=1-st
ate;}

ol
d_bt
n=bt
n;/
/vali
snowol
d,l
et'
sst
orei
t

i
f(st
ate==1){/
/ift
hel
ampi
son
anal
ogWr
it
e(R_
LED,
r);/
/tur
nthel
edson anal
ogWr
it
e(G_
LED,
g)
;//att
hecol
our anal
ogWr
it
e(B_
LED,
b);/
/sentbyt
he
comput
er }el
se{

anal
ogWr
it
e(R_
LED,
0);/
/ot
her
wiset
urnof
f
anal
ogWr
it
e(G_
LED,
0); anal
ogWr
it
e(B_
LED,
0);}

del
ay(
100)
; /
/wai
t100msbet
weeneachsend}

i
nthex2dec(
byt
ec){/
/conver
tsoneHEXchar
act
eri
ntoanumber i
f(c>='
0'&&c<=
'
9'
){ r
etur
nc-'
0'
; }el
sei
f(c>='
A'&&c<='
F'
){ r
etur
nc-'
A'+10; }

}
Mont
ajedelCi
rcui
to
Lafigura6- 2muestr
acómoensambl arelcir
cuit
o.Esnecesari
ousar
resi
storesde10Kpar atodaslasr
esist
enciasquesemuest r
anenel
diagrama, aunquesepodrí
aescaparconvaloresmásbajosparalas
resi
stenciasconectadasalosLEDs.

RecuerdeenelejemploPWM enelcapí tulo5quel osLEDestán


pol
arizados:enestecir
cuit
o,elpasadorlargo(posi
ti
vo)debeiral
aderecha
yelpasadorcor t
o(negati
vo)alaizqui
erda.(LamayoríadelosLEDti
enen
unladonegat i
voaplanado,comosemuest raenlafi
gura)
.

Fi
gur
a6-
2.
The“
Ardui
noNet
wor
kedLamp”ci
rcui
t
Constr
uyaelcircuitocomosemuest r
a,usandounLEDr oj
o,ver
deyazul.A
cont
inuación,carguelosbocetosenArduinoyProcessing,l
uegoej
ecute
l
osbocet osypr uébel
o.Sit
ienealgúnpr obl
ema,consult
eelCapít
ulo7,
"Sol
ucióndepr oblemas".

Ahoravamosacompl et
arlaconst
rucci
ónmediant
el acol
ocaci
óndel a
placadepanenunaesf eradevidr
io.Lafor
mamássenci l
laybarat
ade
hacerlo es compr
aruna l
ámpara de mesa I
KEA "FADO".Ahora est
á
vendiendoporcercadeUS$14.99/€14. 99/£8.99(ahh,ell
ujodeser
europeo).

Enlugardeut il
iz
artresLEDseparados,puedeutil
izarunsoloLEDRGB,
quetienecuatrocablesquesalendeél.Ustedloconectarádelamisma
maner aquelosLEDsmost radosenl
aFigura6-2,conuncambi o:enl
ugar
detresconexionesseparadasalaclavi
jadetier
raenAr duino,t
endr
áun
sol
ocabl e(
ll
amado" cátodocomún""
)Vaal ati
err
a.

SparkFunvendeunLEDRGBde4conduct oresporunospocosdól ar
es
(www. sparkf
un.
com, númerodepiezaCOM- 00105).Además, a
dif
erenciadelosLEDmonocr omosdiscretos, elcabl
emásl argoeneste
LEDRGBeselquevaat i
err
a.Lostr
escabl esmáscor tostendránque
conectarsealospines9,10y11deAr duino( conunar esi
stenciaent
re
loscablesylospines,ali
gualqueconl osLEDsr ojo,
verdeyazul
separados).

Aquíescómomont
arl
o:
Desembal
elalámpar
ayr et
ir
eelcablequevadesdel
apar
tei
nfer
iorhaci
a
l
alámpara.Yanosetapaestoenlapared.

Cor
reaelArduinoenunt
abl
erodepanycal
ient
elapl
anchadepanenl
a
par
teposter
iordelal
ámpar
a.

Soldarl
oscablesmásl argosalLEDRGBypegar l
odondel abombil
lasol
ía
ser.Conect
eloscabl esquevi enendelLEDalapl
acadepr uebas(
dondese
conectóantesder et
irarl
a).Recuerdequesól
onecesit
aráunaconexióna
ti
errasiest
áutil
izandounLEDRGBde4conduct ores.

Obienencontr
arunabuenapiezademader aconunagujeroquesepuede
uti
li
zarcomounsoport
epar al
aesf eraosi
mplementecort
arlapar
te
superi
ordelacaj
adecartónquevieneconlalámparaen
aproxi
madamente5cm (
o2" )yhacerunagujeroconundiámetroque
Cunegalalámpar
aRefuerceelint
eriordel
acajadecart
ónusandoel
pegamentocali
ent
eal
olar
godel
osbor
desi
nter
ior
es,
quehar
álabase
másestable.

Coloquelaesf
eraenelsopor
teysacarelcabl
eUSBdel
apar
tesuper
iory
conectar
loalor
denador.

Apagueelcódi
godepr
ocesami
ento,pr
esioneelbot
óndeencendi
do/
apagadoyobserv
equelal
ámparacobravida.

Comoejerci
cio,
trat
edeagregarcódi
goqueenciendalal
ámpar
acuandol
a
habi
taci
ónseoscurezca.Ot
rasmejorasposi
blesson:
:

»Agreguesensoresdei
ncl
inaci
ónpar
aencenderoapagarl
alámpar
a
gi
rándol
aendi
fer
ent
esdi
recci
ones.

»AgregueunpequeñosensorPIRparadetectarcuandoal
gui
enest
á
al
rededoryapáguel
ocuandonohayanadi
epar
aver
lo.

»Creardi
fer
ent
esmodospar
aquepuedaobt
enercont
rol
manualdelcol
or
ohacerquesedesvanecenat
ravésdemuchoscol
ores.

¡
Pienseencosasdi
fer
ent
es,
exper
iment
eydi
viér
tase!
7/Soluci
ónde
probl
emas
Llegar áunmoment oensuexper iment aci
ón
cuandonadaf unci
onaráyust edtendr áque
averiguar cómo ar r
eglar
lo. Soluci ón de
problemas y depur aci
ón son l as ar tes
antiguas en las que hay algunas r eglas
si
mpl es,
per
ol amayorí
adel osresultadosse
obtienenatravésdeunmont óndet rabajo.
Cuantomást rabajesconlael
ectr
óni
cayAr dui
no,másaprenderásy
ganarásexperiencia,
loqueenúlt
imainstanciaharáqueelprocesosea
menosdol or
oso.Nosedesani meporlospr oblemasqueustedencontr
ará-
estodomásf ácildeloqueparecealpri
ncipio.

Comocadaproyect
obasadoenArdui
nosehacet ant
odehardwarecomo
desoft
ware,
habrámásdeunlugarpar
aversialgosalemal
.Mientr
as
buscaunerr
or,
debeoperaral
olar
godetr
eslíneas:

Compr
ensi
ón

Tratedeentenderlomásposiblecómolaspar
tesqueustedestáusandoel
tr
abajoycómosesuponequedebencont ri
bui
ralproyectoter
minado.Est
e
enfoquelepermiti
rádi
señaralgunafor
madepr obarcadacomponentepor
separado.

Si
mpl
if
icaci
ónysegment
aci
ón

Losant i
guosr omanossol
íandecirdivi
deetimper
a:di
vidi
rygobernar.
Tratededescomponer( mental
ment e)elpr
oyect
oensuscomponent es
util
izandol
acompr ensi
ónquet i
eneyaver i
güedóndeempiezayterminal
a
responsabil
idaddecadacomponent e.
Excl
usi
ónycer
ti
dumbr
e

Mientrasinvesti
ga,pr
uebecadacomponenteporseparadoparaquepueda
estarabsolutamentesegurodequecadaunofuncionaporsímismo.Ust
ed
crearágradualmentelaconfi
anzasobr
equépartesdelproyect
oest
án
haciendosut rabaj
oycuálessondudosas.

Depur
acióneselt ér
minoutil
izadoparadescri
birest
epr ocesoapli
cadoal
sof
tware.Lal eyendadicequef ueuti
li
zadaporprimeravezporGr ace
Hopperenl adécadade1940, cuandolascomputadoraser anensu
mayoríaelectromecáni
cas,yunadeel lasdej
ódef uncionarporquelos
i
nsectosrealesquedaronatrapadosenl osmecanismos.

Muchosdel osinsect
osdehoyendíayanosonf í
sicos:sonvir
tual
ese
i
nvisi
bles,
almenosenpar t
e.Porlotant
o,r
equi
erenunpr ocesoaveces
l
argoyabur r
idoparaseri
dent
if
icado.

Pr
uebadel
aJunt
a
¿Quépasasielpr
imerej
empl
o,"
par
padeaunLED" ,
nof
unci
onó?¿
Noser
ía
unpocodepri
mente?Vamosaaver
iguarquéhacer
.

Antesdeempezaracul parasuproyecto,
debeasegurar
sedequehay
algunascosasenorden,comohacenl ospil
otosdelí
neaaér
eacuando
pasanporunalist
adecompr obaciónparaasegurar
sedequeelavi
ón
estarávol
andocorr
ectamenteantesdedespegar:

Enchuf
esuAr
dui
noenunenchuf
eUSBensucomput
ador
a.

»Asegúresedequeelequi
poest
áencendi
do(
sí,
suenat
ont
o,per
oha
sucedido).Sil
aluzverdemar cadaPWRseenci ende,si
gni f
icaquel
a
comput adoraestáali
ment andolatarj
eta.SielLEDpar ecemuydébi l
,
al
goest ámal conelpoder :pruebeconuncabl eUSBdi f
erentee
i
nspecci oneelpuert
oUSBdelor denadoryelconect orUSBdelAr dui
no
paraversihayal gúndaño.Sit odofal
la,pr
uebeunpuer toUSB
dif
erenteensucomput adoraounequi podiferentecompl etament
e.

»SielArdui
noesnuevo,
elLEDamar
il
lomar
cadoLcomenzar
áa
parpadearenunpocodeunpatr
ónnervi
oso;
Esteeselpr
ogr
amade
pruebaquesecargóenl
afábr
icapar
aprobarelt
abl
ero.
»Sihaestadouti
li
zandounaf
uent
edeal
iment
aci
ónext
ernayest
áusando
unArduinoant
iguo(Extr
eme,NGoDi eci
mil
a),
asegúr
esedequela
fuent
edealimentaci
ónestáconectadaydequeelpuentemarcado
SV1estáconectandolosdospinesmáscercanosalext
ernoConect
or
delafuent
edeal i
mentaci
ón.

NOTA:Cuandot engaprobl emasconotrosbocet


osynecesi
teconfir
mar
queeltableroestáfuncionando, abr
aelpri
merejemplode"
parpadeodeun
LED"enelI DEdeAr duinoycar gueloenlapl
aca.ElLEDdeabordodebe
parpadearenunpat rónr egular
.

Si
hasuper
adotodosest
ospasosconéxi
to,
puedeest
arsegur
odequesu
Ar
dui
nofunci
onacorr
ect
amente.

Pr
uebadesuci
rcui
todepani
fi
caci
ón
Ahoraconectel
aplacaasut abl
erodepr uebasmedi antel
aej ecuciónde
unpuentedelasconexionesde5VyGNDal oscarr
ilesposit
ivosy
negati
vosdelaplacadepr uebas.SielLEDver dePWRseapaga, reti
relos
cabl
esinmediat
ament e.Estosigni
fi
caquehayungr aner rorensuci rcuit
o
yustedti
eneun"cortocir
cuit
o"enalgunapar t
e.Cuandoest osucede, su
tabl
erodi
bujademasiadacor ri
enteylaener gí
aconsiguecor t
adapar a
prot
egerlacomputadora.

NOTA:Silepreocupaquepuedadañarsucomput adora,recuer
dequeen
muchascomput adoras,l
aprotecci
ónactualesgeneral
ment ebastante
buenayresponderápidamente.Además, l
atarj
etaArduinoestáequipada
conun"PolyFuse",
undisposit
ivodepr ot
ecci
óndecor r
ientequese
rest
abl
ececuandoseel iminaelfal
lo.

Sier
esrealment
eparanoi
co,si
emprepuedesconectarl
aplacaArdui
noa
tr
avésdeunconcentr
adorUSBautoali
mentado.Enestecaso,sit
odova
horr
ibl
ementemal,
elconcentr
adorUSBeselquevaaempuj arl
as
margari
tas,
nosucomputadora.

Siti
eneuncort
oci
rcui
to,
tienequei
nici
arelpr
ocesode"si
mplif
icaci
óny
segmentaci
ón"
.Loquedebehacerespasarporcadasensorenelproyect
o
yconect
arsól
ounoal
avez.

Laprimeracosaapart
irdeessiemprel
afuentedeali
mentaci
ón(l
as
conexionesde5VyGND) .Mir
easual r
ededoryasegúresedequecada
part
edelcircui
toseal
i
mentacor r
ect
amente.

Trabajarpasoapasoyhacerunasol amodi f
icaciónal avezesl aregl a
númer ounopar aarr
eglarcosas.Est aregl
af uemar ti
ll
adaenmi j
oven
cabezapormipr ofesordel aescuelaypr i
merempl eador,Maur i
zi
oPi rola.
Cadavezqueest oydepur andoalgoyl ascosasnosevenbi en(ycréanme,
sucedemucho) ,sucar aapar eceenmicabezadi ciendo" unamodi ficación
alavez...Unamodi f
icaciónal avez"yquesuel esercuandol oarreglo
todo.Estoesmuyi mpor tante,porquesabrásloquear reglóelproblema( es
muyf ácilperderlapistadequémodi fi
caciónrealment eresolvi
óel
problema, porloqueest ani mportantehacerunoal avez).

Cadaexper i
enciadedepur aci
ónacumul ar
áensucabezauna" basede
conocimiento"dedefectosyposi blescorr
ecci
ones.Yantesdequel osepa,
seconverti
ráenunexper t
o.Estot eharávermuybien,porquetanpronto
comounnovat odice"Estonof unciona!
"Ledaráunami radarápidaytener
l
ar espuest
aenunaf r
accióndesegundo.

Pr
obl
emasdeai
slami
ent
o
Otrareglai
mpor t
anteesencontrarunamaneraconf i
ablederepr
oducirun
problema.Sisucircui
tosecompor tademaneradiverti
daenmoment os
aleatori
os,i
ntent
erealment
eaver i
guarelmoment oexactoenqueocurre
elproblemayl oquelocausa.Esteprocesol
eper mit
ir
ápensarsobreuna
posiblecausa.Tambiénesmuyút ilcuandonecesit
asexpli
caraalgui
enlo
queest ápasando.

Descri
bi relprobl emaconl amay orprecisiónposibletambi énesunabuena
maneradeencont rarunasolución.Tratedeencont raraalguienpara
expl
icarelpr obl ema- enmuchoscasos, unasol uciónapar eceráensu
cabezami entrasar ti
culaelproblema.Br ianW.Ker nighanyRobPi ke,en
ThePr acticeofPr ogrammi ng(Addison-Wesl ey,1999),cuentanlahist
or i
a
deunauni versidadque" guar
dabaunosodepel uchecer cadel mostr
ador
deayuda.Losest udi
antesconbi chosmi st er
iososteníanqueexpl i
carlesal
osoant esdequepudi er
anhablarconunconsej erohumano. .
Pr
obl
emasconelI
DE
Enalgunoscasos,esposi
blequetengaunpr
obl
emaalut
il
izarelI
DEde
Ardui
no,enparti
cularenWindows.

Siapareceunerroralhacerdobl
ecl
iceneliconodeArdui
no,osinoocurr
e
nada,hagadoblecli
cenelar chi
vor
un.batcomométodoalter
nat
ivopar
a
ini
ciarArdui
no.

Losusuar iosdeWi ndowst ambi énpuedenencont rar


seconunpr oblemasi
elsistemaoper ati
voasignaunnúmer odepuer toCOM deCOM10o
superioraAr duino.Siestosucede, normal mentepuedeconv encera
Wi ndowspar aasignarunnúmer odepuer toinf
er i
oraArduino.Enpr imer
lugar,abraelAdmi nist
radordedi sposit
ivoshaci endocl
icenelmenúI ni
cio,
hagacl icconelbot ónsecundar ioenEqui po(Vista)oMiPC( XP)y
seleccionePropiedades.EnWi ndowsXP, hagacl i
cenHardwar eyel ij
a
Admi nistr
adordedi sposit
ivos.EnVi st
a,hagacl icenAdmi nistradorde
dispositi
vos(apareceenl alist
adet areasal aizquier
dadel avent ana).

Busquelosdisposi ti
vosseri
eenl ali
stabaj
o"Puert
os(COM &LPT) ".
Busqueundi sposi t
ivoseri
equenoest éusandoqueesténumer adocomo
COM9oi nfer
ior.Hagacl i
cconelbotónderechoenélyelij
aPr opiedades
enelmenú.Acont i
nuación,el
ij
alafi
chaConfigur
acióndelpuertoyhaga
cli
cenAvanzado.Est abl
ezcael númerodepuertoCOM aCOM10o
superi
or,hagacl icenAceptaryvuelvaahacercli
cenAcept arparacerrar
elcuadrodedi álogoPropiedades.

Ahora,hagalomismoconeldisposi
ti
voUSBSer
ialPor
tquerepr
esent
a
Arduino,conuncambio:asi
gneelnúmer
odepuertoCOM (
COM9oi nf
eri
or)
queacabadel i
berar
.

Siest
assugerenciasnoayudan,osit
ieneunpr obl
emaquenosedescr
ibe
aquí,
consul
telapáginadesoluci
óndepr obl
emasdeArduinoen
www. ar
dui
no.cc/es/Guí
a/Solucióndeproblemas.

Cómoobt
enerayudaenl
ínea
Siest
áatascado,nopasedíascor
ri
endosolo,pidaayuda.Unadelas
mejorescosasdeArduinoessucomunidad.Siemprepuedeencontr
ar
ayudasipuededescri
birbi
ensuprobl
ema.

Obt
enerelhábi
todecort
arypegarcosasenunmotordebúsquedayversi
al
gui
enestáhablandodeel
lo.Porej
emplo,
cuandoelI
DEdeAr dui
no
escupeunmensajedeerrorrepugnante,
cópiel
oypégueloenuna
búsquedadeGoogleyvealoquesal e.Hazlomismoconbi t
sdecódigoen
l
osqueest ást
rabaj
andooconunnombr edefunci
ónespecíf
ico.Mi
raatu
alr
ededor:t
odoyahasidoinventadoyestáalmacenadoenalgunapart
ede
unapáginaweb.

Paramási nformaci
ón, empi ecedesdeelsi ti
owebpr inci
pal
www. arduino.ccymi reelFAQ( www. ardui
no.cc/en/Main/FAQ),l
uegovaya
alpatio(www. ardui
no.cc/playgr ound),aLibr
ement eeditabl
ewikique
cualquierusuariopuedemodi ficarparacontri
buirconladocument aci
ón.
Esunadel asmej orespartesdet odalafil
osofí
adecódi goabier
to.La
genteapor tadocument aci
ónyej emplosdetodol oquepuedeshacercon
Arduino.Ant esdeinici
arunpr oyecto,busqueenelpat i
oder ecr
eoy
encontraráunpocodecódi gooundi agramadeci rcuit
oparaempezar .

Sitodavíanopuedeencont rarunarespuest
adeesamaner a,busqueenel
foro(www. arduino.cc/
cgi-
bin/yabb2/YaBB. pl
).Siesonoayuda,publi
car
unapr eguntaallí
.Escojalatabl
acorrect
apar asuprobl
ema:haydifer
entes
áreaspar apr oblemasdesof t
wareohar dwareei ncl
usoforosenci nco
i
diomasdi ferentes.Publi
catodalai
nformaciónquepuedas:

»¿Quétabl
erodeAr
dui
noest
áusando?

»¿Quési
stemaoper
ati
voest
áut
il
izandopar
aej
ecut
arelI
DEdeAr
dui
no?

»Déunadescri
pci
óngener
aldel
oqueest
átr
atandodehacer
.Publ
icar
enl
acesahoj
asdedat
osdepar
tesext
rañasqueest
áut
il
izando.

Elnúmeroder
espuest
asqueobt
ienedependedel
obi
enquef
ormul
esu
pregunt
a.

Susposi
bil
idadesaumentansievi
taestascosasatodacosta(est
asr
egl
as
sonbuenasparacual
quierfor
oenlínea,nosólopar
aArduino)
:
» Escri
biendosumensajeenMAYÚSCULAS.Semol estanalagente
muchoyescomocami narcon"novat
o"tat
uadoenl afrent
e(enl
as
comuni dadesenl
ínea,
escribi
endoentodosloscapital
esseconsider
a
"gr
it
ando" )
.

» Publ
icarelmi
smomensaj
eenvar
iaspar
tesdel
for
o.

"Golpear"sumensaj epublicandocoment ar
iosdeseguimiento
» preguntando" Hey,¿cómoesquenadi er espondió?"Opeoraún,
simplement epubli
careltexto" bump".Sinor eci
bióunarespuest
a,
echeunvi stazoasupubl icación.¿Estabaclaroeltema?¿Usted
proporcionóunadescr i
pciónbi en-
redactadadel probl
emaqueust ed
estáteniendo?¿ Er
asagradabl e?Siempr esébueno.

» Escri
birmensajescomo" Qui
eroconst r
uiruntr
ansbor dadorespaci
al
usandoar dui
nocomohagoeso" .Estosi
gnif
icaqueust edquierequela
gentehagasut rabaj
oparausted,yesteenfoquenoessi mplemente
diver
ti
dopar aunverdaderot
inkerer.Esmejorexpl
icarloquequi er
es
construi
ryluegohacerunapregunt aespecí
fi
casobr eunapar t
edel
proyectoytomar l
odesdeall
í.
»
Unavar iaci
óndelpunt oanteri
orescuandolapreguntaescl aramente
algoqueelcar teldelmensajeseestápagandopar ahacer.Siusted
hacepr eguntasespecífi
casquelagenteestáfeli
zdeayudar ,perosi
l
espi dequehagant odosut r
abajo(
ynocompar t
eneldinero),la
respuestaespr obablequeseamenosagr adable.
»
Publicarmensaj
esquepar ezcansospechososcomoasi gnaci
ones
escolaresypedi
ralforoquehagasut area.Pr
ofesor
escomoyovagan
porlosf or
osygolpeanaesosestudiantesconunatruchagrande.
ApéndiceA/
Elt
ablerodepan
Elprocesodeconsegui runci r
cuit
opar atrabajarimpl icahacermuchos
cambi osenélhast aquesecompor t
ecor rectament e;Esunpr ocesomuy
rápi
doei terat
ivoqueesal goasícomounequi valenteel ect
rónicoalbosquej
o.
Eldiseñoevolucionaent usmanosmi entrasintentascombi naciones
dif
erentes.Paraobt enerlosmej or
esresul tados,uti
liceunsi stemaquel e
permitacambi arlasconexi onesentr
el oscomponent esdel amaner amás
rápi
da, máspr áct
icaymenosdest r
uctiva.Estosr equisit
oscl aramente
descartanlasoldadur a,queesunpr ocedimi entoquer equieremuchot iempoy
queponeal oscomponent esbajotensióncadavezquel oscal i
entaylosenfr
ía.

Larespuestaaest eprobl
emaesundi sposi
tivomuypr áct
icoll
amadol apl
aca
desoldarsinsoldadura.Comosepuedeverenl aFiguraA-1,setrat
adeun
pequeñotabler
odepl ást
icol
lenodeaguj er
os, cadaunodel oscualescont
iene
uncontactoder esort
e.Ustedpuedeempuj arl apiernadeuncomponent een
unodel osagujeros,yestabl
eceráunaconexi óneléctri
cacontodoslosotros
agujer
osenl ami smacolumnaver ti
caldeaguj eros.Cadaagujeroestáauna
di
stanciade2,54mm del osotros.

Debi doaquel amayor íadel oscomponent estienensuspat as(conocidaspor


l
ost écni coscomo" pernos")espaci adasaesadi stanci aestándar ,l
asvirutas
conmúl tiplespat asencaj anper f
ect amente.Not odosl oscont actosenuna
tabladepanel essecr eani guales,hayal gunasdi ferencias.Lasf i
lassuper iore
i
nf erior(coloreadasenr ojoyazulymar cadascon+y- )estánconect adas
hor i
zontal ment eyseut i
li
zanpar at ransportarlaal i
ment aciónat ravésdel a
placademodoquecuandosenecesi taenergíaot i
erra,sepuedepr oporcionar
muyr ápidament econunpuent eUnpedazocor t
odeal ambr eut i
li
zadopar a
conect ardospunt osenl oscircuit
os) .Laúltimacosaqueust ednecesi t
asaber
sobr ebreadboar dsesqueenelmedi o,hayunaaber t
uragr andequeseat an
anchacomoelt amañodeunpequeñochi p.Cadal í
neaver ticaldeaguj er
osse
i
nt errumpeenelmedi o,demodoquecuandoseconect aunchi p,nose
cor t
ocircuitanl ospinesqueest ánenl osdosl adosdel chip.Intel
igente,¿eh?p.
Appendi
xA 93
Fi
gur
aA-
1.
Lapl
anchasi
nsol
dadur
a.

Apéndi
ceBResist
oresde
l
ectur
aycondensadores.
Conelf indeut i
li
zarlaspiezaselect rónicas, esnecesar iosercapazde
i
dent i
fi
car ,quepuedeserunat areadi fí
cilparaunpr incipi
ante.Lamayor í
ade
l
asr esistenciasqueseencuent r
anenunat iendat i
enenuncuer pocil
índr
ico
condospat asquesobr esalenyt ienenmar casdecol oresextrañosasu
alr
ededor .Cuandosehi cieronlaspr imer asresist
enci ascomer ci
ales,
nohabía
formadei mpr i
mi rnúmerosl osuf icientement epequeñoscomopar acaberen
sucuer po, porloquei ngenierosint eli
gent esdecidieronquesól opodían
representarl osvalorescont i
rasdepi nturadecol or.

Lospr i
ncipi
antesdehoyendí atienenqueencontrarunamaner adei nt
erpret
ar
estossignos.La" l
lave"esbastantesimpl
e:generalmente,haycuatrorayas,y
cadacol orrepr
esent aunnúmer o.Unodel osani
ll
osesgener almenteoro-
coloreado;Ésterepresentalaprecisi
óndeesaresistenci
a.Paraleerlasrayas
enor den,mantengal aresist
enciaporloquelabandadeor o(oplat
aen
algunoscasos)est áal aderecha.
Aconti
nuaci
ón,
lealoscol
oresyasi
gnarl
osalosnúmeroscorr
espondi
entes.En
l
asigui
entet
abl
a,encontr
aráunatr
aducci
ónentr
eloscol
oresysusvalor
es
numéri
cos.

Col
our Val
ue

Bl
ack 0

Br
own 1

Red 2

Or
ange 3

Yel
low 4

Gr
een 5

Bl
ue 6

Pur
ple 7

Gr
ey 8

Whi
te 9

Si
lver 10%

Gol
d 5%

Porejempl
o,lasmar casmarr
ones,negras,naranj
asydoradassi gnif
ican103±
5%.Fácil
,¿verdad?Nobast ante,porquehayungi ro:elt
erceranill
or epresent
a
real
menteelnúmer odecerosenelval or.Porlotanto103esenr ealidad10
seguidode3cer os,porloqueelr esul
tadof i
nales10.000ohmi os±5%.Los
geeksdel ael ectr
ónicati
endenaacor tarlosvaloresexpresándolosenki l
o
ohmios(parami les

Apéndi
ceB95

De ohmi os)y mega ohmi os (par


a mill
ones de ohmi os)
,porl o que una
resi
stencia de 10.
000 ohm se acor ta a 10k,mientr
as que 10.000.000 se
convier
teen10M.Tengaencuent aquedebi doaquel osingenier
osest án
afi
cionadosaopt imizartodo,enalgunosdiagramasesquemát i
cossepueden
encontrarvalor
esexpr esados​como4k7,l
​ oquesi gni
fi
ca4. 7kil
oohmi os,o
4700.

Loscondensadoressonunpocomásf ácil
es:l
oscondensador
esenformade
bar
ri
l(condensadoresel
ect
rol
ít
icos)gener
almentet
ienensusval
oresi
mpresos
enellos.Elval
ordeuncondensadorsemideenfar
ads(F),perolamayor
íade
l
oscondensador esqueencuentresemediránenmicrof arads(μF)
.Tansi
ustedveuncondensadoreti
quetado100μF,esuncondensadorde100mi cr
o
far
ad.

Muchosdel oscondensador esenf ormadedi sco( condensadorescer


ámi cos)
not ienensusuni dadesenumer adas,yut il
izanuncódi gonumér i
codet res
dígit
osquei ndi caelnúmerodef arospi co( pF).Hay1. 000.000pFenunμF.
Similaraloscódi gosderesi
stencia,seut i
lizaeltercernúmer oparadeter
mi nar
elnúmer odecer osaponerdespuésdel osdospr i
mer os,conunadifer
encia:si
ves0- 5,queindicaelnúmerodecer os.6y7noseut i
li
zan,y8y9semanej an
de maner a diferent
e.Sive 8,mul tipl
ique elnúmer o que for
man los dos
primerosdígi
tospor0. 01,
ysive9, mul ti
plíquelopor0. 1.

Porlotant
o,uncondensadoret
iquet
ado104ser
ía100.
000pFo0,
1μF.Un
condensadormarcado229serí
a2,2pF.
Apéndi
ceC/Ref
erenci
a
rápi
dadeAr
dui
no.
Est
aesunaexplicaciónrápi
dadetodasl
asi
nst
rucci
onesest
ándar
sopor
tadasporellenguajeAr
dui
no.

Paraunarefer
enci
amásdet al
lada,
vea:
ardui
no.
cc/en/Ref
erence/
HomePage.

ESTRUCTURA
Undibuj
odeArdui
noseej
ecut
aendospar
tes:

voi
dset
up(
)
Aquíesdondesecol
ocaelcódi
godei
nici
ali
zaci
ón:l
asi
nst
rucci
ones

queconf
igur
anl
apl
acaant
esdequecomi
enceelbucl
epr
inci
paldel

bocet
o.voi
dloop(
)

Estecont
ieneelcódi
gopri
nci
paldesubocet
o.Conti
eneunconjunt
ode
inst
rucci
onesqueserepi
tenunayotr
avezhastaquelat
arj
etaseapaga.


MBOLOSESPECI ALES
Ardui
noincluyeunaser
iedesí
mbolospar
adel
inearl
íneasdecódi
go,
comentari
osybloquesdecódi
go.

;(
punt
oycoma)

Cadainst
rucci
ón(lí
neadecódigo)seter
minaporunpunt oycoma.Est a
si
ntaxi
slepermit
eformat
earelcódigoli
bremente.Incl
usopodrí
asponer
dosinst
rucci
onesenlamismal í
nea,si
empreycuandol asseparesconun
puntoycoma.(Si
nembar go,
estoharíaqueelcódigoseamásdi fí
cilde
l
eer.
)

Ej
empl
o:del
ay(
100)
;
{}(Ll
aves)
Estoseutil
izaparamar
carbl
oquesdecódi
go.Porejemplo,
cuandoescri
be
códigoparalafunci
ónl
oop()
,ti
enequeusarl
lavesantesydespuésdel
código.
Ejemplo:
voi
dloop(
){ Ser
ial
.pr
int
ln(
"ci
ao"
);
}

Comentar
ios
Est
assonporcionesdetextoignoradasporelpr
ocesadorArdui
no,per
oson
ext
remadamenteútil
espararecordaraustedmismo( uotr
os)deloque
haceunpedazodecódigo.
Haydosesti
losdecoment ari
osenAr dui
no:
/
/si
ngl
e-l
ine:t
hist
exti
signor
edunt
ilt
heendoft
hel
ine/
*mul
ti
ple-
li
ne: youcan
wr
it
e awhol
epoem i
nher
e*/

CONTENI DOS
Ardui
noincluyeunconj
untodepal abrasclavepredefi
nidasconval
ores
especi
ales.HIGHyLOW seutil
izan,porejemplo,cuandosedeseaactivar
odesactivarunpi
nArdui
no.INPUTyOUTPUTseut il
izanparaest
abl
ecer
unpinespecífi
copar
aseryentr adaounasal ida

Ver
dader
oyfalsoi
ndi
canexact
amenteloquesusnombr
essugi
eren:l
a
ver
dadofal
sedaddeunacondi
ciónoexpr
esi
ón.

VARIABLES
Lasvari
ablessedenominanáreasdelamemoriadelAr
duinodondese
puedenalmacenardatosquesepuedenuti
li
zarymanipul
arenelbocet
o.
Comosunombr ei
ndica,puedensercambi
adostant
asvecescomoquieras.

DebidoaqueArduinoesunpr
ocesadormuysimple,
cuandodecl
arauna
vari
able,
debeespeci
fi
carsut
ipo.Est
osigni
fi
cadeci
rl
ealpr
ocesadorel
tamañodelval
orquedeseaal
macenar .

Aquíest ost
ánl iposdedat
osqueest
ándi
sponi
bles:

bool
ean
Puedet
enerunodedosval
ores:ver
dader
oof
also.
char
Tieneunsolocar
ácter,
comoA.Comocual qui
ercomput ador
a,Ardui
nol
o
almacenacomounnúmer o,
aunqueveatext
o.Cuandoloscaracter
esse
util
izanpar
aalmacenarnúmeros,
puedencontenerval
oresde-128a127.

NOTA:Haydosconj untosprincipal esdecar acteresdisponibl


esen
si
stemasi nfor
mát i
cos:ASCI IyUNI CODE.ASCI Iesunconj untode127
caracteresqueseut i
li
zópara, entreot rascosas, l
atransmisióndet ext
o
entretermi nal
esenser i
eysi stemasdecomput adoracompar t
idosenel
ti
empo, t
alescomomai nframesymi nicomput adoras.UNICODEesun
conjuntomuchomásgr andedeval oresut i
li
zadosporl ossistemas
operativosmoder nosdecomput ador apar arepresentarapersonajesen
unaampl i
agamadei di
omas.ASCI Isi
guesi endoút i
lparaelintercambiode
bit
scor tosdei nformaci óneni di
omascomoeli t
ali
anooeli nglésque
uti
li
zancar act
eresl ati
nos,númer osar ábigosysí mbolosdemáqui nade
escribi
rcomunespar alapunt uaci ónysi mi l
ares.

byt
e
Conti
eneunnúmer
oent
re0y255.Ali
gualqueconl
oscar
act
eres,
losbyt
es
uti
li
zansól
ounbyt
edememori
a.

i
nt
Uti
li
za2bytesdememori
apar
arepr
esent
arunnúmeroent
re-
32.
768y
32.
767;Eselti
podedat
osmáscomúnusadoenArdui
no.

unsi
gnedint
Comoint,
uti
li
za2byt
es,per
oel pr
efi
josi
nsi
gnosigni
fi
caquenopuede
almacenarnúmer
osnegati
vos,
porloquesurangovade0a65.535.

l
ong
Est
eeseldobledelt
amañodeuni
ntycont
ienenúmer
osde-
2.147.
483.
648
a2.147.
483.
647.

unsignedl
ong
Versiónsi
nfi
rmardel
argo;Vade0a4.
294.
967.
295.

f
loat
Estoesbast
ant
egr
andeypuedecont
enerval
oresdepunt
ofl
otant
e,una
maneraelegant
ededecirquepuedeusarl
oparaalmacenarnúmer oscon
unpuntodecimalenell
a.Secomenhasta4byt esdesumemor i
aRAM
preci
osoylasfunci
onesquepuedenmanejarqueutil
izanunagr an
canti
daddememor iadecódi
gotambién.Asíqueusaf l
otador
escon
moderaci
ón.

double
Númer odecomaf lot
ant
ededoblepr
eci
sión,
conunval
ormáxi
mode
1.7976931348623157x10308.Wow,
esoesenorme!

stri
ng
Unconj untodecar acteresASCI Iqueseutil
izanparaal
macenar
informacióntextual(puedeut i
li
zarunacadenapar aenvi
arunmensaj ea
travésdeunpuer t
oser i
eopar amostrarl
oenunapant al
laLCD).Parael
almacenami ento,util
izanunbyt eparacadacar áct
erenlacadena,además
deuncar ácternulopar adecir
leaArduinoqueeself i
naldelacadena.Los
siguient
essonequi valentes:
charst
ri
ng1[
]="
Ardui
no"
;//7char
s+1nul
lcharcharst
ri
ng2[
8]="
Ardui
no"
;
/
/Sameasabove

arr
ay
Unal i
stadevariabl
esal asquesepuedeaccederat r
avésdeuní ndi
ce.Se
uti
li
zanpar aconstr
uirt
ablasdevalor
esquesepuedenaccederf áci
lmente.
Porej emplo,sidesea al macenardif
erentes nivel
es de br
il
lo que se
uti
li
zarán alatenuarun LED,podr í
a crearseisvar i
ablesdenominadas
li
ght01,l
ight02,
etc.Mejoraún,ust
edpodríauti
li
zarunarregl
osimplecomo:
i
ntl
ight
[6]={
0,20,
50,
75,
100}
;

Lapal
abra"matr
iz"noseusareal
ment
eenl
adecl
araci
óndevar
iabl
es:l
os

mbolos[]y{
}reali
zanelt
rabaj
o.

ESTRUCTURASDECONTROL
Ardui
noincl
uyepal
abr
ascl
avepar
acont
rol
arelf
luj
ológi
codesubocet
o.

i
f...else
Estaestructur
atomadecisi
onesensupr ograma.ifdebesersegui dopor
unapr eguntaespeci
fi
cadacomounaexpr esiónentr
epar éntesi
s.Sila
expresiónesverdader
a,loquesigueseráej
ecutado.Siesf al
so,se
ejecutaráelbl
oquedecódigosiguient
e.Esposibl
eutil
izarsóloifsin
pr
opor
cionarunacl
áusul
ael
se.

Ej
empl
o:
i
f(val==1)
{di
git
alWr
it
e(LED,
HIGH)
;}

f
or
Leper
mit
erepet
irunbl
oquedecódi
gounnúmer
oespeci
fi
cadodeveces.

Ej
empl
o:
f
or(
inti=0;i<10;i
++)
{ Ser
ial
.pr
int
("
ciao"
);}

switchcase
Lasdecl ar ones i
aci fson como unabi fur
cación en elcamino par
asu
programa.Swi tchcase escomounaenor mer otonda.Permit
equesu
programat omeunavar i
edaddedir
ecci
onesdependiendodelval
ordeuna
vari
able.Esmuyút i
lmant enersucódigoordenado,yaquer eemplaza
lar
gasl i
stasdedeclar onesi
aci f.

Ej
empl
o:
swi
tch(
sensor
Val
ue){ case23:
di
git
alWr
it
e(13,
HIGH)
; br
eak;
case46: di
git
alWr
it
e(12,
HIGH)
;
br
eak;
def
aul
t:/
/ifnot
hingmat
chest
hisi
sexecut
ed
di
git
alWr
it
e(12,
LOW)
; di
git
alWr
it
e(13,
LOW)
;}

whil
e
Si
milaraif
,Est
oej ecut
aunbl
oquedecódi
gomi
ent
rasqueunaci
ert
a
condici
ónesverdadera.

Ej
empl
o:
/
/bl
inkLEDwhi
lesensori
sbel
ow512sensor
Val
ue
=anal
ogRead(
1);whi
le(
sensor
Val
ue<512)
{ di
git
alWr
it
e(13,
HIGH)
; del
ay(
100)
;
di
git
alWr
it
e(13,
HIGH)
; del
ay(
100)
;
sensor
Val
ue=anal
ogRead(
1);}

do...whi
le
Sólocomowhil
e, except
oqueelcódi
goseejecutaj
ustoantesdequese
evalúel
acondi
ción.Estaestr
uct
uraseut
il
izacuandodeseaqueelcódigo
dentrodesubl
oqueseej ecut
ealmenosunavezantesdecompr obarl
a
condici
ón.

Ej
empl
o:

do{
di
git
alWr
it
e(13,
HIGH)
;del
ay(
100)
;
di
git
alWr
it
e(13,
HIGH)
;del
ay(
100)
;
sensor
Val
ue=anal
ogRead(
1);}whi
l
e
(
sensor
Val
ue<512)
;

break
Estetér
minoleper mit
edejarunbucleyconti
nuarlaejecuci
óndelcódi
go
que aparece después delbucl
e.También se ut
il
iza para separ
arl
as
difer
ent
esseccionesdeunadeclar ónswi
aci tchcase.

Ej
empl
o:
/
/bl
inkLEDwhi
lesensori
sbel
ow512do{ /
/Leavest
he
l
oopi
fabut
toni
spr
essed i
f(di
git
alRead(
7)==HI
GH)
br
eak;
di
git
alWr
it
e(13,
HIGH)
; del
ay(
100)
;
di
git
alWr
it
e(13,
HIGH)
; del
ay(
100)
;
sensor
Val
ue=anal
ogRead(
1);}whi
le
(
sensor
Val
ue<512)
;

cont
inue
Cuandoseusadent
rodeunbucl
e,conti
nuel
epermitesal
tarelr
est
odel
códi
godentr
odeélyfor
zarl
acondici
ónparaserpr
obadodenuevo.

Ej
empl
o:

f
or(
li
ght=0;l
ight<255;l
ight
++){/
/ski
pint
ensi
ti
es
bet
ween140and200 i
f((
x>140)&&(
x<200)
)
cont
inue;
anal
ogWr
it
e(PWMpi
n,l
ight
);
del
ay(
10)
;}

r
etur
n
Det
ienel
aejecucióndeunafunci
ónyregr
esadeel
la.Tambi
énpuedeusar
est
oparadevolverunval
ordesdedent
rodeunaf
unción.

Porejemplo,sit
ieneunaf
unci
ónlamadacomput
l eTemper
atur
e()Ydesea
devol
verelresul
tadoalapar
tedesucódi
goquei
nvocól
afunci
ónque
escri
bir
íaalgocomo:
i
ntcomput
eTemper
atur
e(){ i
nt
t
emper
atur
e=0;
t
emper
atur
e=(
anal
ogRead(
0)+45)/100; r
etur
ntemper
atur
e;
}

ARITMÉTICOSYFÓRMULAS
Puedeutil
izarArduinoparareal
izarcál
cul
oscompl ej
osut
il
izandouna
si
ntaxi
sespeci al
.+Y-f unci
onacomol ohasapr endi
doenlaescuel
a,yl
a
multi
pli
caciónser epr
esentaconun*yl adivi
siónconun/.

Hayunoper adoradici
onalll
amado" módulo"(%) ,
quedevuelveelrest
ode
unadivi
siónentera.Puedeut il
izartant
osni velesdeparént
esiscomosea
necesar
iopar aagruparexpresiones.Contrariamentealoqueust edpudo
haberaprendidoenlaescuel a,loscorchetesyl oscor
chetessereservan
paraotr
ospr opósit
os(índi
cesdel amat r
izybl oques,
respecti
vamente).

Ej
empl
os:
a=2+2;
l
ight=(
(12*sensor
Val
ue)-5)/2;
r
emai
nder=3%2;/
/ret
urns2because3/2hasr
emai
nder1

OPERADORESDECOMPARACI ÓN
Cuandoespeci
fi
quecondi
cionesopr ai
uebaspar f,whi
le,
yfor
decl
araci
ones,
estossonl
osoperadoresquepuedesusar:

==iguala
!=noiguala
< menosque
> masgrandeque
<=menosqueoi guala
>=mayorquéoiguala
OPERADORESBOOLEANOS
Est
os se ut
il
izan cuando se desea combi
narvar
ias condi
ciones.Por

ej
empl
o,sideseacompr
obarsielval
orpr
ocedent
edeunsensorest
áent
re

5y10,
escr
ibi

a:i
f((
sensor=>5)&&(
sensor<=10)
)

Haytr
esoperadores:y,r
epr
esent
adoscon&&;O,
repr
esent
adocon|
|
;Y
fi
nal
menteno,represent
adocon!
.

OPERADORESCOMPUESTOS
Ést
ossonoperadoresespeci
alesusados​
par
ahacerelcódi
gomásconci
so
par
aalgunasoperaci
onesmuycomunescomoi ncrementarunv
alor
.

Porej
empl
o,par
aincr arelval
ement oren1,escr
ibi

a:

val ue+1;Pe
ue=val r
out
il
izandounoper
adorcompuest
o,

est
oseconvi
ert
een:val
ue++;

I
ncrementoydecremento(-y++)
Est
osincrementanodecrementanunvalorpor1.Si
nembargo,
tenga
cui
dado.Siescr
ibesi++estoi
ncrementaipor1yseeval
úaalequival
ente
dei+1;++iseevalúaalval
ordeiluegoi
ncrementai
.Lomismoseaplicaa
––.

+=,–=,*=and/
=
Est
ohacemáscor t
oescr
ibi
rci
ert
asexpr
esi
ones.Lasdosexpr
esi
ones
si
guient
essonequi
val
ent
es:

a=a+5;a+=5;

FUNCI ONESDEENTRADAYSALIDA
Arduinoincl
uyef
unci
onesdemanej
odeent
radaysal
ida.Yahasvi
sto
algunosdeestosenl
osprogr
amasdeej
emploal
olargodell
ibr
o.
Pi
nMode(
pin,
modo)

Reconf
igur
aunpi
ndi
git
alpar
aquesecompor
tecomoent
radaosal
ida.

Ej
empl
o:pi
nMode(
7,I
NPUT)
;//t
urnspi
n7i
ntoani
nput

di
git
alWr
it
e(pi
n,val
ue)
Enci
endeoapagaunpindigi
tal
.Lospinsdebenconvert
ir
seexpl
íci
tament
e
enunasaldausandopi
i nModeantesdedigi
tal
Wri
tetendráal
gúnefect
o.

Ej
empl
o:di
git
alWr
it
e(8,
HIGH)
;//t
urnsondi
git
alpi
n8

i
ntdigit
alRead(
pin)
Leeelestadodeunpindeent
rada,
devuel
veHI
GHsielpi
ndet
ect
aal
gún
vol
tajeoLOW sinohayvol
taj
eapli
cado.

Ej
empl
o:
val=di
git
alRead(
7);/
/readspi
n7i
ntoval

i
ntanalogRead(pi
n)
Leeelvolt
ajeapli
cadoaunpindeent
radaanal
ógicaydevuel
veunnúmer
o
entr
e0y1023quer epr
esent
alast
ensi
onesentr
e0y5V.

Ej
empl
o:val=anal
ogRead(
0);/
/readsanal
ogi
nput0i
ntoval

anal
ogWr i
te(pi
n,value)
Cambialaf r
ecuenciaPWM enunodel ospinesmarcadosPWM.Pi
npuede
ser11,10,9,6,5,3.Elval
orpuedeserunnúmeroentre0y255que
repr
esentalaescalaentre0y5Vdevol taj
edesal
ida.

Ej
empl
o:anal
ogWr
it
e(9,
128)
;//Di
m anLEDonpi
n9t
o50%

shiftOut(dataPin, clockPi n,bi


tOr der,value)
Enví adat osaunr egistr
odedespl azami ento,disposi
ti
vosqueseutil
izan
par aexpandi relnúmer odesal idasdi git
ales.Esteprotocol
out
il
izaunpin
par alosdat osyunopar aelr eloj.
BitOrderi ndicaelor dendebyt es( menossi gnif
icati
voomássignifi
cati
vo)y
el valoreselbyt er ealqueseenvi ará.
Ejempl o:shif
tOut(
dataPin,
clockPi
n,LSBFIRST,255)
;
unsi
gnedlongpulseIn(
pin,
val
ue)
Mideladuracióndeunpulsoenunadel asentr
adasdigi
tal
es.Est
oesúti
l,
porejempl
o, par
aleeral
gunossensor
esi nf
rar
roj
osoacelerómetr
osque
generansuvalorcomoi mpul
sosdeduraciónvari
abl
e.

Ej
empl
o:
t
ime=pul
sei
n(7,
HIGH)
;//measur
est
het
imet
henext /
/
pul
sest
ayshi
gh

FUNCI ONESDELTI EMPO


Arduinoincl
uyefunci
onespar
amedi
relt
iempot
ranscur
ri
doyt
ambi
énpar
a
detenerelbocet
o.

unsi
gnedlongmi l
li
s()
Devuelveelnúmerodemi
li
segundost
ranscur
ri
dosdesdeeli
nici
odel
boceto.

Ej
empl
o:
dur
ati
on=mi
ll
is(
)-
last
Time;/
/comput
est
imeel
apsedsi
nce"
last
Time"

del
ay(
ms)
Pausaelpr
ogr
amaporl
acant
idaddemi
li
segundosespeci
fi
cado.

Ej
empl
o:del
ay(
500)
;//st
opst
hepr
ogr
am f
orhal
fasecond

del
ayMicr
oseconds(
us)
Deti
eneelpr
ogramaporlacant
idaddadademi
crosegundos.

Ej
empl
o:
del
ayMi
croseconds(
1000)
;//wai
tsf
or1mi
ll
isecond

FUNCIONESDEMATEMÁTI CAS
Ardui
noincl
uyemuchasf
uncionesmat
emát
icasyt
ri
gonomét
ri
cas
comunes:

min(
x,y)
veelmenordexey.
Devuel
Ej
empl
o:
val=mi
n(10,
20)
;//vali
snow10

max(x,
y)
veelmayordexey.
Devuel

Ej
empl
o:
val=max(
10,
20)
;//vali
snow20

abs(
x)
Devuel
veelval
orabsolut
odex,
queconvi
ert
elosnúmerosnegat
ivosen
posi
ti
vos.Sixes5,devol
ver
á5,per
osixes-5,
todav
íar
etor
nará5.

Ej
empl
o:val=abs(
-5)
;//vali
snow5

const
rain(
x,a,b)
Devuel ordex,
veelval r
est
ri
ngi
doent
reayb.Sixesmenorquea,
simpl
ement edevol áaysixesmayorqueb,
ver r
egr áb.
esar

Ej
empl
o:
val=const
rai
n(anal
ogRead(
0),
0,255)
;//r
ejectval
uesbi
ggert
han255

map(val
ue,f
romLow, f
romHi gh,t
oLow,
toHigh)
Muestraunval
orenelr angofromLowymaxLowalr angot
oLowyt
oHi
gh.
Muyút i
lpar
aprocesarvalor
esdesensoresanalógi
cos.

Ej
empl
o:

val=map(
anal
ogRead(
0),
0,
1023,
100,
200)
;//mapst
heval
ueof /
/
anal
og0t
oaval
ue /
/bet
ween100and200

doublepow(base,
exponent)
Devuelveelr
esult
adodelevant
arunnúmer
o(base)par
aunval
or
(exponent
).

Ej
empl
o:doubl
ex=pow(
y,32)
;//set
sxt
oyr
aisedt
othe32ndpower

doubl
esqr
t(x)
Devuel
vel
ar aí
zcuadr
adadeunnúmer
o.
Ej
empl
o:doubl
ea=sqr
t(1138)
;//appr
oxi
mat
ely33.
73425674438

doubl
esin(
rad)
Devuel
veelsenodeunángul
oespeci
fi
cadoenr
adi
anes.

Ej
empl
o:doubl
esi
ne=si
n(2)
;//appr
oxi
mat
ely0.
90929737091

doubl
ecos(r
ad)
Devuel
veelcosenodeunángul
oespeci
fi
cadoenr
adi
anes.

Ej
empl
o:doubl
ecosi
ne=cos(
2);/
/appr
oxi
mat
ely-
0.41614685058

doubl
etan(r
ad)
Devuel
velatangent
edeunángul
oespeci
fi
cadoenr
adi
anes.

Ej
empl
o:
doubl
etangent=t
an(
2);/
/appr
oxi
mat
ely-
2.18503975868

FUNCIONESNUMÉRI CASDERANDOM
Sinecesi
tagener
arnúmer osal
eator
ios,
puedeusarelgener
adorde
númerospseudoaleator
iosdeArdui
no.

r
andomSeed( seed)
Restableceelgener adordenúmer ospseudoaleatoriosdeAr duino.Aunque
l
adist r
ibucióndel osnúmer osdevuel tosporrandom( )Esesenci al
mente
al
eatorio,lasecuenciaespr edecible.Porlotanto,
deber establecerel
generadoraunv al
oraleat
orio.Sitieneunpinanal ógiconoconect ado,
captaráruidoal eat
oriodelentorno( ondasder adi
o,rayoscósmi cos,
i
nterferenciaselectr
omagnét icasdel ostel
éfonoscel ul
aresyluces
fl
uorescent es,etc.
).

Ej
empl
o:r
andomSeed(
anal
ogRead(
5))
;//r
andomi
zeusi
ngnoi
sef
rom pi
n5

l
ongrandom(max)
l
ongrandom(min,max)
Devuel
veunvalorent
erol
argopseudoal
eat
ori
oent
remi
nymax-1.
Sinoseespeci
ficami
n,ell
ímit
einf
eri
ores0.
Ej
emplo:
l
ongr
andnum =r
andom(
0,100)
;//anumberbet
ween0and99l
ongr
andnum =
r
andom(
11)
; /
/anumberbet
ween0and10
COMUNI CACIÓNSERIAL
Comosevi oenelCapít
ulo5,
puedecomuni
car
secondisposit
ivosatravés
delpuert
oUSBmedi ant
eunpr ot
ocol
odecomuni
caci
ónserie.Aquíestán
lasfunci
onesenseri
e.

Seri
al.
begin(
speed)
PreparaArdui
nopar acomenzaraenviaryreci
birdat
osenseri
e.Engener
al,
usará9600bitsporsegundo(bps)conelmoni t
orenseri
eIDEdeArdui
no,
perootrasvel
ocidadesest
ándisponibl
es,gener
almentenomásde115.200
bps.

Ej
empl
o:
Ser
ial
.begi
n(9600)
;

Seri
al.
print(
data)
Seri
al.
print(
data,
encoding)
Enví
aal gunosdatosalpuertoser
ie.Lacodi
fi
caci
ónesopci
onal
;Sinose
suministra,l
osdatossetrat
ancomot ext
oplanocomoseaposi
ble.

Ej
empl
os:
Ser
ial
.pr
int
(75)
; /
/Pr
int
s"75"Ser
ial
.pr
int
(75,
DEC)
;//Thesameas
above.
Ser
ial
.pr
int
(75,
HEX)
;//"
4B"(
75i
nhexadeci
mal
)
Ser
ial
.pr
int
(75,
OCT)
;//"
113"(
75i
noct
al)
Ser
ial
.pr
int
(75,
BIN)
;//"
1001011"(
75i
nbi
nar
y)
Ser
ial
.pr
int
(75,
BYTE)
;//"
K"(
ther
awbyt
ehappenst
o
/
/be75i
ntheASCI
Iset
)

Seri
al.
print
ln(
data)
Seri
al.
print
ln(
data,encoding)
IgualqueSerial
.pr
int(
),Except
oqueañadeunret
ornodecar
royavancede
lnea(
í \r\n)comosihubi eraescr
it
olosdat
osyluegopr
esi
onadoInt
roo
Intr
o.

Ej
empl
os:

Ser
ial
.pr
int
ln(
75)
; /
/Pr
int
s"75\
r\n"Ser
ial
.pr
int
ln(
75,
DEC)
;//Thesameas
above.
Ser
ial
.pr
int
ln(
75,
HEX)
;//"
4B\
r\n"
Ser
ial
.pr
int
ln(
75,
OCT)
;//"
113\
r\n"
Ser
ial
.pr
int
ln(
75,
BIN)
;//"
1001011\
r\n"Ser
ial
.pr
int
ln(
75,
BYTE)
;//"
K\r
\n"

i
ntSeri
al.
avail
able(
)
Devuel
vecuántosbytesnoleí
dosestándisponi
blesenelpuertoSeri
alpar
a
l
eeratravésdelafunciónr
ead()
.Despuést enesr
i ead(
)tododisponibl
e,
Seri
al.
avai
labl
e()devuel
ve0hastaquell
eguennuevosdat osalpuert
oseri
e.

Ej
empl
o:i
ntcount=Ser
ial
.avai
labl
e()
;

i
ntSeri
al.
read(
)
Obt
ieneunbytedel
osdat
osenser
ieent
rant
es.

Ej
empl
o:i
ntdat
a=

Ser
ial
.r
ead(
);

Ser
ial.f
lush(
)
Debidoaquel osdatospuedenl l
egarat r
avésdelpuer
toseri
emásrápido
deloquesupr ogramapuedepr ocesar,
Arduinomanti
enetodosl
osdatos
ent
r antesenunbúfer.Sinecesit
abor r
arelbúferydej
arquesell
enecon
datosnuevos,uselafunción fl
ush().

Ej
empl
o:
Ser
ial
.f
lush(
);

Apéndi
ced/Diagr
amas
esquemát
icosdel
ect
ura
Hastaahor
a,hemosut i
li
zadoi l
ustracionesmuydet al
ladasparadescribir
cómoensamblarnuestr
oscircuitos,per ocomosepuedei maginar,noes
exact
amente una t
area rápida di bujar una de esas para cualquier
exper
iment
oquequieradocument ar.

Pr
obl
emassi
mil
aressur
gen,
tar
deot
empr
ano,
ent
odasl
asdi
sci
pli
nas.En
l
amúsi ca,despuésdeescr
ibi
runaboni
tacanci
ón,esnecesar
ioescr
ibi
rl
a
usandolanotaciónmusi
cal
.

Losingenieros,si
endogent
eprácti
ca,
handesar
rol
ladounamaner
arápida
decapturarl aesenci
adeuncircui
topar
apoderdocumentar
loydespués
reconst
rui
r l
oopasar l
oaotr
apersona.

Enlaelect
rónica,osdi
l agramasesquemát i
coslepermit
endescri
birsu
ci
rcuitodeunamaner aqueseaent endidaporelrestodelacomunidad.
Loscomponent esindividual
esestánr epresent
adosporsímbolosqueson
unaespeciedeabst raccióndelaformadel component
eol aesenci
ade
el
los.Porejemplo,elcondensadorest áhechodedospl acasmetáli
cas
separadasporaireopl ásti
co;Porl
ot anto,susímboloes:

Otr
oejemplocl
aroeselinductor,
quese
const
ruyeenr
oll
andoalambredecobrealr
ededor
deunaformacil
índr
ica;Porconsi
gui
ent
eel

mboloes:

Lasconexionesentr
eloscomponentesse
real
iz
angener al
menteuti
li
zandocablesopi st
as
enlaplacadecircui
toi
mpresoyser epresentan
eneldiagramacomol í
neassimpl
es.Cuandodos
cabl
esestánconectados,l
aconexi
ónse
repr
esentaporunpuntograndecolocadodonde
l
asdosl í
neascruzan:

 
Est
oestodoloquenecesit
apar
acomprenderl
osesquemasbási
cos.Aquí
est
áunali
stamáscompl et
adesímbol
osysussigni
fi
cados:

RESI
STOR CAPACI
TOR THERMI
STOR LDRLI
GHTSENSOR

DI
ODE LED PUSHBUTTON POTENTI
OMETER

Puedeencontrarvariacionesenest ossí mbol


os(porej emplo,ambas
variant
esdelossímbol osder esi
stenciasemuest r
anaquí )
.Ver
en.wiki
pedi
a.org/wiki
/El ectr
onic_symbol par
aunal istamásampl i
adelos
símbolosdelaelectrónica.Porconvenci ón,l
osdiagramassedi bujande
izquier
daaderecha.Porej emplo,unar adi
oseelabor aráaparti
rdela
antenaalaizquierda,si
gui endoelcami nodelaseñalder adio,yaquehace
sucami nohaciaelaltavoz( quesedi bujaaladerecha).

Elsi
guienteesquemadescr
ibeelci
rcui
topul
sadormost
radoant
eri
orment
e
enestelibr
o:
+5 V

ARDUI
NO

PI
N7

GND GND

Appendi
xD 111

Í
ndi
ce
88f or um, 91- 92Pi nesGND, 60har dwar e,19-
21I DE, descar ga, 22
 
IDE, descr ipci ón, 22
 
IDE, soluci óndepr obl emas, 90-91IDE, siti
o
;(Punt oycoma) ,46, 97 web, 1i nst alaci ón, 22- 27Li nux, 22NG, 20-21,
//(del i
mi tadordelcoment ario), 34-
35,36-37, 88vi stagener al ,1-3
98  
,,,
,
,,
,,,
,,
,,,
,,
,,
,,
,
,,,
, 36ar itmét i
ca, 103mat r
izvar i
abl e,
-(oper adordedecr ement o),104 100ASCI I,99l ámpar adeesf erademont aje,
/*( Del imi tadordecoment arios) ,98 84-85
&&( yoper ador ),103 ATmega168, 19- 21
{}(Ent recor chet es),34- 35, 97 Lámpar aAt on, 73
==( i
guala) , 44-45, 103 segundo
=( Oper adordei gual dad) ,44- 45 Bar ragan, Her nando, 2ci r
cuitosdecur vatur a,
>(May orque) ,103 10-11ElBet r othed, 36bi tOrder ,105LED
par padeant e, 30- 38, 64- 67Oper ador es
>=( May oroi gualque) ,103
bool eanos, 103var iabl e, 98sal tos,49- 51
++( oper adordei ncrement o), 104
sopor tes, ri
zado, 34- 35br eadboar d,43, 60, 89
<(Menorque) ,103
-90, 93- 94est r
uct uradecont rolder otur a,102
<=( Menoroi gualque) ,103
buf fer,76byt evar i
abl e, 99
%( Módul o), 103
do
!=( Noi guala) , 103
Clenguaj e, 22cál cul os, 103condensador es
!(Nooper ador ),103
del ect ura, 95- 96sí mbol o,110, 111
|
| (
Uoper ador ),103
conmut ador esdeal fombr as, 53charvar i
abl e,
()(Par ént esi s),36
98ci rcuitos
LEDRGBde4conduct or es, 84
 
(PWM) ,58- 60LEDcont roladoporpul sador ,
UN
42-43l ámpar adeesf er a,83- 84sí mbol os,
Ampèr e, Andr é- Mar ie, 41amper ios,41 esquemas, 110- 111pr uebas, 89-90cl ockPi n,
anal ógi caLeerf unci ón, 64-67, 105anal ógi
ca 105códi go.Consul tet ambi énpr ogramaci ón
anal ógi caLeerf unci ón, 64-67, 105 deLEDpar padeant e, 32- 38, 64-67bl oques,
anal ogWr itef unci ón, 56- 58, 65- 67,105 nombr es, 34- 35LEDcont roladoporpul sador ,
ent r
ada, 64- 67, 73sal ida, 56- 62, 73pines, 44-51obj etosenser ie, 68-69l ámpar aesf era,
placaAr dui no, 20- 21, 64- 67sensor es,64-68 75-82
sintetizador es, 8anal ogWr itef unción,56-58,
Colabor aci ón, 16Col ombo, Joe, 73códi gosde
65-67, 105yoper ador , 103Pi nesdeE/S
color es, resi stenci as, 95- 96col ores,
anal ógi casAr dui no, 20- 21, 64- 67def i
nidos,1
codi ficaciónHTML, 75- 76puer t
osCOM,
PlacaDi ecimi l
a, 20, 88pi nesdi git
alesIO,20-
Wi ndows, 26- 27, 90- 91comando, #def i
ne, 36,
21Pl acaDuemi lanov e, 20-21Ext r
emeboar d,
46coment arios, 35, 36- 37,98comuni caci ón,
serie, 25-27, 68-69, 73, HTML, 75- 76
 
90- 91, 108- 109oper ador esdecompar ación, yo
103compi l
aci óndebocet os, 33, 46sensor es Ipr emessisposi , 36
compl ej os, 70- 71oper ador escompuest os, IDE( ent or nodedesar rolloi nt egr ado)
103- 104conexi ones, símbol o, 110const ant es, descar ga, 22i nf or maci óngener al,22
36f unci ónder est ricción, 106i nf or maci ónde soluci óndepr obl emas, 90- 91si ti
oweb, 1sil a
cont act o, ixcont inuarl aest ruct ur adecont rol, est ruct ur adecont rol .Versidecl araci onessi
102Est ruct ur asdecont rol,100- 102f unci ón decl ar aci ones, 44- 45, 100, 103si. ..otra
cos, 107her raj es, 34- 35, 97cor rient e, 41- 42 est ruct ur adecont rol ,100
protecci óndecor rient e, 89 Igoe, Tom, 71I KEAl ámpar a, 84i Macdr iver s,
re 23l ámpar asi ncandescent es, conduct or , 70
Dant e, 36 incr ement ooper ador ,104i nduct or, sí
mbol o,
89-90, 88- 90, 88- 89, 87- 90, 88- 89, 68- 69, 89- 90, 110i nf rar roj os, 70- 71sensor esi nf rarroj os, 55,
68-69, dat a-ser ial,68- 69, dat a-36, 46f unci ón 56I NPUT, 36, 67, 73di git al, 36-38, 73
der et ar do, 37, 106f unci ón  Funci ones, 104- 108i nst al aci ón
delayMi cr oseconds, 106del i
mi tador es  Ardui no, 22- 27
bloquesdecódi go, 34- 35  Cont rolador esdeMaci nt osh, 23
 
Coment ar io, 35 cont rolador esdeWi ndows, 23- 24f unci ón
Diagr amas, circui tos, 110- 111Di eci mi lapl aca, anal ógi caRead, 105i ntf unci óndi gitalRead,
20di gital 104i ntFunci ónSer ial.avai l
abl e, 109i nt
 
42, 64, 104di gi talWr itef unci ón, 37, 104di odo, Ser ial.read, 109i ntv ar i
abl e, 99
símbol o, 111di vi deyi mper a, 87Di vi na Ent or nodeDesar rolloI nt egr ado( IDE) .
Commedi a, 107f unci óndobl edel af unci ón  Consul teI DE( Int egr at edDevel opment
delpecado, 107f unci óndobl edelpecado,  Ambi ent e)
107f unci óndobl edelt an, 107var iabl edobl e, Cont rolador esI nt el, 23
99hacen. ..mi ent r
asqueest ruct ur ade Inter act ionDesi gn, 2-3I nt er act iveDevi ce, 29
cont rol ,101Dr enanelper no, transi stor esdel lámpar asi nt er act ivas, 38pi nesI O, placa
MOSFET, 70conduct ores, Inst alaci ón, 23- 24 Ardui no, 20- 21, 64- 67pr obl emasde
conducci óndegr andescar gas, 70 aislami ent o, 90
Duemi lanovebor do, 20- 21Dyson, James, 6 Jpuent e, sel ecci óndepot enci a, 20puent ede
mi conexi ón, 43- 44basur a, 14
Electr i
ci dad, 39- 42oper adordei gual dad, 44- K
45 Ker ni ghan, Br ianW. ,90t ecl ados, hacki ng, 12-
Errata, ixej ecuci óndebocet os, 34ener gía 13
exter na, 20Ext r emeboar d, 88 Llámpar asAt on, 73deconducci ón, 70
FFALSO, 45f also, 98var iablef l
ot ant e, 99 inter act ivo, esf er a38, 74- 85
carpet a, al macenami ent odebocet o, fuent e LDRs( resi stenci asdependi ent esdel al uz) , 30,
32, gener aci ón, 80par al aest ruct ur ade 63, 111
cont rol ,100par ai nst rucci ones, 103f ór mul as, LEDde4conduct or esRGB, 84par padeo, 30-
103f or o, Ar dui no, 91- 92106anal ógi ca, 56- 58, 38sensor esdel uz, 62- 63modul aci ónde
65-67, 105r est ricción, 106cos, 107r et ardo, anchodepul so( PWM) , 56- 62pul sador
106f unci ónder etar do, 37 cont rolado, 42- 51l ámpar adeesf er a,74- 85
retardoMi croseconds, 106di gital Read, 42 símbol os, 111l uz.Vert ambi énl ámpar as;
digitalWr ite, 37, 104l oop, 35, 37mapa, 107 (LDRs) , 30, 63quej uegancon, 38modul ación
mat emát i
cas, 106- 107 del aanchur adepul so( PWM) , 56- 62amar illo
 
108, 108, 108, 105, 105, 105, 105, 106, 109, quedest ella, 88Li nux, 22car gas,
108, 109, 108, 109Ser i
al .avai labl e, 109 conduci endo, funci ónal eat or ial ar gade70,
Ser i
al .
begi n, 108 108l ar gosVar iabl e, funci óndell azo99, 35,
 
Ser ial.flush, 109Ser ial.print ,108- 109 37
Ser i
al .
pr int ln, 109Ser ial.read, 109 LOW, 37, 98
conf igur aci ón, 35, 36shi ftOut ,105si n, 107 Sensor esyact uador esdebaj at ecnol ogí a, 15
tan, 107t iempo, 105- 106t ipodevací o, 36- 37 m
GRAMO 70f unci óndemapa, 107f unci ones
Puer tas, transi st oresMOSFET, 70 mat emát icas, 106- 107Máx, 8f unci ón
Ghazal a, Reed, 10cl avi jasGND, 60cl avi jasde máxi ma, 106t ransi st ordeef ect ode
ti
erra, 60 campodemet al-óxi do- semi conduct or,
mar ido funci ónde70mi lisegundos, 105mi n
Hacki ngci rcui tbendi ng, 10- 11j unk, 14 funci ón, 106módul o, 103
teclados, 12- 13j uguet es, 15Haque, Usman, Inter rupt orpul sadormoment áneo, 43
15har dwar e, Ar dui no, 19- 21hexadeci mal , 75- Moog, Rober t, 8t ransi st or esMOSFET, 70
76HI GH, 37, 98 acel er ador esdedet ecci ónde
Hopper ,Gr ace, 88Codi ficaci óndecol or es movi mi ent o, 70- 71i nt err upt or esde
alfombr a, 53i nter rupt or esmagnét icos,  
RAM, 46
53sensor esi nf rar roj ospasi vos, 55, 56  
Funci ónal eat or ia, 108f unci onesde
reedr elés, 53i nt err upt or esde númer osal eat or ios, 108f unci ónde
inclinaci ón, 54, 56mot or es, conducci ón, funci ónal eat or i
a, 108f unci onesser ie,
70coment ar iosdev ar iasl íneas, 98 108- 109obj et osser ie, 68- 69, 73Funci ón
nor te deser ie, 109
Nombr es, bl oquesdecódi go, 34- 35NG  
Funci ónSer ial.begi n, 108
bor do, 20- 21, 88nooper ador , 103  
Funci ónSer ial.flush, 109Funci ón
Númer osar it mét icayf ór mul as, 103 Ser ial.pr int , 108- 109
funci onesmat emát icas, 106- 107  
Funci ónSer ial.pr int ln, 109f unci ón
funci onesal eat or ias, 108f unci ones Ser ial.read, 109f unci óndeconf i
gur ación,
tri
gonomét ricas, 106- 107var iabl es, 98- 35, 36f unci ónshi ftOut ,105f unci ónsi n,
100 107car act er esespeci al es, 97- 98esf era
O lámpar a, est ado75- 82, est ruct ura47- 48,
Obj etos, ser i
al , 68- 69, 73Ohm, Geor g, 41 funci ón97t an, 10776, 46- 48var i
abl es,
ohmi os, 41Ohm' sLaw, 41- 42 45-46, 98- 100vi sual , 8t ipodef unci ón
Olivet t
i,14sensor eson/of f, 53- 56 void, 36- 37pr otot ipos, 6pr oxy , 75
ayudaenl ínea, 91- 92oper ador es gener adordenúmer ospseudoal eat orios,
bool eanos, 103compar aci ón, 103 108modul aci óndeanchodepul so
compuest os, 103- 104 (PWM) , 56-62pul sos, 105Dat ospur os, 8
Prot otipaci ónopor tuni st a, 6uoper ador , LEDscont rol adosporpul sador ,42- 51,
103SALI DA, 36- 37, 98sal idaanal ógi ca, 111
56- 62, 73di gi tal ,36- 38, 73f unci ones, PWM ( modul aci óndeanchodepul so) ,
104- 108 56-62
pag PWR_ SEL, 20
30, 56, 85, 8, 9Pent land, Al ex, 13 R
per sistenci adel avi sión, 56- 62f ilosof í
a, Reas, Casey, 2dat osder ecepci ón,
Ardui no, 5-16f ot or esi st or es, 30.Ver objet osenser i
e, 68- 69, 73r elésde
tambi énLDRs( light -Resi stenci as lámi na, 53r egi st ros( LDR) ,30, 63l ect ura,
dependi ent es) 95-96sí mbol o, 111v ar iabl e, 41
Comput aci ónf ísica, def i
ni da, 3 estruct ur adecont rol der etor no, 102
DiseñodeI nt eracci ónFí si ca, 3Pi ke, Rob, LEDRGB, 4conduct or es, 84
funci ón90pi nMode, 36, 104pi nes, pl aca Fuent eRSS, cont rol del al ámpar a, 75
anal ógi caI OAr dui no, 20- 21I Odi gital ,20 S
-21t i
erra, 60t ransi st or esMOSFET, 70 Diagr amas, sí mbol os, 110- 111sel ecci ónde
sensor esPI R( sensor esi nf rar rojos puer tos, 25- 27punt oycoma, 46, 97enví ode
pasi vos) ,55, 56, 85Pi rol a, Maur izio, 89 dat os, obj etosenser ie, 68- 69, 73sensor es
80, 90- 91pot enci ómet ro, sí mbol o, acel er ómet ros, 70- 71anal ógi co, 64- 68
funci ónde111pow, 107f uent esde par padeoLED, 64- 67conmut ador esde
ali
ment aci ón, 20, 70, 88, 89Lapr áct ica alfombr a, 53Ci rcui t osi nf rar rojos, 55, 56, 85
del apr ogr amaci ón, 90Elpr ocesami ento, infrar roj os, 70- 71t ecl adocor tar ,13l uz, 62-
1,22, 69, 75- 82f unci óndepr ogr amaci ón 63i nt er rupt or esmagnét icos, 53encendi do/
deabs, 106anal ógi caLeerf unci ón, 64- 67, apagado, 53- 56r esumen, 30pul sador , 42
105anal ogWr itef unci ón, 56- 58, 65- 67, cañaRel és, 53t er mi stor es, 68t er most at os,
105ar gument os, 36par padeoLED, 30- 53, 56i nt err upt or esdei ncl i
naci ón, 54, 56, 85
38, 36- 38oper ador esbool eanos, 103 guar dabar rosul trasóni cos, ser ie70- 71
 
103, 103, 35, 36- 37oper ador esde  
Comuni caci ón, 25-27, 68-69, 73, 90-91,
compar aci ón, 103- 104const ant es, 36, 98 108-109obj etos, 68-69, 73
funci ónder est ri
cci ón, 106est ruct ur as  
Puer tos, 25- 27, 90- 91Funci ón
decont rol, 100- 102f unci óndecos, 107 Ser ial.avai l
abl e, 109Funci ónSer ial .begi n,
ent recor chet es, 34- 35, 97ci cl o, 22t ipos 108
dedat os, 98- 100#def ine, 36, 46f unci ón Funci ónSer ial .
flush, 109
der etardo, 37, 106f unci ón Funci ónSer ial .
pr int , 108- 109
delayMi cr oseconds, 106f unci ón 105f unci óndedespl azami ent o, 105f unci ón
digitalRead, 42, 64, 104f unci ón dedespl azami ent o, 105cor toci rcui tos, 89
digitalWr i
te, 37, 104f unci ones, 34- 35, funci ónsi n, 107coment ar iosdeunasol a
104- 108si106f unci óndel osmi li
s, lí
nea, 98bocet osf unci ónabs, 106f unci ón
funci ónde105mi nut os, f unci ónde106 del ect ur aanal ógi ca, 67, 105f unci ónde
pinMode, 36, funci ónde104pow, 107 anal ogWr ite, 56- 58, 65- 67, 105ar gument os,
modul acióndel aanchur adepul so 36LEDpar padeant e, 30- 38, 64- 67par padear
(PWM) ,56- 62f unci óndepul saci ón, 105 expl icaci óndel códi godelLED, 36- 38
LEDcont rol adoporpul sador , 42- 51 oper ador esbool eanos, 103sal tos, 49- 51
cálcul os, 103coment ar i
os, 35, 36- 37 secuenci a47- 48, est ruct ur a99- 100,
oper ador esdecompar aci ón, 103 bosquej o, 97, fuent es100- 102,edi f
iciodel
compi laci ón, 33, 46oper ador escompuest os, circuito, excedent e42- 44, puent e14SV1,
103-104const ant es, 36, 98f unci ónde est ruct uradel cont rol delcasodel
restricci ón, 106est ruct ur asdecont rol ,100- inter r
upt or88, 100- 101
102f unci óndecos, 107cor chet es, 34- 35, 97 Conmut ador esr ebot e, 49- 51al fombr a, 53
ti
posdedat os, 98- 100#def ine, 36, 46 magnét icos, 53t ransi st or esMOSFET, 70on
funciónder et ar do, 37, 106 /of f,53pul sador es, 43r eedr el
és, 53t i
lt,54,
delayMi cr osecondsf unci ón, 106di gi talRead 56, 85sí mbol ospr ogr amaci ón(Ver
función, 42, 64, 104 car act eresespeci ales)esquemas110- 111
 
Funci óndememor i
a, Funci óndememor ia, sintetizador esanal ógi cos, 8
Funci óndememor ia, Funci óndememor ia T
digit
al ,Funci óndememor iadi gital ,Funci ón I
nt errupt ordepul sadort áct il
,43f unciónde
105mi n, 106sensor esi nf rarroj ospasi vos, bronceado, 107pr ogr amadepr ueba,
56-62f unci ónpi nMode, 36, funci ón104pow, Ardui no, 88t ermi st or es, 68, 111termost atos,
107modul aci óndeanchur adepul so( PWM) , 53, 56i nt errupt oresdei ncl inación,54, 56, 85
56-62f unci ónpul seln, 105LEDpul sador funci onesdet i
empo, 105- 106r etoques, 7
contr olado, 42- 51 juguet es, hacki ng, 15t ransi storesMOSFET,
RAM, 46 70f unci onest rigonomét ri
cas, 106-107
 
Funci ónal eat or ia,108f unci onesde soluci óndepr oblemas, 88- 89circuitos
númer osal eat or i
os, 108f unci óndef unci ón integr ados, 89- 90I DE( ent or nodedesar rol
lo
aleator ia, 108f unci onesser ie, 108- 109 integr ado) ,90- 91ayudaenl í
nea,91- 92vi sta
objetosser ie, 68- 69, 73Funci óndeser ie, gener al, 87-88pr obl emasder eproducci ón,
109 90Wi ndows, 91
 
Funci ónSer ial.begi n, 108Funci ón Trucha, gr ande, 92
Serial.flush, 109 VERDADERO, 45
Funci ónSer ial.pr int,108- 109 ver dader o,98
 
Funci ónSer ial.pr i
nt l
n, 109f unci ón
Serial.read, 109f unci óndeconf i
gur aci ón, 35, u
36f unci ónshi f tOut ,105f unci ónsi n, 107 Guar dabosquesul trasóni cos, 70- 71UNI CODE,
caract er esespeci ales, 97- 98esf er al ámpar a, 99
estado75- 82, est ruct ura47- 48, funci ón97 Variabl esi nsi gnoi nt ,99si nsi gnodef unción
tan,107Funci onesdet i
empo, 105- 106 milisl argo, 105
carga, 33val , 46- 48 Cargandobocet o,33
 
Var i
abl es, 45- 46, 98-100t ipodef unci ón USB
vacía, 36- 37  
Puer t os,Wi ndows, 26- 27, 90-91f uent esde
Soml ai -Fischer , Adam, 15soni dos, ali
ment ación, 20obj etosenser ie,pr uebas68-
guar dabosquesul t
rasóni cos, 70- 71Pi nes 69,88
fuent e, transi st oresMOSFET, 70car act eres V
especi al es;( Punt oycoma) , 46, 97 Cont rolador esdeWi ndows, 24i dent ifi
cación
 
//(del imi tadordelcoment ario) ,34- 35, 36- 37, delpuer to,26- 27, 90- 91sol uciónde
98 probl emas, 90- 91pr ogr amaci ónvi sual,8
 
-(oper adordedecr ement o), 104 funcióndevací otipo, 36- 37Vol ta, Alessandro,
 
/*( Del i
mi tadordecoment ar ios) , 98 41t ensi ón, 41- 42vol tios, 41VVVV, 8
 
&&( yoper ador ),103 W
 
{}(Ent recor chet es),34- 35, 97 Aguaanal ogí a, el
ect ri
ci dad, 39- 42mi entras
 
==( iguala) ,44- 45, 103 quel aest ruct uradecont rol,101mi entrasque
 
>( Mayorque) , 103 lasdecl araciones, 103Wi ki,Pat i
o, 16,91
 
>=( May oroi gualque) ,
103 Vent anas
 
=( Sidecl ar aci ón) ,44- 45  
Dr i
ver s, i
nst alación, 23- 24i dent i
ficaciónde
 
++( oper adordei ncrement o) ,104 puer to, 25,26- 27sol uci óndepr obl emas, 90-
 
<(Menorque) ,103 91cabl e, puent e,43- 44
 
%( Módul o) ,103 x
 
!=( Noi gual a), 103 XML, pr oxy,75XP, cont rolador esdeWi ndows,
 
!(Nooper ador ), 103 23-24i dent i
ficacióndepuer to, 26-27, 90-91
 
||(Uoper ador ), 103( )( par ént esi s) ,36 soluci óndepr oblemas, 90-91
símbol osar itmét icos, 103ASCI I, 99 Y
 
UNI CODE, 99 Luzi nt ermi t
ent eamar ill
a, 88
Lámpar adel aesf era, est ado74- 85,

También podría gustarte