presentación taller introducción a la robótica
DESCRIPTION
Presentación Taller Introducción a la robóticaTRANSCRIPT
Taller de Introducción a laRobó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
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
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
¾Qué es ARDUINO?
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 4 / 34
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
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
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
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
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
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
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
ARDUINO UNO
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 6 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Electrónica Libre
Basada en SOFTWARE / HARDWARE libre.
Permite:
? Estudiar el HW para entender como funciona.
? Hacer modi�caciones.
? Dar a conocer dichas modi�caciones 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 sepueden realizar.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 7 / 34
Sitio web o�cial: http://www.arduino.cc/
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 8 / 34
Sitio web o�cial: http://www.arduino.cc/
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 9 / 34
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
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 WidthModulation -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
Placa
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 12 / 34
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
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
Entorno de desarrollo: Arduino IDE
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 15 / 34
PROCESO: Código fuente
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 16 / 34
PROCESO: Código fuente �> Compilación (�verify�)
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 17 / 34
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
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
VARIABLES: De�nició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
½NO olvidar �;� al �nal de cada sentencia!
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 21 / 34
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
COMENTARIOS
/* Éste esun bloque decomentarios*/
// Éste es un comentario de línea
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 23 / 34
½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
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
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
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
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
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
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
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
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
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 o�cial 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á comorealizar 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
Esquemático: Tarea 1.2
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 31 / 34
Manos a la obra...
Tarea 2: Semáforo
Análogamente se deberá modi�car el programa de la tarea 1 para realizarun semáforo. Se impondrá una duración de 6 segundos en ROJO, 6segundo en VERDE y 2 segundos en AMARILLO. Pero si la entrada 5 (pin5) 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
Tarea Domiciliaria
Investigar sobre el manejo de las entradas analógicas (pines analógicos) ysobre las salidas PWM en ARDUINO.
(CSM-HHMM) Taller de Introducción a la Robótica 13 de Agosto de 2014 33 / 34
Referencias
Web o�cial 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