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); }