Advertisement
Villalba2006

POST_63_Báscula_Final

Nov 29th, 2016
25,650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.56 KB | None | 0 0
  1. /*  TITULO: Balanza digital de hasta 20Kg con celda de carga y transmisor HX711 - Balanza_digital_final
  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, al modificar la línea de código "balanza.set_scale(ESCALA)", por el valor de ESCALA
  14.     calculado anteriormente, podremos pesar elementos de hasta 20Kg con nuestra balanza digital y los
  15.     visualizaremos a través del LCD 1602 que tenemos conectado a nuestro Arduino.
  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[ ]~|  
  33.          | [ ]GND   -| R |-               8[ ] |  
  34.          | [ ]GND   -| D |-                    |
  35.          | [ ]Vin   -| U |-               7[ ] |  
  36.          |          -| I |-               6[ ]~|  
  37.    SCK   | [ ]A0    -| N |-               5[ ]~|  
  38.     DT   | [ ]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.    - La alimentación y la masa del módulo LCM 1602 I2C V1 van directamente conectadas a VCC (+5V) y GND
  49.      respectivamente.
  50.    - Conexiones del transmisor de celda de carga HX711:
  51.      - ALIMENTACIÓN:
  52.        - Pin VCC del HX711 --> +5V de Arduino.
  53.        - Pin GND del HX711 --> GND de Arduino.
  54.      - ENTRADAS:
  55.        - Pin E+ del HX711 --> Cable Rojo de la celda de carga de 20Kg.
  56.        - Pin E- del HX711 --> Cable Negro de la celda de carga de 20Kg.
  57.        - Pin A- del HX711 --> Cable Blanco de la celda de carga de 20Kg.   
  58.        - Pin A+ del HX711 --> Cable Verde de la celda de carga de 20Kg.
  59.      - SALIDAS:
  60.        - Pin SCK del HX711 --> Pin analógico A0 de Arduino.
  61.        - Pin DT del HX711 --> Pin Analógico A1 de Arduino.
  62. */
  63.  
  64.   // Librerías necesarias para el LCD 1602 con comunicación I2C
  65.   #include <Wire.h>
  66.   #include <LiquidCrystal_I2C.h>
  67.  
  68.   // Librería para utilizar el transmisor de celda de carga HX711
  69.   #include "HX711.h"
  70.  
  71.   #define DT  A1 // Pin analógico A1 para el pin DT del transmisor de celda de carga HX711
  72.   #define SCK  A0 // Pin analógico A0 para el pin SCK del transmisor de celda de carga HX711
  73.  
  74.   // Creación del objeto para el LCD con comunicación I2C
  75.   LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  76.  
  77.   // Creación del objeto para el transmisor de celda de carga HX711
  78.   HX711 balanza(DT, SCK);
  79.  
  80.   void setup()
  81.   {
  82.     Serial.begin(9600); // Comienzo de la comunicación con el monitor serie
  83.     lcd.begin(16,2); // Comienzo de la comunicación con el LCD 1602 con comunicación I2C
  84.    
  85.     Serial.print("Lectura del valor del ADC:t");
  86.     Serial.println(balanza.read()); // Comienzo de la lectura de la balanza digital
  87.     Serial.println("No ponga ningun objeto sobre la balanza");
  88.     Serial.println("Destarando...");
  89.     Serial.println("...");
  90.     balanza.set_scale(107250); // Establecemos la ESCALA calculada anteriormente
  91.     balanza.tare(20); // El peso actual es considerado Tara.
  92.    
  93.     lcd.setCursor(0,0);
  94.     lcd.print("BALANZA DIGITAL");  
  95.     lcd.setCursor(0,1);
  96.     lcd.print("Listo para pesar");
  97.     delay(5000);  // Esperamos 5 segundos para comenzar a pesar
  98.   }
  99.  
  100.   void loop()
  101.   {
  102.     lcd.setCursor(0,0);
  103.     lcd.print("BALANZA DIGITAL");  
  104.     lcd.setCursor(0,1);
  105.     lcd.print("Peso: ");
  106.     lcd.print(balanza.get_units(20),3); // Se obtiene el valor real del peso en Kg del elemento
  107.     lcd.print(" kg  ");
  108.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement