#include "HX711.h"
HX711 scale;
int valor;
int peso;
int pesoAnterior;
int sobraPeso;
int pesoSobre;
// Adicionado de volta para o código não dar erro de compilação na sua lógica abaixo
int leds[] = {5, 16, 18, 19};
const int pinoR = 2; // Pino para o Vermelho (Red)
const int pinoG = 15; // Pino para o Verde (Green)
const int pinoB = 4; // Pino para o Azul (Blue)
float temporizador = 0.0;
void setup() {
Serial.begin(115200);
//Serial.println("Initializing the scale");
scale.begin(13, 14 );
pinMode(pinoR, OUTPUT);
pinMode(pinoG, OUTPUT);
pinMode(pinoB, OUTPUT);
// Adicionado de volta para que os pinos da sua lógica funcionem
for (int i = 0; i < 4; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
valor = scale.get_units(), 1;
peso = map(valor,0,2100,0,5000);
if (peso >= 0250){
// CORREÇÃO: Separando os comandos para o LED RGB acender em vermelho
analogWrite(pinoR, 255);
analogWrite(pinoG, 0);
analogWrite(pinoB, 0);
pinMode( leds[2], OUTPUT);
temporizador = temporizador + 0.5;
// Serial.printf("%.2f\n",temporizador);
if(temporizador >= 30 && peso >=250){
digitalWrite(leds[3], HIGH);
digitalWrite(leds[2], HIGH);
digitalWrite(leds[1], HIGH);
digitalWrite(leds[0], HIGH);
delay(200);
digitalWrite(leds[3], LOW);
digitalWrite(leds[2], LOW);
digitalWrite(leds[1], LOW);
digitalWrite(leds[0], LOW);
}
Serial.println(pesoAnterior);
sobraPeso = peso - pesoAnterior;
/* if (sobraPeso >= 298 && sobraPeso <= 302){
digitalWrite(leds[3], LOW);
}*/
}else{
temporizador = 0.0;
}
pesoAnterior = peso;
delay(6000);
}