Taller Arduino espacio-RES 1ª Sesion

Preview:

Citation preview

INTRODUCCIÓN A ARDUINO

J o s é P u j o l @ j o _ p u j o l

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

 

•  ¿ QUÉ ES?

•  OPEN SOURCE HARDWARE

•  QUÉ PODEMOS HACER

•  LA PLATAFORMA ARDUINO

 

INTRODUCCIÓN A 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 "  

•  HARDWARE

•  SOFTWARE

CONCEPTOS BÁSICOS

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  •  Sensores    

•  Motores  •  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  

220  Ω  

1  KΩ  

Resistencias típicas

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

A  K  

HARDWARE: LED

HARDWARE: CÁLCULO RESISTENCIA

Cálculo de la resistencia de protección del LED

Datos: •  V=5v •  Imax=20mA •  VLED=2v

V  

R  

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-255sensorMapvalue=map(sensorValue;0; 1023;0;255);

SOFTWARE: ENTRADA- SALIDA ANALÓGICA

     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.    

 

licencia LICENCIA

Recommended