Advertisement
Villalba2006

POST_14

Nov 24th, 2016
6,247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.82 KB | None | 0 0
  1. /*  TITULO: Medidor de distancias con HC-SR04 y LCD 1602
  2.  
  3.     AUTOR:
  4.    
  5.     MARIANO DEL CAMPO GARCÍA (@2016) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
  6.     - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
  7.     - TWITTER: https://twitter.com/MarianoCampoGa
  8.     - CORREO: marianodc83@gmail.com
  9.    
  10.    
  11.     DESCRIPCIÓN DEL PROGRAMA
  12.    
  13.     Con este programa seremos capaces de medir distancias en centímetros y pulgadas, a través del
  14.     sensor ultrasónico HC-SR04, mostrando los valores obtenidos en un LCD 1602, mediante comunicación
  15.     I2C con Arduino (Alcance máximo 5 metros o lo que es lo mismo unas 200 pulgadas).
  16.    
  17.  
  18.     ESQUEMA DE CONEXION
  19.    
  20.                                       +-----+
  21.          +----[PWR]-------------------| USB |--+
  22.          |                            +-----+  |
  23.          |         GND/RST2  [ ][ ]            |
  24.          |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |  SCL del módulo I2C conectado al LCD 1602    
  25.          |          5V/MISO2 [ ][ ]  A4/SDA[ ] |  SDA del módulo I2C conectado al LCD 1602  
  26.          |                             AREF[ ] |
  27.          |                              GND[ ] |
  28.          | [ ]N/C                    SCK/13[ ] |  
  29.          | [ ]IOREF                 MISO/12[ ] |  
  30.          | [ ]RST                   MOSI/11[ ]~|  
  31.          | [ ]3V3    +---+               10[ ]~|  
  32.          | [ ]5v    -| A |-               9[ ]~|  ECHO
  33.          | [ ]GND   -| R |-               8[ ] |  TRIG
  34.          | [ ]GND   -| D |-                    |
  35.          | [ ]Vin   -| U |-               7[ ] |  
  36.          |          -| I |-               6[ ]~|  
  37.          | [ ]A0    -| N |-               5[ ]~|  
  38.          | [ ]A1    -| O |-               4[ ] |  
  39.          | [ ]A2     +---+           INT1/3[ ]~|  
  40.          | [ ]A3                     INT0/2[ ] |  
  41.          | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  42.          | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  43.          |            [ ] [ ] [ ]              |
  44.          |  UNO_R3    GND MOSI 5V  ____________/
  45.           \_______________________/
  46.  
  47.   NOTAS:
  48.   - Sensor ultrasónico HC-SR04. Además de las conexiones TRIG y ECHO que van directamente al Arduino,
  49.     necesitamos alimentarlo en sus terminales VCC (+5V) y GND (masa).
  50.   - La alimentación y la masa del módulo LCM 1602 I2C V1 van directamente conectadas a VCC (+5V) y GND
  51.     respectivamente.      
  52. */
  53.  
  54.   //Incluimos librerías
  55.   #include <Ultrasonic.h>
  56.   #include <Wire.h> // Librería comunicación I2C
  57.   #include <LiquidCrystal_I2C.h> // Librería LCD I2C
  58.    
  59.   // Declaración del objeto para el LCD
  60.   // Terminales de conexión del LCD
  61.   //                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
  62.   LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  63.  
  64.   // Declaración del objeto para el sensor ultrasónico  
  65.   Ultrasonic ultrasonic(8,9,30000); // (Trig PIN, Echo PIN, Time Out = 30000 us) --> 5 metros máximo.
  66.  
  67.   float centimetros, pulgadas;
  68.  
  69.   void setup()
  70.   {
  71.     Serial.begin(9600);  // Configura la velocidad de la comunicación serie
  72.     lcd.begin(16,2);   // Inicializa el LCD para 16x2
  73.     lcd.backlight(); // LED de fondo encendido (backlight)
  74.     lcd.clear();
  75.    
  76.     // Mensaje de presentación en el LCD
  77.     lcd.setCursor(0,0);
  78.     lcd.print("Medidor de");
  79.     lcd.setCursor(0,1);
  80.     lcd.print("distancias!!!");
  81.     delay(2000);  
  82.   }
  83.  
  84.   void loop()
  85.   {
  86.     // Se realizan los cálculos
  87.     centimetros = ultrasonic.Ranging(CM);
  88.     pulgadas = ultrasonic.Ranging(INC);
  89.    
  90.     // Se presentan resultados en el LCD 1602
  91.     lcd.clear();
  92.     lcd.setCursor(0,0);
  93.     lcd.print(">> ");    
  94.     lcd.print(centimetros);
  95.     lcd.print(" cm");
  96.     lcd.setCursor(0,1);
  97.     lcd.print(">> ");
  98.     lcd.print(pulgadas);
  99.     lcd.print(" in");
  100.     delay(250);  
  101.    
  102.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement