Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada pordavid ontiveros sosa Modificado hace 7 años
1
Sensores Ultrasonido
2
Son importantes en robótica, se usan para calcular distancias
3
¿Cómo funcionan? Dos unidades piezoeléctricas El trasmisor emite frecuencias de sonido sobre 20KHz (audible) El receptor captura el rebote de las ondas ultra sonoras y entrega los datos obtenidos
4
Usos Aplicaciones industriales como medición de distancias o caracterización de materias internas
5
Robot Bat Bot. Navegación con ultrasonidos http://video.google.es/videoplay?docid=- 8818446984975466550&q=criadobot&total=22&start=0&num=30&so=0&type=sea rch&plindex=19#
6
¿Cómo vamos a traducir dicho tiempo en distancia? Aprovechando que la velocidad de dicho ultrasonido en el aire es de valor 340 m/s, o 0,034 cm/microseg (ya que trabajaremos con centímetros y microsegundos). Para calcular la distancia, recordaremos que v=d/t (definición de velocidad: distancia recorrida en un determinado tiempo). De la fórmula anterior despejamos d, obteniendo d=v·t, siendo v la constante anteriormente citada y t el valor devuelto por el sensor a la placa Arduino. También habrá que dividir el resultado entre 2 dado que el tiempo recibido es el tiempo de ida y vuelta. Material Sensor ultrasonidos HC-SR04 de Electrohobby Placa Arduino UNO Cables Cable USB Protoboard
8
long distancia; int led1=11; int led2=12; long tiempo; void setup(){ Serial.begin(9600); pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/ pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/ pinMode(11, OUTPUT); //declara el led corto pinMode(12, OUTPUT); //declara el led largo } CONFIGURACION
9
void loop(){ digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/ delayMicroseconds(5); digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/ delayMicroseconds(10); tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que deja de hacerlo, LOW, la longitud del pulso entrante*/ distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/ CUERPO DEL PROGRAMA TODAS LAS INSTRUCCIONES
10
if(distancia==50){ digitalWrite(led1,HIGH); //enciende led a 50 mts } else { digitalWrite(led1,LOW); // apagada el led } if(distancia==100){ digitalWrite(led2,HIGH); //enciende led a 1 mts } else {digitalWrite(led2,LOW); //apaga el led } /*Monitorización en centímetros por el monitor serial*/ Serial.println("Distancia "); Serial.println(distancia); Serial.println(" cm"); } SENTENCIAS DE CONDICION
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.