El circuito (realizado con Fritzing):

/*
* Este programa lee el valor de un sensor (Utiliza eco por ultrasonido para medir distancias)
* y lo muestra por un LCD de 16x2.
*
* 2014 - Guimi (http://guimi.net)
*/
// LIBRERIAS
//----------
// Para compilar, la libreria debe copiarse a /usr/share/arduino/libraries
// o -segun la version del IDE- <sketchbook>/libraries
#include <Ultrasonic.h> // http://www.ardublog.com/library-for-arduino-ultrasonic-ranging-hc-sr04/
#include <LiquidCrystal.h> // Libreria de arduino para LCD
// VARIABLES
//----------
Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Iniciamos la libreria con los numeros de los pins
int valorSensor=0; // Variable para guardar el valor del sensor [0-1023]
// FUNCION SETUP
//--------------
void setup() {
lcd.begin(16, 2); // 16 caracteres * 2 lineas
}
// FUNCION LOOP
//-------------
void loop(){
// Leemos el valor del sensor que tiene un angulo de 30 grados.
// Para esta libreria el rango es entre 1 y 51 centimetros (espera maxima entre Trig y Eco 30 ms).
lectura=ultrasonic.Ranging(CM); // CM or INC
// Mostramos informacion por el LCD
lcd.clear(); // Limpiamos el LCD
lcd.setCursor(0, 0); // Nos situamos en el primer caracter de la primera linea
lcd.print(lectura); // Escribimos
lcd.print("cm"); // Escribimos
lcd.setCursor(0, 1); // Nos situamos en el primer caracter de la segunda linea
lcd.print(millis()/1000); // Escribimos el numero de segundos desde reset de la placa. Se reinicia cada 50 dias.
// Esperamos un tiempo de reaccion para los componentes
delay(100);
}