Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* TITULO: Medidor de distancias con HC-SR04 y LCD 1602
- AUTOR:
- MARIANO DEL CAMPO GARCÍA (@2016) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
- - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
- - TWITTER: https://twitter.com/MarianoCampoGa
- - CORREO: marianodc83@gmail.com
- DESCRIPCIÓN DEL PROGRAMA
- Con este programa seremos capaces de medir distancias en centímetros y pulgadas, a través del
- sensor ultrasónico HC-SR04, mostrando los valores obtenidos en un LCD 1602, mediante comunicación
- I2C con Arduino (Alcance máximo 5 metros o lo que es lo mismo unas 200 pulgadas).
- ESQUEMA DE CONEXION
- +-----+
- +----[PWR]-------------------| USB |--+
- | +-----+ |
- | GND/RST2 [ ][ ] |
- | MOSI2/SCK2 [ ][ ] A5/SCL[ ] | SCL del módulo I2C conectado al LCD 1602
- | 5V/MISO2 [ ][ ] A4/SDA[ ] | SDA del módulo I2C conectado al LCD 1602
- | AREF[ ] |
- | GND[ ] |
- | [ ]N/C SCK/13[ ] |
- | [ ]IOREF MISO/12[ ] |
- | [ ]RST MOSI/11[ ]~|
- | [ ]3V3 +---+ 10[ ]~|
- | [ ]5v -| A |- 9[ ]~| ECHO
- | [ ]GND -| R |- 8[ ] | TRIG
- | [ ]GND -| D |- |
- | [ ]Vin -| U |- 7[ ] |
- | -| I |- 6[ ]~|
- | [ ]A0 -| N |- 5[ ]~|
- | [ ]A1 -| O |- 4[ ] |
- | [ ]A2 +---+ INT1/3[ ]~|
- | [ ]A3 INT0/2[ ] |
- | [ ]A4/SDA RST SCK MISO TX>1[ ] |
- | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] |
- | [ ] [ ] [ ] |
- | UNO_R3 GND MOSI 5V ____________/
- \_______________________/
- NOTAS:
- - Sensor ultrasónico HC-SR04. Además de las conexiones TRIG y ECHO que van directamente al Arduino,
- necesitamos alimentarlo en sus terminales VCC (+5V) y GND (masa).
- - La alimentación y la masa del módulo LCM 1602 I2C V1 van directamente conectadas a VCC (+5V) y GND
- respectivamente.
- */
- //Incluimos librerías
- #include <Ultrasonic.h>
- #include <Wire.h> // Librería comunicación I2C
- #include <LiquidCrystal_I2C.h> // Librería LCD I2C
- // Declaración del objeto para el LCD
- // Terminales de conexión del LCD
- // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- // Declaración del objeto para el sensor ultrasónico
- Ultrasonic ultrasonic(8,9,30000); // (Trig PIN, Echo PIN, Time Out = 30000 us) --> 5 metros máximo.
- float centimetros, pulgadas;
- void setup()
- {
- Serial.begin(9600); // Configura la velocidad de la comunicación serie
- lcd.begin(16,2); // Inicializa el LCD para 16x2
- lcd.backlight(); // LED de fondo encendido (backlight)
- lcd.clear();
- // Mensaje de presentación en el LCD
- lcd.setCursor(0,0);
- lcd.print("Medidor de");
- lcd.setCursor(0,1);
- lcd.print("distancias!!!");
- delay(2000);
- }
- void loop()
- {
- // Se realizan los cálculos
- centimetros = ultrasonic.Ranging(CM);
- pulgadas = ultrasonic.Ranging(INC);
- // Se presentan resultados en el LCD 1602
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print(">> ");
- lcd.print(centimetros);
- lcd.print(" cm");
- lcd.setCursor(0,1);
- lcd.print(">> ");
- lcd.print(pulgadas);
- lcd.print(" in");
- delay(250);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement