José Pujol Pérez
SUMARIO 2ª SESIÓN
•  SENSORES
•  MOTORES
•  COMUNICACIÓN SERIE
	
  
•  LUZ LDR ✔
•  POSICIÓN POTENCIÓMETRO ✔
•  TEMPERATURA LM35
•  TEMPERATURA NTC
•  HUMEDAD Y TEMPERATURA DHT11
•  VIBRACIÓN PIEZOELÉCTRICO
•  MAGNÉTICO HALL
•  ACELERÓMETROs
•  DISTANCIA INFRARROJOS
•  DISTANCIA ULTRASONIDOS
SENSORES
TEMPERATURA LM35
Sensor de temperatura calibrado
•  Tensión de salida proporcional a la
temperatura
•  Cada grado centígrado equivale a 10mv
"
	
  
TEMPERATURA NTC
Resistencia variable con la temperatura
Se conecta mediante el divisor de tensión
"
	
  
HUMEDAD Y TEMPERATURA
Sensor DHT11 mide humedad y temperatura
Utiliza una librería para realizar las mediciones
"
	
  
VIBRACIÓN PIEZOELÉCTRICO
Produce una tensión entre sus extremos
proporcional a la vibración
"
	
  
MAGNÉTICO HALL
Detecta y mide campo magnético
Al detectar polo positivo iman proporciona 1 lógico en
la salida, cambia a 0 con polo negativo o al
desconectar alimentación
"
	
  
A3144	
  
ACELERÓMETRO
Es un sistema microelectromecánico. Mide
aceleración en los ejes x, y, z
"
	
   X:	
  eje	
  x	
  
Y:	
  eje	
  y	
  
Z:	
  eje	
  z	
  
SL:	
  Sleep	
  si	
  esta	
  a	
  cero	
  
0G:	
  detecta	
  caida	
  
5v	
  
3.3v	
  
GND	
  
GS:	
  1.5g/6g	
  mode	
  
Self	
  Test	
  
ACELERÓMETRO
"
	
  
DISTANCIA INFRARROJOS
Producen una tensión en pin de salida en
función de la distancia
Características:
•  Fáciles de usar
•  Dependen de la luz ambiental
•  No son lineales
•  Rango reducido
•  Son caros
"
	
  
DISTANCIA ULTRASONIDOS
Manda un tren de pulsos de alta frecuencia y
recibe el rebote permitiendo calcular el tiempo
Características:
•  Rango de distancias 2-400cm, precisión 3mm
•  Ángulo 15º
"
	
  
Trigger: pin digital salida	
Echo: pin digital entrada
DISTANCIA ULTRASONIDOS
Funcionamiento:
•  Se envía un pulso digital alto (10µs)
•  El HCSR04 lanza ocho ondas de 40kHz
•  Se establece en alto la señal eco hasta que recibe el
rebote de las ondas
•  Se calcula el tiempo transcurrido
"
	
  
DISTANCIA ULTRASONIDOS
Cálculo del tiempo:
t=μs	
v=e/t à e=2d=v*tà d=v*t/2	
d=34300(cm/s)*t(s)*10-6* /2=0,01715*t	
"
	
  
DISTANCIA ULTRASONIDOS
- pulseIn (pin, value)	
pin: el pin donde quieres leer el pulso	
value: HIGH or LOW
Lee un pulso en un pin. Si el valor es HIGH, espera a
que el valor sea alto, y espera a que el pulso sea bajo
Devuelve el tiempo en microsegundos	
Si supera el tiempo de espera devuelve 0
Tiempo de espera 1s por defecto	
- pulseIn (pin, value, timeout)	
timeout: tiempo de espera en microsegundos	
"
DISTANCIA ULTRASONIDOS
DISTANCIA ULTRASONIDOS
PRÁCTICA 5
Utiliza algunos de los sensores que hemos
visto para realizar alguna aplicación
"
	
  
•  MOTORES CC
•  SERVOMOTORES POSICIÓN
•  SERVOMOTORES CONTINUA
MOTORES
MOTORES CC
Características:
•  Son económicos
•  Permiten regular su velocidad en función de
su tensión de alimentación
•  Invierten el sentido de giro en función de su
polaridad
•  Pueden necesitar un circuito de potencia cc
"
MOTORES CC
Circuito de Potencia cc
"
	
  
MOTORES CC
MOTORES CC
Inversión de giro mediante puente en H
"
	
  
servomotores posición
Es un tipo de motor de corriente continua que
permite controlar su posición en un ángulo
0-180º
"
	
  
servomotores posición
"
	
  
servomotores posición
"
	
  
- #include <Servo.h>	
Incluye la librería servo con todas sus funciones
- Servo myservo;	
Crea un objeto servo
- myservo.attach (pin);	
Declara el pin en el que se conecta el servo
- myservo.write (valor);	
Posiciona el servo entre 0-179º
servomotores CONTINUOS
Es una modificación de los servos de posición para que
puedan girar continuamente
Características:
•  Velocidad reducida
•  Permiten cambiar sentido de giro
"
	
  
servomotores CONTINUOS
Funcionamiento:
Variando el ancho de pulso controlamos su sentido de
giro
"
	
  
AnIhorario	
  
Fijo	
  
Horario	
  
servomotores CONTINUOS
	
  
PRÁCTICA 6
- Controla uno de los tipos de motores que
hemos visto
- Añade sensores para controlarlo en función
de estos
"
	
  
•  ¿ QUÉ ES?
•  CÓDIGO ASCII
•  FUNCIÓN SERIAL
•  COMUNICACIÓN ARDUINO PC
	
  
COMUNICACIÓN SERIE
COMUNICACIÓN SERIE
"
•  Comunica Arduino con PC u otros dispositivos
•  Utiliza los pines Rx 0 y Tx 1 conectados al
controlador FTDI
•  Permite recibir y enviar datos
•  Usa un buffer de 64 bytes
•  Usa el código ASCII
COMUNICACIÓN SERIE
Utilidades:
•  Monitorizar valores de variables
•  Depurar programas
•  Mandar comandos a Arduino desde PC
•  Conexión con módulo Bluetooth, módulo wifi
	
  
CÓDIGO ASCII
"
	
  
FUNCIÓN SERIAL
- Serial.avalaible ();	
Devuelve el número de bytes almacenados en el buffer
de entrada. 0 si no hay datos
- Serial.read ();	
Lee el primer byte disponible en el buffer de entrada
Devuelve -1 si no hay datos
Lee el byte en formato decimal del código ASCII
Es decir si enviamos H, recibe el nº 72
"
EJ. COMUNICACIÓN PCà ARDUINO
"
	
  
CONTROL LED VIA PUERTO SERIE
"
	
  
RECEPCIÓN DATOS NUMÉRICOS
"
	
  
PRÁCTICA 7
- Controla el encendido de un LED desde el
teclado usando el programa:
Ejemplosà Communicationà PhysicalPixel
- Realiza una aplicación que implique
comunicación
"
	
  
 
	
  
	
  
Esta	
  guía	
  se	
  distribuye	
  bajo	
  licencia	
  Reconocimiento-­‐	
  ComparIrIgual	
  CreaIve	
  
commons	
  4.0	
  	
  
	
  
	
  
(cc)	
  2015	
  José	
  Pujol	
  Pérez	
  Some	
  rights	
  reserved.	
  This	
  work	
  licensed	
  under	
  CreaIve	
  
Commons	
  A]ribuIon-­‐ShareAlike	
  License.	
  To	
  view	
  a	
  copy	
  of	
  full	
  license,	
  see	
  	
  	
  	
  	
  	
  	
  	
  	
  
h]p://creaIvecommons.org/licenses/by-­‐sa/3.0/	
  or	
  write	
  to	
  CreaIve	
  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

Taller Arduino espacio-RES 2ª Sesion

  • 1.
  • 2.
    SUMARIO 2ª SESIÓN • SENSORES •  MOTORES •  COMUNICACIÓN SERIE  
  • 3.
    •  LUZ LDR✔ •  POSICIÓN POTENCIÓMETRO ✔ •  TEMPERATURA LM35 •  TEMPERATURA NTC •  HUMEDAD Y TEMPERATURA DHT11 •  VIBRACIÓN PIEZOELÉCTRICO •  MAGNÉTICO HALL •  ACELERÓMETROs •  DISTANCIA INFRARROJOS •  DISTANCIA ULTRASONIDOS SENSORES
  • 4.
    TEMPERATURA LM35 Sensor detemperatura calibrado •  Tensión de salida proporcional a la temperatura •  Cada grado centígrado equivale a 10mv "  
  • 5.
    TEMPERATURA NTC Resistencia variablecon la temperatura Se conecta mediante el divisor de tensión "  
  • 6.
    HUMEDAD Y TEMPERATURA SensorDHT11 mide humedad y temperatura Utiliza una librería para realizar las mediciones "  
  • 7.
    VIBRACIÓN PIEZOELÉCTRICO Produce unatensión entre sus extremos proporcional a la vibración "  
  • 8.
    MAGNÉTICO HALL Detecta ymide campo magnético Al detectar polo positivo iman proporciona 1 lógico en la salida, cambia a 0 con polo negativo o al desconectar alimentación "   A3144  
  • 9.
    ACELERÓMETRO Es un sistemamicroelectromecánico. Mide aceleración en los ejes x, y, z "   X:  eje  x   Y:  eje  y   Z:  eje  z   SL:  Sleep  si  esta  a  cero   0G:  detecta  caida   5v   3.3v   GND   GS:  1.5g/6g  mode   Self  Test  
  • 10.
  • 11.
    DISTANCIA INFRARROJOS Producen unatensión en pin de salida en función de la distancia Características: •  Fáciles de usar •  Dependen de la luz ambiental •  No son lineales •  Rango reducido •  Son caros "  
  • 12.
    DISTANCIA ULTRASONIDOS Manda untren de pulsos de alta frecuencia y recibe el rebote permitiendo calcular el tiempo Características: •  Rango de distancias 2-400cm, precisión 3mm •  Ángulo 15º "   Trigger: pin digital salida Echo: pin digital entrada
  • 13.
    DISTANCIA ULTRASONIDOS Funcionamiento: •  Seenvía un pulso digital alto (10µs) •  El HCSR04 lanza ocho ondas de 40kHz •  Se establece en alto la señal eco hasta que recibe el rebote de las ondas •  Se calcula el tiempo transcurrido "  
  • 14.
    DISTANCIA ULTRASONIDOS Cálculo deltiempo: t=μs v=e/t à e=2d=v*tà d=v*t/2 d=34300(cm/s)*t(s)*10-6* /2=0,01715*t "  
  • 15.
    DISTANCIA ULTRASONIDOS - pulseIn(pin, value) pin: el pin donde quieres leer el pulso value: HIGH or LOW Lee un pulso en un pin. Si el valor es HIGH, espera a que el valor sea alto, y espera a que el pulso sea bajo Devuelve el tiempo en microsegundos Si supera el tiempo de espera devuelve 0 Tiempo de espera 1s por defecto - pulseIn (pin, value, timeout) timeout: tiempo de espera en microsegundos "
  • 16.
  • 17.
  • 18.
    PRÁCTICA 5 Utiliza algunosde los sensores que hemos visto para realizar alguna aplicación "  
  • 19.
    •  MOTORES CC • SERVOMOTORES POSICIÓN •  SERVOMOTORES CONTINUA MOTORES
  • 20.
    MOTORES CC Características: •  Soneconómicos •  Permiten regular su velocidad en función de su tensión de alimentación •  Invierten el sentido de giro en función de su polaridad •  Pueden necesitar un circuito de potencia cc "
  • 21.
    MOTORES CC Circuito dePotencia cc "  
  • 22.
  • 23.
    MOTORES CC Inversión degiro mediante puente en H "  
  • 24.
    servomotores posición Es untipo de motor de corriente continua que permite controlar su posición en un ángulo 0-180º "  
  • 25.
  • 26.
    servomotores posición "   -#include <Servo.h> Incluye la librería servo con todas sus funciones - Servo myservo; Crea un objeto servo - myservo.attach (pin); Declara el pin en el que se conecta el servo - myservo.write (valor); Posiciona el servo entre 0-179º
  • 27.
    servomotores CONTINUOS Es unamodificación de los servos de posición para que puedan girar continuamente Características: •  Velocidad reducida •  Permiten cambiar sentido de giro "  
  • 28.
    servomotores CONTINUOS Funcionamiento: Variando elancho de pulso controlamos su sentido de giro "   AnIhorario   Fijo   Horario  
  • 29.
  • 30.
    PRÁCTICA 6 - Controlauno de los tipos de motores que hemos visto - Añade sensores para controlarlo en función de estos "  
  • 31.
    •  ¿ QUÉES? •  CÓDIGO ASCII •  FUNCIÓN SERIAL •  COMUNICACIÓN ARDUINO PC   COMUNICACIÓN SERIE
  • 32.
    COMUNICACIÓN SERIE " •  ComunicaArduino con PC u otros dispositivos •  Utiliza los pines Rx 0 y Tx 1 conectados al controlador FTDI •  Permite recibir y enviar datos •  Usa un buffer de 64 bytes •  Usa el código ASCII
  • 33.
    COMUNICACIÓN SERIE Utilidades: •  Monitorizarvalores de variables •  Depurar programas •  Mandar comandos a Arduino desde PC •  Conexión con módulo Bluetooth, módulo wifi  
  • 34.
  • 35.
    FUNCIÓN SERIAL - Serial.avalaible(); Devuelve el número de bytes almacenados en el buffer de entrada. 0 si no hay datos - Serial.read (); Lee el primer byte disponible en el buffer de entrada Devuelve -1 si no hay datos Lee el byte en formato decimal del código ASCII Es decir si enviamos H, recibe el nº 72 "
  • 36.
  • 37.
    CONTROL LED VIAPUERTO SERIE "  
  • 38.
  • 39.
    PRÁCTICA 7 - Controlael encendido de un LED desde el teclado usando el programa: Ejemplosà Communicationà PhysicalPixel - Realiza una aplicación que implique comunicación "  
  • 40.
          Esta  guía  se  distribuye  bajo  licencia  Reconocimiento-­‐  ComparIrIgual  CreaIve   commons  4.0         (cc)  2015  José  Pujol  Pérez  Some  rights  reserved.  This  work  licensed  under  CreaIve   Commons  A]ribuIon-­‐ShareAlike  License.  To  view  a  copy  of  full  license,  see                   h]p://creaIvecommons.org/licenses/by-­‐sa/3.0/  or  write  to  CreaIve  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