View
4.826
Download
1
Category
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