Este documento presenta una introducción al taller de robótica impartido en el Colegio Santa María. Explica brevemente qué es Arduino y su hardware y software, incluyendo el lenguaje de programación y el entorno de desarrollo. También cubre conceptos básicos como variables, tipos de datos, operadores lógicos y de comparación, y estructuras de control de flujo como if/else. El objetivo es familiarizar a los asistentes con la plataforma Arduino para proyectos de robótica y electrónica.
1. Taller de Introducción a la
Robótica
Docentes:
Airaldi, Guillermo - De Los Campos, Pablo
Taller 1
Colegio Santa MaríaHermanos Maristas
13 de Agosto de 2014
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 1 / 34
2. Esquema de la presentación
1 Introducción
2 HARDWARE
3 SOFTWARE
4 Ejercicios
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 2 / 34
3. Esquema de la presentación
1 Introducción
2 HARDWARE
3 SOFTWARE
4 Ejercicios
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 3 / 34
5. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
6. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
7. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
8. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
9. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
10. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
11. Microcontrolador: ¾Para qué sirve?
Algunas aplicaciones:
Robótica.
Control de un invernadero.
Automatización y control.
Control de un proceso industrial (temperatura, pH, humedad, etc.).
Sintetizador de sonidos.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 5 / 34
13. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
14. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
15. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
16. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
17. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
18. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
19. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
20. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
21. Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
Estudiar el HW para entender como funciona.
Hacer modicaciones.
Dar a conocer dichas modicaciones a la comunidad.
Consecuencias:
Comunidad activa de usuarios y desarrolladores (foros, ejemplos,
tutoriales, etc.).
SW y HW para autoconstruir (replicar).
Precios bajos.
Mucho material en la web con diversos proyectos interesantes que se
pueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
22. Sitio web ocial: http://www.arduino.cc/
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 8 / 34
23. Sitio web ocial: http://www.arduino.cc/
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 9 / 34
24. Esquema de la presentación
1 Introducción
2 HARDWARE
3 SOFTWARE
4 Ejercicios
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 10 / 34
25. Características
Microcontrolador ATmega328 (8 bits).
Alimentación via USB (5V ) o independiente (7 − 12V ).
14 pines de entrada/salida (I/O) digitales (6 con Pulse Width
Modulation -PWM-).
Corriente máxima por pin I/O: 40mA.
6 pines de entrada analógica.
Permite comunicación serial.
Memoria ash: 32Kb.
Frecuencia de reloj: 16MHz.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 11 / 34
27. Esquema de la presentación
1 Introducción
2 HARDWARE
3 SOFTWARE
4 Ejercicios
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 13 / 34
28. Lenguaje de programación
Basado en Wiring y similar a C++.
Sketches = Código fuente.
Lenguaje compilado.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 14 / 34
29. Entorno de desarrollo: Arduino IDE
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 15 / 34
31. PROCESO: Código fuente Compilación (verify)
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 17 / 34
32. PROCESO: Código fuente Compilación (verify)
Programarlo en la placa (upload)
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 18 / 34
33. Estructura de un archivo
declaración de variables;
void setup()
{
seteo de pines;
inicialización de la comunicación serial;
}
void loop()
{
lo que voy a hacer todo el tiempo;
}
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 19 / 34
34. VARIABLES: Denición
int nombreVariable1 = 0;
oat nombreVariable2 = 1.24;
int nombrearray[] = {valor0, valor1, valor2, ...};
int nombreArray2[5];
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 20 / 34
35. ½NO olvidar ; al nal de cada sentencia!
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 21 / 34
36. VARIABLES: Tipos
byte: Enteros (1 byte) : -128 a 127
int: Enteros (2 bytes) : -32768 a 32767
long: Enteros (4 bytes)
oat, double: Números en punto otante (4 bytes)
boolean: verdadero (TRUE) o falso (FALSE)
char: un solo caracter
String: lista de caracteres
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 22 / 34
37. COMENTARIOS
/* Éste es
un bloque de
comentarios*/
// Éste es un comentario de línea
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 23 / 34
38. ½NO olvidar de comentar todo lo que se programa!
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 24 / 34
39. COMPARACIÓN
A == B : A igual a B.
A != B : A distinto de B.
A B : A menor que B.
A = B : A menor o igual a B.
A B : A mayor a B.
A = B : A mayor igual a B.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 25 / 34
40. OPERADORES LÓGICOS
A B : A AND B.
A B : A OR B.
!A : NOT A.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 26 / 34
41. CONTROL DE FLUJO: if
if (condición) {
hacer algo;
}
if (condición) {
hacer algo;
} else {
hacer otra cosa;
}
//Ejemplo:
if (a == 0) {
b = 1;
} else {
b = 0
}
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 27 / 34
42. CONTROL DE FLUJO: if
if (condición) {
hacer algo;
}
if (condición) {
hacer algo;
} else {
hacer otra cosa;
}
//Ejemplo:
if (a == 0) {
b = 1;
} else {
b = 0
}
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 27 / 34
43. CONTROL DE FLUJO: if
if (condición) {
hacer algo;
}
if (condición) {
hacer algo;
} else {
hacer otra cosa;
}
//Ejemplo:
if (a == 0) {
b = 1;
} else {
b = 0
}
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 27 / 34
44. CONTROL DE FLUJO: if
if (condición) {
hacer algo;
}
if (condición) {
hacer algo;
} else {
hacer otra cosa;
}
//Ejemplo:
if (a == 0) {
b = 1;
} else {
b = 0
}
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 27 / 34
45. Pines digitales (pin 0 a 13): ¾Cómo se manejan?
Pueden tomar solo 2 valores (excepto los PWM): 0V (LOW) o 5V (HIGH).
int pinEntrada = 10;
int pinEntrada = 13;
int llave = 0;
void setup() {
pinMode(pinEntrada, INPUT);
pinMode(pinEntrada, OUTPUT);
}
void loop() {
llave = digitalRead(pinentrada); lee el valor del pin 10.
if (llave == LOW) {
digitalWrite(pinSalida, HIGH); pone el pin 13 a +5V .
} else {
digitalWrite(pinSalida, LOW); pone el pin 13 a +0V .
}
}
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 28 / 34
46. Esquema de la presentación
1 Introducción
2 HARDWARE
3 SOFTWARE
4 Ejercicios
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 29 / 34
47. Manos a la obra...
Tarea 1: El HOLA MUNDO de la robótica
Se debe escribir un programa que apague y prenda un LED cada 1 segundo.
Nota: Ir a la web ocial de Arduino para conocer la función delay(x).
1) Solo usando PC y Arduino (pin 13).
2) Usando los siguientes materiales -antes de comenzar se verá como
realizar las conexiones entre los distintos componentes-.
PC
Arduino
Protoboard
Resistencia
Led
Cables
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 30 / 34
49. Manos a la obra...
Tarea 2: Semáforo
Análogamente se deberá modicar el programa de la tarea 1 para realizar
un semáforo. Se impondrá una duración de 6 segundos en ROJO, 6
segundo en VERDE y 2 segundos en AMARILLO. Pero si la entrada 5 (pin
5) se encuentra a +5V el semáforo debe quedar fuera de servicio
(AMARILLO prendiendo y apagando cada 3 segundos).
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 32 / 34
50. Tarea Domiciliaria
Investigar sobre el manejo de las entradas analógicas (pines analógicos) y
sobre las salidas PWM en ARDUINO.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 33 / 34
51. Referencias
Web ocial de Arduino.
Fritzing.org
TallerInE - IIE - FING - UdelaR
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 34 / 34