/*☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄                                                                            ☄
☄      ☘ DATOS GENERALES:                                                    ☄
☄      NOMBRE:      Uso básico del sensor de peso.                           ☄
☄      FECHA:       10 de noviembre de 2024.                                 ☄
☄      VERSIÓN:     1.0.                                                     ☄
☄                                                                            ☄
☄      AUTOR:       M. en C. Esli Castellanos Berján.                        ☄
☄      E-MAIL:      [email protected].                                ☄
☄      COMPAÑÍA:    Universidad de Colima - Facultad de Telemática.          ☄
☄                                                                            ☄
☄      uC:          ATMEGA - 328p.                                           ☄
☄      Nombre:      Arduino UNO.                                             ☄
☄                                                                            ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄                                                                            ☄
☄      ☘ DESCRIPCIÓN DEL PROGRAMA:                                           ☄
☄      Arquitectura de software que ejemplifica el uso de peso.              ☄
☄      Voltaje de operación del sensor de peso: 5V.                          ☄
☄                                                                            ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄                                                                            ☄
☄      ☘ NOTAS:                                                              ☄
☄                                                                            ☄
☄                                                                            ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄*/

#include "HX711.h"

#define DT A0
#define SCK A1

HX711 bascula;

float peso = 0;

void setup ( void ) {
 
  Serial.begin(9600);
  bascula.begin(DT, SCK);
  Serial.print("Lectura del valor del ADC:  ");
  Serial.println(bascula.read());
  Serial.println("No ponga ningun  objeto sobre la bascula");
  Serial.println("Destarando...");
  Serial.println("...");
  bascula.set_scale(420); // Establecemos la escala
  bascula.tare(1);  //El peso actual es considerado Tara.
  
  Serial.println("Listo para pesar");  
}

void loop ( void ) {

  peso = bascula.get_units(20);  // Obtener el peso
  Serial.print("Peso: ");
  Serial.print(peso);
  Serial.println(" kg");
  delay(1000);

}

/*
Codigo para calibrar

#include "HX711.h"
const int DOUT=A1;
const int CLK=A0;


HX711 bascula;
void setup() {
  Serial.begin(9600);
  bascula.begin(DOUT, CLK);
  Serial.print("Lectura del valor del ADC:t");
  Serial.println(bascula.read());
  Serial.println("No ponga ningún objeto sobre la bascula");
  Serial.println("Destarando...");
  bascula.set_scale(); //La escala por defecto es 1
  bascula.tare(20);  //El peso actual es considerado Tara.
  Serial.println("Coloque un peso conocido:");
}

void loop() {

  Serial.print("Valor de lectura: \t");
  Serial.println(bascula.get_value(10),0);
  delay(100);
}

*/