Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arduino
Arduino
Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware
y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para
cualquiera interesado en crear objetos o entornos interactivos.
http://arduino.cl/que-es-arduino/
Arduino es en realidad tres cosas:
1. Una tarjeta de hardware abierto que incorpora un microcontrolador reprogramable y una serie de
pines (los cuales están unidos internamente a las patillas de E/S del microcontrolador) que
permiten conectar allí de forma muy sencilla y cómoda diferentes sensores y actuadores.
2. Un software abierto (más en concreto, un IDE “Entorno de Desarrollo Integrado”), gratis y
multiplataforma (ya que funciona en Linux, MacOS y Windows) que se debe instalar en el
computador y que permite escribir, verificar y guardar (“cargar”) en la memoria del
microcontrolador de la placa Arduino el conjunto de instrucciones que se desea que este empiece a
ejecutar. Es decir: permite programarlo.
3. Un lenguaje de programación abierto. La tarjeta Arduino se programa con un lenguaje de alto nivel
denominado Processing, que en realidad no es nada más que el lenguaje C++ donde se han
encapsulado varias funciones y librerías para hacerlo más sencillo de usar.
Especificaciones técnicas
Microcontrolador Primario ATmega328
Microcontrolador Secundario ATmega16
Voltaje de operación +5 V
Entrada de voltaje externo (VIN) 6-20 V
Entradas/Salidas Digitales 14
Entradas Analógicas o E/S Digital 6
Corriente DC para cada pin E/S 40 mA
Memoria de Código Flash ROM 32 KByte
Memoria de Datos SRAM 2 KByte
Memoria de Datos EEPROM 1 Kbyte
Conector ICSP 1
Frecuencia de Reloj 16 MHz
Microcontrolador Primario
El microcontrolador que lleva la placa Arduino UNO es el modelo ATmega328 fabricado actualmente
por Microchip (después de la compra de Atmel por parte de Microchip) Pertenece a la familia de
microcontroladores AVR Mega
La figura muestra el patillaje del ATmega328P, que indica el pin de alimentación (“VCC”), los dos
pines de conexión a tierra (“GND”), los pines de E/S (señalados como puertos PBx, PCx o PDx) y la
existencia de otros pines más específicos como el AVCC (alimentación para el convertidor analógico-
digital) o el AREF (referencia analógica). También se puede observar que junto al nombre de los pines
de E/S se indica entre paréntesis las funciones especializadas que cada uno de ellos tiene en particular.
Patillaje ATMEGA328
Nota: Los números de pin del ATMEGA328 NO representan los números de pin en la Placa Arduino
Microcontrolador Secundario
La conexión USB de la placa Arduino, además de servir como alimentación eléctrica, sobre todo es un
medio para poder transmitir datos entre el computador y la placa, y viceversa. Este tráfico de
información que se realiza entre ambos aparatos se logra a través del uso del protocolo USB, un
protocolo de tipo serie que el computador es capaz de entender y manejar.
No obstante, el protocolo USB es demasiado complejo para que el microcontrolador ATmega328 pueda
manejarlo por sí mismo. La placa Arduino UNO R3 dispone de un chip que realiza esta función de
“traductor” del protocolo USB a un protocolo Serie RS-232 más sencillo (y viceversa). Ese chip es el
ATmega16U2. El ATmega16U2 es un microcontrolador en sí mismo con su propia CPU, con su propia
memoria (16 Kilobytes de memoria ROM Flash) cuya única función es traducir entre USB y RS-232.
Entradas Analógicas
El Arduino posee 6 entradas analógicas, etiquetadas desde la A0 a A5. El conversor Análogo/Digital el
ATMEGA328 tiene una resolución de 10 bits. Es decir que los voltajes análogos, en el rango de 0 volt a
+5 volt, se convertirán a valores digitales en el rango de 0 a 1023.
Estos 6 pines también pueden operar como puertos de Entrada/Salida digital.
Memoria EEPROM
Memoria persistente donde se almacenan datos que se desea que permanezcan grabados una vez
apagado el microcontrolador para poderlos usar posteriormente en siguientes reinicios. En el caso del
ATmega328P esta memoria tiene una capacidad de 1 KB, por lo que se puede entender como una tabla
de 1024 posiciones de un byte cada una.
El conector ICSP
La sigla ICSP (“In Circuit Serial Programming”) se refiere a un método para programar
directamente microcontroladores de tipo AVR y PIC. Se sabe que la función de un bootloader es
permitir cargar nuestros programas al microcontrolador conectando la placa a nuestro computador
mediante un simple cable USB estándar, pero si ese microcontrolador no tiene grabado ningún
bootloader, la escritura de su memoria no se puede realizar de esta forma tan sencilla y debemos
utilizar otros métodos, como el ICSP.
El reloj
Marca el ritmo de la ejecución de las instrucciones en el microcontrolador, la lectura y escritura de los
datos en la memoria, la adquisición de datos en los pines de entrada y el envío de datos hacia los pines
de salidas. La placa Arduino posee un reloj a una frecuencia de 16 millones de hercios (16MHz).
3. Informe de laboratorio:
Operadore r
Estructura b eIca del
pregrama i
e
s
Operadoms ynerales
void ua*up ) t ope rador de as igna c?6n} bagTn ( [ 300, T 200, 2 4 00, 4 800,
/ / Corre una ver ciJanQo e1 t t adâe i6n J - su st ra oo 960 0, 1 4 4 00, 1 920 0, 28800,
/ / g t og rna In T cza 6n } 38'10 0, 57600, 115 200 ] )
• I mu It ip1 ca e i6n } / /Puede eer eua tqu her n Anne
/ /Ese r ibe HIGH en en I radas
ro
para
se ejvvvta igua1 aJ != des
igua1 / / near los pu I - u pe a BAOO, aA1r o)
aJ
repvtiaame t
< t meno r 9ue } > ria
yo r que J
EstruMura4 de control <- lgua1 o prénfi (rn is
meno r que W Dadoe ) pslne2n
mayo r o igua1 tmi s Da tos )
queJ veil t mi4 Byee
s
Advanced lfO TiJmes aieatorios
Operadoree eompueetos s•ridom8••d semi11a } / / long 6 int zzeRom (,v‹i,ae
-i-r i n e r eme nc o
-- t dee r eme nc o}
t I e uma c omp ue sta ) zrzox+›) ogre
xa,anxernal
evitcn tmi —- I re sta c ompue sta } cor›• pin , t re qti z ) ver W dir I n ce rna , mi Byte )
I ad ie
•- I no I i p1* ca c?6n compue sta ) Hri• pin, t reqh z , aura e ion ms }
Vra J{
caee l /- t dJ v is i6n c ompues ta J a# and I p i n J
•c J / / r e g re s a bo1e
: c- tAND b i n ar i o eompues co i enlfeou e{ptn Da t os , p? nne to j , ano
} - l0R bi na r * o a owe ue z to l !usari nsi, iseri nsz , va i or j
b u n s ? 9ne d 1 on9
pu1o•$r› I pin, [
read ; Operadores a nlvel de bit Jj j9 p 5 p]
case 8 G {MO to1 n ar za ) | {OTt b i
: n ar Ta )
brea
k;
deIau
1c :
/
m cusn x ; / / o ”r e euzn ; ” p >> ‹dev iaami t a ia ae
ar a va e i os /desbordamient
e na) o en 50 dhas
unsTgned Long
z+i crow T )
/ /de sbo cQa>T en t a en g 0 oTnu cos
Variables, d
e
‹+i iuae ‹ oitw
eseriaitw
1
vectores y datos a
y
Sqm t long vetoe i dadj /
/has ta 9 600 erar ›••a i
/ / e s pe ra 1os da tos
pcln* («i T»Da cos )
T
o
e
)
6ooto n 0, 1, True , fa 1s e J int mpsen s Val s [ 6 ]= 2, 4, -8, 3, 2 ; my Ints [ 0 ] =4 2 ; /' /asigna •I price re
cM¥ {ej . ' a ' - 1 28 a 12 y ) hen ct trial ce
And ‹- 32768 a 32767) my Inta [ 6 ] =12 ; /' 7EnRos ! Ei in at ce a
long -2T 4 7 4 83 648 a 21 4 7
48 36 4 7)
unaTgnW cM¥ 1 0 a 255) 0
bito ( 0 a 25 5) 1
7
e
bit.e whichIw } 7 / wuin
n
de byt es by te s•eolm ( } /
/ee9reea ci si9 byte Me•ivo
0 {ma ne ja am i
qu•ot ma n e j ador J
I
Registros de
O
Puertos
O DDRx Configure Direcci6n de
H Puenos 0: Entrada 1:
Salida
DDRB=6b2121212e
0
1
;
1 PORTS Salida de Datos
1
1
1 PlNx Entrada
de Datos g
/ Dato=PTNCi
/
B
i
W
i
#
0•7B / lbs hemade c
ima 1
v (rere en ia oboe er u
tero)
Cadenas
/
/
i
n
c
t
u
b
e
c
e
r
r
a
i
n
a
c
i