P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

20
PRÁCTICAS DE PROGRAMACIÓN CON ARDUINO P6: SENSOR DISTANCIA ULTRASONIDOS José Pujol Pérez IES Vicente Aleixandre

Transcript of P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

Page 1: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

PRÁCTICAS DE PROGRAMACIÓN CON ARDUINO

P6: SENSOR DISTANCIA ULTRASONIDOS

José  Pujol  Pérez  IES  Vicente  Aleixandre  

Page 2: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

OBJETIVOS

•  Comprender el funcionamiento de un sensor

de distancia por ultrasonidos

•  Realizar una aplicación usando el sensor  

Page 3: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

Ideas Previas:

•  ¿Sabes cómo detectan los objetos los murciélagos?

•  ¿Qué tipos diferentes de sensores de distancia

conoceis?

•  Aplicaciones de los sensores de distancias que sean

comunes en la realidad

•  ¿Qué aplicaciones se os ocurre que podais hacer?

 

INTRODUCCIÓN

Page 4: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

Realizar una aplicación para el sensor de

distancia

1º- Escribir el programa para medir y comprobar su

funcionamiento

2º- Desarrollar una aplicación "creativa"

Ideas:

–  Piano aéreo

–  Alarma

–  Sistema de parking

 

HACER

Page 5: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

•  SENSOR DISTANCIA POR ULTRASONIDOS

–  Funcionamiento

–  Cálculo de la distancia

•  FUNCIÓN PULSEIN

•  PROGRAMA MEDIR DISTANCIA

•  LIBRERÍA ULTRASONIC.H

 

INFORMACIÓN

Page 6: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

SENSOR DISTANCIA POR 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

Page 7: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

SENSOR DISTANCIA POR 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

Page 8: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

SENSOR DISTANCIA POR 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

Page 9: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

PULSEIN

- pulseIn (pin, value)pin: el pin donde quieres leer el pulsovalue: HIGH or LOWSi value es HIGH, espera a que el valor sea alto, inicia cronómetro 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 microsegundosd=250cm timeout= 14600us

Page 10: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

PROGRAMA medir distancia

Page 11: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

PROGRAMA medir distancia

Page 12: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

LIBRERÍA ULTRASONIC

Page 13: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

•  Añadir un pulsador con memoria que permita conectar y desconectar el sistema

•  Añadir que solo mida cada cierto intervalo usando millis() y llamada a funciones

 

OPCIONES

Page 14: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

FUNCIÓN mILLIS

- millis();Devuelve el número de milisegundos desde que se

conectó la placa Arduino Es necesario usarlo si queremos realizar control de tiempo sin parar el microcontrolador Se suele guardar en variables tipo long

unsigned long time=0;time=millis();

Page 15: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

CONTROL TIEMPO RELOJ INTERNO

Page 16: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

LLAMADA A FUNCIONES

Page 17: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

FUNCIÓN TONE

- tone(pin, frecuency);pin: el pin en el que generar el tono

frecuency: frecuencia del tono en hertzios

- tone(pin, frecuency, duration);duration: duración del tono en milisegundos

Page 18: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

 

EJEMPLO TONE

Page 19: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

•  ¿Qué hemos conseguido hacer?

 

reflexionamos

Page 20: P6: Arduino Basic Shield: Sensor de distancia por ultrasonidos

     Este  guía  se  distribuye  bajo  licencia  Reconocimiento-­‐  ComparBrIgual  CreaBve  commons  4.0    

   

(cc)  2014  José  Pujol  Pérez  Some  rights  reserved.  This  work  licensed  under  CreaBve  Commons  AOribuBon-­‐ShareAlike  License.  To  view  a  copy  of  full  license,  see                  

hOp://creaBvecommons.org/licenses/by-­‐sa/3.0/  or  write  to  CreaBve  Commons,  559  Nathan  AbboO  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