Apuntes Arduino Nivel Enteraillo
Apuntes Arduino Nivel Enteraillo
Apuntes Arduino Nivel Enteraillo
Nivel Enteraillo
Apuntes de
ARDUINO
Nivel Enteraillo
Daniel Gallardo Garca
Profesor de Tecnologa del IES Laguna de Tolln
DGG 1 de 28
Arduino
Nivel Enteraillo
1. CARACTERSTICAS DE ARDUINO
Las caractersticas tcnicas de la Arduino UNO son
!icrocontrolador AT"ega#$%
Tensin de funciona"iento & '
Tensin de entrada (reco"endada) * + ,$ '
Tensin de entrada (l"ite) - + $. '
Pines de Entradas/Salidas Digitales ,0 (- proporcionan P1!)
Pines de Entradas Analgicas -
Intensidad 2323 por pines de E/S 0. "A
Intensidad 2323 por el pin de #4# ' &. "A
Intensidad 2323 por el pin de & ' #.. "A
!e"oria 5las6 #$ 78 (.4& 78 para 9ootloader)
S:A! $ 78
EEP:O! , 78
5recuencia se;al de relo< ,- !=>
'ea"os algunos pines ?ue pasa"os por alto en el Nivel Pardillo
pin0 RX se usa para reci9ir datos del P2 (serial data)3 En caso de esta9lecer
una co"unicacin Serial en nuestro progra"a4 no conectare"os nada a este pin3
pin1 TX se usa para trans"itir datos al P2 (serial data)3 En caso de esta9lecer
una co"unicacin Serial en nuestro progra"a4 no conectare"os nada a este pin3
RESET funciona igual ?ue el 9otn de reset3 2uando a este pin le llega un pulso
de tensin de valor de . ' (es decir4 poner . ' @ luego volver a ?uitar el . ')4 la
Arduino se resetea4 co"en>ando a e<ecutar desde el principio el progra"a ?ue
estA funcionando3
DGG 2 de 28
Arduino
Nivel Enteraillo
ARE en el caso de utili>ar sensores ?ue generen un rango de tensin por
de9a<o de & '4 pode"os incre"entar la precisin de la lectura 6aciendo ?ue los
,.$0 valores posi9le no va@an desde los . ' a los & '4 sino a un rango "enor de
tensin (de . a ,4, 'B o de . a #4# ')3 Para ello e"plea"os la funcin
ana!o"Re#erence$ %4 ?ue presenta tres variantes
analogReference(INTERNAL); // to"a co"o tensin de referencia ,4, '
analogReference(EXTERNAL); /C to"a co"o referencia la tensin ?ue
6a@a en el pin A:E53 Si ?uiero ?ue esa tensin sea #4# '4 lo Dnico ?ue tendrA
?ue 6acer serE conectar el pin #4#' con el pin A:E5 C/
analogReference(DEFAULT); // to"a el valor por defecto & '
Para ?ue sur<a efecto los nuevos valores de referencia de la tensin en las
entradas analgicas4 de9e"os lla"ar a la funcin analogReference() antes
de utili>ar la funcin analogRead()3
Los pines A0&A' ta"9iAn pueden utili>arse co"o entradas digitales o co"o
salidas analgicas @ digitales3 No tene"os "Es ?ue incluirlas en el void
setup() co"o los siguientes pines despDes del ,#4 es decir el ,04 ,&4 ,-4 ,*4
,%4 ,F (?ue corresponden al A.4 A,4 A$4 A#4 A04 A&)
pinMode(16,OUTPUT); //utili>arA el pin A$ co"o salida
Asi"is"o4 no es estricta"ente necesario configurar los pines co"o INPUT u
OUTPUT dentro de void setup()3 Si"ple"ente de9e"os interpretar al 9lo?ue
void setup() co"o una parte del cdigo ?ue Arduino sola"ente la corre una
ve> (al principio)4 @ en la ?ue pode"os e<ecutar cual?uier funcin3
(. TI)OS DE *ARIA+,ES
Los tipos de -aria.!es son
boolean al"acena un valor con dos posi9ilidades . o ,4 o verdadero o falso3
char al"acena un caracter4 co"o una letra o s"9olo3 Ta"9iAn se puede
e"plear para un nD"ero entero entre G,$% a ,$* (, 9@te)3
byte al"acena un nD"ero natural entre . @ $&& (, 9@te)3
int al"acena un nD"ero entero entre G#$*-F @ #$*-* ($ 9@tes)3
unsigned int al"acena un nD"ero natural entre . @ -&&#- ($ 9@tes)3
DGG 3 de 28
Arduino
Nivel Enteraillo
long al"acena un nD"ero entero entre G$,0*0%#-0% @ $,0*0%#-0* (0 9@tes)3
unsigned long al"acena un nD"ero entero entre . @ 0$F0F-*$F& (0 9@tes)3
float al"acena un nD"ero deci"al con un rango entre G#30.$%$#&H,.
38
@
#30.$%$#&H,.
38
(0 9@tes)3
double en el lengua<e 24 al"acenara un nD"ero deci"al con "uc6si"a
precisin4 con un valor "EIi"o de ,4*F*-F#,#0%-$#,&*H,.
308
3 Sin e"9argo4 en
Arduino es lo "is"o ?ue float (0 9@tes)3
const especifica ?ue la varia9le definida no podrE ser ca"9iada durante el
progra"a4 siendo sie"pre un valor constante
const float pi=3.1415;
Una varia9le @a declarada se puede ca/.iar de tipo de -aria.!e durante el progra"a
float pi=3.1415;
int x;