Del sensor MaxSonar-EZ2 al HC-SR04

Buenas tengo un inconveniente con un código que esta hecho par utilizar con el Sensor de ultrasonido MB1020 MaxSonar E-Z2 y lo estoy queriendo adaptar para que funcione con el tipico sensor de ultrasonido HC-SR04, si alguien me puede dar una mano se lo agradecería mucho.
el código funciona básicamente que cuando encuentro objetos en el rango establecido haga funcionar un motor vibrador...

// General defines
#define PIN_IN 0 // From EZ1 / AN; Definimos el pin de la placa pro micro A0con el pin análogo del sensor los cuales reciben y envían las señales.
#define PIN_OUT 14 // To EZ1 / RX; Definimos el pin de la placa pro micro 14 con el RX para corrección de errores.
#define PIN_VIB 10 // Vibrador; Definimos el pin 10 de la placa pro micro con el motor vibrador.
#define BAUD 9600 // Definimos el número de unidades de señales por segundo
long cm, w; // Se declaran las variables de centímetro y la variable que guarda la información del vector
39
longmiddle,median; // Se declara la variable middle que es la que guarda la conversión en cm.
longsamples = 11; // Tamaño de muestreo eco
longmetering[255]; // Vector donde se guarda la salida de la señal
void setup() {
Serial.begin(BAUD);
// Declaración de pines los cuales se les manda una señal de encendido y apagado
pinMode(PIN_IN, INPUT);
pinMode(PIN_VIB, OUTPUT);
pinMode(PIN_OUT, OUTPUT);
}
void loop() {
intl,i,j;
// Llenadode vector guardando la señal análoga
for (l = 0; l < samples; l++){
digitalWrite(PIN_OUT, HIGH);
delayMicroseconds(20);
digitalWrite(PIN_OUT, LOW);
delayMicroseconds(20);
// Lee y guardar en el vector
metering[l] = analogRead(PIN_IN);
}
40
// Evaluación de la señal análoga verificando si la señal es mayor a la anterior para minimizar los errores.
for (i = 0; i < samples - 1; i++){
for (j = i + 1; j < samples; j++){
if (metering[i] > metering[j]){
w = metering[i];
metering[i] = metering[j];
metering[j] =w;
}
}
}
//Buscary captura la variable middle convierte la señal en cm
middle=(samples + 1) / 2;
median = metering[middle];
cm = (median / 2) * 2.54; //Multiplica centímetro por el rango de acción para la conversión de metros en centímetros
// Luego imprime centímetros para mostrarlo en el monitor serial
Serial.print(cm);
Serial.print(" cm");
Serial.println();
delay(100);
//Evalúaloscentímetros
if(cm >=51 && cm <=80){ ; //Se realiza la comparación de distancias para la detección del obstáculo más cercana.
41
analogWrite(PIN_VIB, 150); //Le manda la señal al pin del motor vibrador y la señal es más fuerte.
delay(200);
analogWrite(PIN_VIB, LOW); // El pin 10 de la placa envía la señal al vibrador para que este encienda
delay(100);
}
else
if(cm >=81 && cm <=110){ // Se realiza la comparación de distancias para la detección del obstáculo más lejana.
analogWrite(PIN_VIB, 100); //Le manda la señal al pin del motor vibrador y la señal es más débil.
delay(200);
analogWrite(PIN_VIB, LOW); // El pin 10 de la placa envía la señal al vibrador para que este encienda
delay(100);
}
}

El HC-SR04 tiene librerías por todos lados, para que adaptar algo que ya esta hecho, es como reinventar la rueda.
Hay 200 tutoriales al respecto. No hace falta consultar nada si me permites el comentario.
Pon en Google: Arduino HC-SR04 o Arduino HC-SR04 library y listo. Solucioinado, usas un ejemplo y mas rápido aun.