Señor
ITSC |ING. RODOLFO FUENTES
1
DIAGRAMA ESQUEMATICO
ITSC |ING. RODOLFO FUENTES
2
CODIGO
const int ultrasonico =7; void setup() { Serial.begin(9600); } void loop() { long duracion, pulgadas, cm; // se utilizan datos long debido a la respuesta del ultrasonido //Se manda un pulso bajo de 5 microsegundos paraasegurar que siempre se inicie en bajo //después se manda un pulso alto de 15 microsegundos que sirve para iniciar las mediciones pinMode(ultrasonico, OUTPUT); digitalWrite(ultrasonico, LOW);delayMicroseconds(5); digitalWrite(ultrasonico, HIGH); delayMicroseconds(15); digitalWrite(ultrasonico, LOW); //Se utiliza el mismo pin para recibir el eco así que lo cambiamos de salida a entrada //yutilizamos la variable duracion para recibir el valor que nos da el ultrasonico pinMode(ultrasonico, INPUT); duracion = pulseIn(ultrasonico, HIGH); // convertimos el tiempo que nos da el pulse in endistancia pulgadas = msPulgadas(duracion); cm = msCentimetros(duracion); Serial.print(pulgadas); Serial.print("in, "); Serial.print(cm); Serial.print("cm"); Serial.println(); delay(100); } longmsPulgadas(long microsegundos) { //De acuerdo a las hojas de datos se recorren 73.746 microsegundos por pulgada //El sonido viaja a 1130 pies por segundo, así que para obtener una distancia en ITSC |ING.RODOLFO FUENTES 3
//pulgadas solo es necesario dividir la señal que nos da entre 74 para obtener la //distancia total y finalmente dividir entre 2 para obtener la distancia del sensor //al objetoreturn microsegundos / 74 / 2; } long msCentimetros(long microsegundos) { //la velocidad del sonido es 340 m/s o 29 microsegundos por centímetro. //El sonido llega hasta el objeto, rebota y regresacomo eco por lo que //solo es necesario tomar la distancia así que primero dividimos entre 29 //y posteriormente entre 2 return microsegundos / 29 / 2; }
ITSC |ING. RODOLFO FUENTES
4
Regístrate para leer el documento completo.