Taller de Arduino en Espacio RES Sevilla
Primera sesion
Introducción a Arduino
Conceptos basicos
Practicando
Salidas Digitales
Entradas Digitales
Entradas Analógicas
Salidas Analógicas
OPEN SOURCE HARDWARE
Consecuencias:
• Multitud de escudos y versiones de placas
• Comunidad de usuarios à información
• Posibilidad de desarrollar nuestros propios
prototipos
• Precios
"
FINALIDAD
- Hacer que un LED parpadee cambiando la
frecuencia
- Comprobar cual es el límite de la
percepción humana
+ Montar el circuito con protoboard
+ Probar a hacer que parpadee un número
limitado de veces
HARDWARE: LED
El LED es un Diodo Emisor de Luz
• Tiene polaridad
• Necesita resistencia de protección
• Imax=20mA
• VLED=2v
A
K
SOFTWARE: SALIDAS DIGITALES/ TIEMPO
- pinMode(pin, INPUT/OUTPUT);
Configura el pin como entrada o salida digital
pin: el pin digital que queremos configurar
OUTPUT: establece el pin digital de salida
- digitalWrite(pin, ESTADO);
Escribe 5 o 0v en la salida
pin: pin digital de salida
ESTADO: HIGH=5v o LOW=0v
- delay(ms);
Tiempo de espera en ms
FINALIDAD
- Controlar con un pulsador el encendido de
un LED
- Añadir función memoria de modo que al
pulsar se encienda y al volver a pulsar se
apague
+ Ver: Ejemplosà Digital à Debounce
HARDWARE: PULSADOR
• Tiene 4 patas conectadas 2 a 2
• Podemos usar el polímetro en modo
continuidad para deducir su funcionamiento
• Configuración ''pull down'' lógica positiva
SOFTWARE: ENTRADA DIGITAL/ IF-ELSE
- digitalRead(pin);
pin: pin digital de entrada. Declararlo en el set up
• V<3,5V à Lee un 0
• SI V>3,5V à Lee un 1
- if(condicion){
// Caso A
}
else{
// Caso B
}
FINALIDAD
Realizar un interruptor crepuscular
- Muestear el valor del sensor de luz por el
puerto serie
- Controlar el encendido de un LED
mediante la luz ambiental
+ Encontrar otra aplicación a la LDR
SOFTWARE: COMUNICACIÓN SERIE
• Utiliza los pines Rx D0 y Tx D1 para comunicarse
• Permite enviar datos de Arduino al PC
• Nos permite monitorizar sensores
SOFTWARE: FUNCIÓN SERIAL
- Serial.begin (velocidad);
Abre el puerto serie y establece la velocidad de
comunicación en baudios, declarar en el set up
Serial.begin (9600);
- Serial.print ();
Imprime los datos por el puerto serie
Serial.print ("Texto");
Serial.print (variable);
- Serial.println ();
Añade retorno de carro
FINALIDAD
- Controlar el encendido de un LED con un bucle for:
usar Ejà Analogà Fading
- Controlar el encendido de un LED con un
potenciómetro, usar la función map
+ Añadir otro potenciómetro para controlar 2 colores
de un LED RGB
+ Usar un potenciómetro con dos funciones map, una
de ellas invertida para controlar los 3 colores LED RGB
SOFTWARE: SALIDA ANALÓGICA pwm
PWM: Modulación por Anchura de Pulso
- analogWrite(pin, valorPWM);
pin: pines digitales con PWM:
D3, D5, D6, D9, D10, D11
valor: entre 0-255 (0-5v)
VS=5*PWM/255
SOFTWARE: BUCLE FOR
Se usa para repetir las ordenes entre corchetes
- for(inicio; paro; incremento){
// Ordenes a repetir
}
for(i=0; i<10; i++){
// Ordenes a repetir
}
SOFTWARE: MAP
Escala un valor de un rango a otro
- map(value;fromLow;fromHigh;toLow;toHigh);
value: valor a escalar
El caso más típico es de una entrada analógica
0-1023 a una salida analógica 0-255
sensorMapvalue=map(sensorValue;0; 1023;0;255);
Esta
guía
se
distribuye
bajo
licencia
Reconocimiento-‐
ComparWrIgual
CreaWve
commons
4.0
(cc)
2015
José
Pujol
Pérez
Some
rights
reserved.
This
work
licensed
under
CreaWve
Commons
A_ribuWon-‐ShareAlike
License.
To
view
a
copy
of
full
license,
see
h_p://creaWvecommons.org/licenses/by-‐sa/3.0/
or
write
to
CreaWve
Commons,
559
Nathan
Abbo_
Way,
Stanford,
California
94305,
USA.
Some
of
the
figures
have
been
taken
from
the
Internet
Source,
and
author
and
licence
if
known,
is
specified.
For
those
images,
fair
use
applies.
licenciaLICENCIA