Está en la página 1de 65

INTRODUCCIÓN A ARDUINO

José Pujol
@jo_pujol
SUMARIO
•  INTRODUCCIÓN A ARDUINO
•  CONCEPTOS BÁSICOS
•  PRACTICANDO
•  PRÁCTICAS
–  P1: SALIDAS DIGITALES
–  P2: ENTRADAS DIGITALES
–  P3: ENTRADAS ANALÓGICAS
–  P4: SALIDAS ANALÓGICAS
INTRODUCCIÓN A ARDUINO

•  ¿ QUÉ ES?

•  OPEN SOURCE HARDWARE

•  QUÉ PODEMOS HACER

•  LA PLATAFORMA ARDUINO
¿QUE ES?
"
Es una plataforma de hardware libre para la
creación de prototipos basados en software y
hardware flexibles y fáciles de usar

 
OPEN SOURCE HARDWARE
"

 
OPEN SOURCE HARDWARE
"

 
OPEN SOURCE HARDWARE

Consecuencias:
•  Multitud de escudos y versiones de placas
•  Comunidad de usuarios à información
•  Posibilidad de desarrollar nuestros propios
prototipos    
•  Precios  
"

 
QUÉ PODEMOS HACER
"

 
LA PLATAFORMA ARDUINO

Se apoya en cuatro pilares:

•  Hardware: la placa Arduino

•  IDE: entorno de desarrollo

•  Software

•  Soporte en red
"

 
CONCEPTOS BÁSICOS

•  HARDWARE

•  SOFTWARE
HARDWARE

•  Qué es un microcontrolador

•  Entradas y Salidas

•  Digital y Analógico

•  Arduino UNO: características


"

 
Qué es un microcontrolador

Es un circuito integrado programable capaz de


realizar operaciones matemáticas a gran
velocidad
"

 
Entradas y Salidas
Entradas: proporcionan información al sistema

Salidas: realizan actuaciones


"

 
•  Pulsadores   •  Motores  
•  Sensores   •  LEDs  
  •  Zumbador  
 
Digital y Analógico

"

 
Arduino Uno

"

 
Arduino Uno

"

 
IDE: ENTORNO DE PROGRAMACIÓN
"

 
SOFTWARE
"

 
SOPORTE EN RED
"

 
PRACTICANDO

•  PROTOBOARD

•  CABLES

•  RESISTENCIAS

•  POLÍMETRO
 
PROTOBOARD
 
CABLES
 

Rojo=5v  

Colores  pines  

Negro=0v  
RESISTENCIAS
  Son elementos que limitan el paso de la corriente

Código de
colores
RESISTENCIAS
 
Resistencias típicas

220  Ω  

1  KΩ  

10  KΩ  
POLÍMETRO
 Medir tensión:
POLÍMETRO
 Medir continuidad:
POLÍMETRO
 Medir intensidad:
PRACTICAS

P1: SALIDAS DIGITALES

P2: ENTRADAS DIGITALES

P3: ENTRADAS ANALÓGICAS

P4: SALIDAS ANALÓGICAS


 
P1: SALIDAS DIGITALES

•  FINALIDAD

•  HARDWARE

•  PROGRAMACIÓN

 
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  
HARDWARE: HOLA MUNDO

K   A  
HARDWARE: LED
HARDWARE: CÁLCULO RESISTENCIA
Cálculo de la resistencia de protección del LED
Datos:
R  
•  V=5v
•  Imax=20mA
•  VLED=2v

V  
SOFTWARE: HOLA MUNDO
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
P2: ENTRADAS DIGITALES

•  FINALIDAD

•  HARDWARE

•  PROGRAMACIÓN

 
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
HARDWARE: PULSADOR
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
}
SOFTWARE: PULSADOR-LED
SOFTWARE: PULSADOR-LED
Pulsador LED con estado de memoria  
P3: ENTRADAS ANALÓGICAS

•  FINALIDAD

•  HARDWARE

•  PROGRAMACIÓN

 
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


 
HARDWARE: LDR
Es una Resistencia Dependiente de la Luz

RNOCHE=  1  MΩ    
 
RDIA=  100  Ω
HARDWARE: LDR
HARDWARE: DIVISOR DE TENSIÓN

Montaje para sensores resistivos

VOUT=5*R/(LDR+R)  
 
Día  à  RLDR=100Ω  à  VOUT≈5v  
 
Nocheà  RLDR=1MΩ  à  VOUT≈0v  
 
SOFTWARE: ENTRADA ANALÓGICA
- analogRead(pin);
pin: pines Analógicos entrada A0-A6
valor: entre 0-1023 (0-5v)

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: EJ. COMUNICACIÓN SERIE

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
SOFTWARE: MONITORIZACIÓN DE VARIABLES

P4: SALIDAS ANALÓGICAS

•  FINALIDAD

•  HARDWARE

•  PROGRAMACIÓN

 
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
 
HARDWARE: LED RGB
Son tres Diodos LEDs en un encapsulado
En este caso con cátodo común
HARDWARE: LED RGB
HARDWARE: potenciómetro
Es una resistencia variable
•  Resistencia variable 0-10 kΩ
•  Divisor de tensión 0-5v

5v  

VANALOG  

0v  
HARDWARE: POTENCIÓMETRO
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: CONTROL SALIDA ANALÓGICA

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);

SOFTWARE: ENTRADA- SALIDA ANALÓGICA

LICENCIA licencia
 
 
 
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.    

También podría gustarte