Hacer funcionar sensor ultrasónico HC-SR04

Llevo dos días intentando hacer funcionar el sensor HC-SR04. El programa compila pero en el monitor serie solo me me muestra el valor 0 cm. El sensor se calentó ha calentado un poco, no se si eso lo haya descompuesto o algo parecido. Me podrian ayudar? :S

const int trig = 2;
const int Echo = 3;

long int tiempo, distancia;

void setup (){
  Serial.begin(9600);
  pinMode(trig, OUTPUT);
  pinMode(Echo, INPUT);
  }

void loop () {
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);

  tiempo = pulseIn(Echo, HIGH);

  distancia = tiempo / 59;

  Serial.print(distancia);
  Serial.println(" CM");
  delay(200);
}

sensor_ultrasonico_prueba.ino (463 Bytes)

Por favor, lee las Normas del foro y edita ese post de modo que el código se vea como corresponde.
Aunque sea una línea debe verse con etiquetas de código.

Si algo encontrarás son tutoriales de un sensor ultrasónico tipo HC-SR04.

Si caliente es porque se ha dañado y la única forma que eso ocurra es que lo has alimentado al revés, GND a VCC y VCC a GND.