1. Programación efectiva con el Arduino UNO
… porque la programación
es una herramienta al
servicio de tu creatividad.
Edwin G. Delgado; M.S.E.E. 1
Logrando aplicar tus ideas a través de la tecnología.......
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Arduino UNO
2. Arduino UNO
Edwin G. Delgado; M.S.E.E. 2
► ¿Qué es el Arduino UNO?
► Aplicaciones Generales
► Plataforma y ambiente
de programación
► Aplicaciones simples
¿Cómo se programa y cuáles
son los resultados?
¿Con qué recursos
combinados se hace?
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
3. Arduino UNO: que es y que podemos hacer con él....
Edwin G. Delgado; M.S.E.E.
¿Qué es el Arduino UNO?
Es una plataforma electrónica con un
procesador lógico digital, memoria
y circuitos de interfase que procesa
instrucciones e interctúa con el
ambiente a través de sensores y
actuadores.
¿Qué podemos hacer con él?
Crear proyectos para detectar del
ambiente y controlar acciones en ese
mismo ambiente.
LED Detector
de Luz
actuador sensor
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
procesador lógico digital
4. Arduino UNO: que es y que podemos hacer con él....
Edwin G. Delgado; M.S.E.E. 4
¿Porqué me puede interesar su uso?
1. Para detectar eventos ( leer temperatura o
velocidad, detectar movimiento y más.... )
2. Para presentar datos, avisar eventos,
controlar movimiento (por motor o
interruptores) y mucho más ....
sensor – componente que detecta un
disturbio ó acción física (calor,
temperatura, proximidad, ...)
actuador – componente que efecuta una
acción o movimiento (motor,
LED, “relés”, ....)
Arduino UNO
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
sensor
actuadores
5. Arduino UNO: que es y que podemos hacer con él....
Edwin G. Delgado; M.S.E.E. 5
Datos del Arduino UNO
Ha sido usado para miles de ideas de usuarios que no
necesariamente son expertos en electrónica o
programación.
El Arduino es una plataforma de abierto diseño con una
fuerte comunidad de apoyo (“open source”) con el
propósito de hacer fácil su uso, programación y su
reproducción.
Docenas de versiones existen..... y cientos de “clones”,
variantes y “shields”.
https://www.arduino.cc/Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
6. Arduino UNO: que es y que podemos hacer con él...
Edwin G. Delgado; M.S.E.E. 6
Algunas variantes de Arduino: Estas son algunas
variantes de la
plataforma de Arduino.
Arduino UNO:
Procesador - Atmega 328P
Memoria EEPROM – 1 Kb
Memoria SRAM – 2 Kb
Flash Memory – 32 Kb
Reloj – 16 Mhz
“Pins” digitales – 14
“Pins” análogos – 6
Foto de Panama Hitek
7. Arduino UNO: que es y que podemos hacer con él...
Edwin G. Delgado; M.S.E.E. 7
Aplicaciones generales del Arduino UNO:
Transporte con
motores DC
Temperatura con
despliegue
alfanumérico
Brazo robótico
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
8. Arduino UNO: ... la descripción de la plataforma.
Edwin G. Delgado; M.S.E.E. 8
LED
8 MHz Crystal
9. Arduino UNO: ... la descripción de la plataforma
Edwin G. Delgado; M.S.E.E. 9
RESET
“Pines digitales”
Los “pines” 3, 5, 6, 9, 10, 11
proveen onda cuadrada de
trabajo variable (Pulse Width
Modulation)
“Pines” análogos de
entrada/salida
de voltaje variable.
PPines” especiales: V, GND, REF, IRQ
10. Arduino UNO: el ambiente de programación....... IDE
Edwin G. Delgado; M.S.E.E.
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Opciones de
“debugging”
y ejecución
Area de código C
(instrucciones
de acciones)
Salida de ejecución
(compilación y otros
anuncios))
11. Arduino UNO: el ambiente de programación....... IDE
Edwin G. Delgado; M.S.E.E. 11
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
“File” y “Sketch”
(menús más usados)“
botón de compilación
botón de cargado
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
12. Arduino UNO: el ambiente de programación... primera
experiencia.
Edwin G. Delgado; M.S.E.E. 12
Primera experiencia con el Arduino UNO…:
1. Ir a “Preferences” y marcar “Display line numbers”.
2. En “Preferences” escoger a su preferencia tamaño de
Carácter (“Editor font size”). Para esta presentación se
escogerá tamaño de 22 a 28.
3. Ir a “File” → “Examples” → “Basics” → “Blink”
(Una nueva ventana abre; la ventana anterior se puede cerrar.)
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
13. Arduino UNO: el ambiente de programación.......
Edwin G. Delgado; M.S.E.E. 13
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
14. Arduino UNO: bloques elementales de código......
Edwin G. Delgado; M.S.E.E. 14
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Descripción de bloques en el código.
Definición de variables por tipo y nombre..
Definición de constantes.
void (setup)
Definición de puertos por salida/entrada.
Se define bloque dentro de { } y
comenzando con void setup().
void (loop)
Definición de variables por tipo y
nombre..Se define bloque dentro de { },
comenzando con void loop( )..
15. Arduino UNO: el ambiente de programación....
Edwin G. Delgado; M.S.E.E. 15
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Encabezamiento con información
general.
1. Comentarios no compilados
por IDE.
2. Líneas entre /xyz/ o párrafos
entre /* xyz */.
Función void setup ( )
Se ejecuta una sola vez para
declarar variables, puertos y
mas...
Función void loop ( )
Se ejecuta de manera repetida
con declaraciones, funciones y
llamados de funciones.
16. Arduino UNO: el ambiente de programación.... resumen.
Edwin G. Delgado; M.S.E.E. 16
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Editor
Escribir instrucciones en
lenguaje C.
Compilador
Librerias
Lenguaje objeto
(en fomato binario)
Programador
Arduino UNO
17. Arduino UNO: programación de primera experiencia.....
Edwin G. Delgado; M.S.E.E. 17
Progreso de
compilación
o carga.
Presione para compilar. Presione para cargar.
Ventana de
mensajes.
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
18. Arduino UNO: programación de primera experiencia.....
Edwin G. Delgado; M.S.E.E. 18
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Primera experiencia: encendiendo y apagando
un LED por un segundo.
1. delay (1000);
//espera de 1 segundo
2. digitalWrite (13, HIGH)
//encendido de LED
A la derecha, montaje físico
de los componentes. El
resistor debe ser de 220 o 330 ohmios.
19. Arduino UNO: programación de primera experiencia.....
Edwin G. Delgado; M.S.E.E. 19
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Primera experiencia: encendiendo y apagando
un LED por un segundo.
1. digitalWrite (13, HIGH)
//encendido de LED
2. delay (1000);
//espera de 1 segundo
3. digitalWrite (13, HIGH)
//encendido de LED
4. delay (1000);
//espera de 1 segundo
20. Arduino UNO: programación de primera experiencia.....
Edwin G. Delgado; M.S.E.E. 20
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Segunda experiencia, cambiando el código... sin miedo!
1. delay (1000);
//espera de 1 segundo
2. digitalWrite (13, HIGH)
//encendido de LED
Cambiemos a discreción el
número 1000 a cualquier
otro número menor a 5000.
Observemos los cambios...
21. Arduino UNO: segunda experiencia de programación....
Edwin G. Delgado; M.S.E.E. 21
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Segunda experiencia simple con el Arduino UNO:
Encendido de LED de manera gradual ...
1. Abrir la aplicación (“sketch”) de Fade.
File Examples Basics Fade
2. Dejar los componentes conectados. Verificar que el LED está
conectado al pin del código o viceversa.
3. Ejecutar el código. (Ver “slide” 10 ó 12 anterior)
4. Observemos como el LED opera.
22. Arduino UNO: puertos....
Edwin G. Delgado; M.S.E.E. 22
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
RESET
“Puerto” digitales de entrada/salida
Los “pines” 3, 5, 6, 9, 10, 11
proveen onda cuadrada de
trabajo variable (Pulse Width
Modulation)
“Pines” análogos de
entrada/salida de voltaje
variable.
“Pines” especiales: V (5 y 3.3), GND.
23. Arduino UNO: puertos y programación....
Edwin G. Delgado; M.S.E.E. 23
Preparado por Edwin G. Delgado; M.S.E.E. Derechos Reservados
Segunda Parte:
► Puertos e interfaces
► Programación simple
► Aplicaciones interactivas
¿Cómo se programa y cuáles son los resultados?
Esta presentación es provista en una segunda parte…