// Definiciones para Blynk
#define BLYNK_TEMPLATE_ID "TMPL2LHjSx4Ss"
#define BLYNK_TEMPLATE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "AJHRjDzVfJihh2M7jOmgPkoqt7J4eIHO"
#define BLYNK_FIRMWARE_VERSION "0.1.0"
#define BLYNK_PRINT Serial
#define APP_DEBUG
// Librerías
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "HX711.h"
#include <EEPROM.h>
// Definiciones de pines para el sensor HX711
#define DOUT 19
#define CLK 18
// Instancia del objeto HX711
HX711 scale;
float weight;
// Definiciones para la conexión WiFi y Blynk
#define BLYNK_PRINT Serial
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void myTimer() {
Blynk.virtualWrite(V0, weight);
Blynk.virtualWrite(V1, weight);
}
void setup() {
// Inicializar la comunicación serial
Serial.begin(115200);
// Conectar a la red WiFi
Serial.println("Conectando a la red WiFi...");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(1000L, myTimer);
Serial.println("ESP32 conectado a Blynk y listo.");
Serial.println("Balanza con celda de carga"); // texto descriptivo
// Configurar los pines para el sensor HX711
scale.begin(DOUT, CLK);
//scale.set_scale(2263.f);
scale.set_scale(10); // establece el factor de escala obtenido del primer programa
scale.tare(); // realiza la tara o puesta a cero
}
void loop() {
// Llamar a Blynk.run() en el loop para mantener la conexión
Blynk.run();
Serial.print("Valor (gramos): "); // texto descriptivo
weight = scale.get_units(10); // muestra el valor obtenido promedio de 10 lecturas
// Enviar el peso a la aplicación Blynk
// Blynk.virtualWrite(V0, weight);
//Blynk.virtualWrite(V1, weight);
Serial.print(weight);
Serial.println(" g");
Blynk.run();
timer.run();
// Esperar 3 segundos antes de la próxima lectura
delay(100);
}