Taller Arduino espacio-RES 2ª Sesion

40
José Pujol Pérez

Transcript of Taller Arduino espacio-RES 2ª Sesion

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 salidaEcho: 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=μsv=e/t à e=2d=v*tà d=v*t/2d=34300(cm/s)*t(s)*10-6* /2=0,01715*t "  

DISTANCIA ULTRASONIDOS

- pulseIn (pin, value)pin: el pin donde quieres leer el pulsovalue: 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 microsegundosSi 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.    

 

licencia LICENCIA