hola grupo tengo problema con el código me tira este erro ('ControlPeso' was not declared in this scope
)
intente de todo y no lo puedo solucionar les dejo el código a ver si me pueden dar una ayuda gracias
//#include <SoftwareReset.hpp> //boton de reset para usar de tara
#include <Wire.h> // libreria de comunicacion por I2C
#include <LiquidCrystal_I2C.h> // libreria para LCD por I2C
#include "HX711.h"
LiquidCrystal_I2C lcd (0x27,20,4); //PANTALLA DE LCD
#define DEBUG_HX711
// Parámetro para calibrar el peso y el sensor
//
#define CALIBRACION 94812.00 // LA CALIBRACION SE SACA DE OTRO PROGRAMA DE HX711 CON UN PESO CONOCIDO
//#define CALIBRACION 143900 // Celda Ponis
//#define CALIBRACION 124000 // celda arduino 20kg
// Pin de datos y de reloj
byte pinData = A2;
byte pinClk = A3;
const int Rele = 9;
float peso = 0; // SE USA PARA DAR UNA FUNCION SI EL PESO ES MENOR O MAYOR O IGUAL DA UNA ORDEN
byte led = 5;
byte led1 =3;
byte btn1 =A6;
byte btn2 =A7;
//byte selectButton =A2;
//bool ControlPeso=0;
//bool xRiseUpButton=0;
//bool xRiseDownButton=0;
int categoria = 0;
int menu = 0;
int submenu = 0;
int peso1 = 10;
// Objeto HX711
HX711 bascula;
void setup() {
Serial.begin(9600);
lcd.setBacklight(HIGH); // habilita iluminacion posterior de LCD
lcd.begin(20, 4);
lcd.setCursor (0 , 0);
// ("---Esperando peso---");
lcd.print ("---Esperando peso---");
// (" REAL DESEADO ");
// ("0.000 Gr | 0.000 Gr);
// ("---Esperando peso---");
// ("---Esperando peso---");
delay(2000);
lcd.clear();
Serial.begin(9600);
pinMode (btn1 ,INPUT_PULLUP);
pinMode (btn2 ,INPUT_PULLUP); //COMANDO PARA PRENDER EL RELE
//pinMode (selectButton ,INPUT_PULLUP); //COMANDO PARA PRENDER EL RELE
pinMode (Rele , OUTPUT); //COMANDO PARA PRENDER EL RELE
pinMode ( led , OUTPUT);//COMANDO PARA PRENDER EL LED ROJO
pinMode (led1, OUTPUT);//COMANDO PARA PRENDER EL LED VERDE
// Iniciar sensor
bascula.begin(pinData, pinClk);
// Aplicar la calibración
bascula.set_scale(CALIBRACION);
// Iniciar la tara
// No tiene que haber nada sobre la balanza
bascula.tare();
}
void loop()
{
int lectura1 = digitalRead(btn1);
int lectura2 = digitalRead(btn2);
if(lectura1 == 0){
if(categoria == 0){
if(menu == 3){
menu = 0;
}
menu++;
}
switch(menu){
case 1: Serial.println("Inicio");
ControlPeso();
break;
case 2: Serial.println("Parar"); break;
case 3: Serial.println("Configurar"); break;
}
if(categoria == 1){
if(submenu == 4){
submenu = 0;
}
submenu++;
if(menu == 2){
switch(submenu){
case 1: Serial.println("peso 20 kg");
peso1 = 20;
break;
case 2: Serial.println("peso 30 kg");
peso1 = 30;
break;
case 3: Serial.println("peso 40 kg");
peso1 = 40;
break;
case 4: Serial.println("peso 50 kg");
peso1 = 50;
break;
}
}
}
if(lectura2 == 0){
if(categoria == 0) categoria++; //Nuevo metodo
if(categoria == 1 && submenu == 4){ //Nuevo metodo
submenu = 0; //Nuevo metodo
categoria = 0; //Nuevo metodo
} //Nuevo metodo
while(!digitalRead(btn2));
}
}
void ControlPeso(){
float peso = bascula.get_units(8); // cantidad de veces que pesa (), digitos que se muestran 3. antes tenia en 0 la cantidad de pesadas
lcd.setCursor(0, 0);
lcd.print(" REAL | DESEADO ");
lcd.setCursor(0, 1);
lcd.print(peso, 4); // cantidad de caracteres que se muestran del float
lcd.print (" Gr");
lcd.print ("|");
lcd.setCursor(11, 1);
lcd.print(peso, 4); // cantidad de caracteres que se muestran del float
lcd.print (" Gr");
lcd.setCursor (0, 2);
lcd.print (" MEZCLA ");
if (peso >= 1.000 || digitalRead(Rele)== HIGH)
{ //SI LA BOLSA PESA + DE 25KG CORTA
digitalWrite(Rele, HIGH); // SE APAGA EL RELE
digitalWrite (led, HIGH); // SE PRENDE LED ROJO
digitalWrite (led1, LOW); // SE APAGA LED VERDE
}
if (peso < 0.999){ //SI EL PESO ES - DE 25KG SIGUE CARGANDO
digitalWrite (Rele,LOW); // SE PRENDE RELE
digitalWrite(led , LOW); //SE PRENDE LED ROJO QUE FALTA PESO
digitalWrite(led1 , 1); //SI ESTA EN 25KG SE APAGA LUZ VERDE
}
}
}