Módulo Bluetooth y sensor de peso

Hola chic@s,

Me encuentro realizando un proyecto de una báscula digital controlada por bluetooth. El circuito lo tengo implementado de forma que cuando aplasto un botón se activa una motorreductor y deja caer el material, al llegar al peso deseado el motorreductor se detiene. El tema viene en la celda de carga que utiliza el módulo HX711 y se comunica por serial al arduino y módulo bluetooth también lo hace. Por medio del bluetooth quiero enviar el peso máximo que se debe envasar pero siempre me lee el valor que en ese momento tiene el serial de la celda de carga. Alguna sugerencia por favor.

Hola @cfph1993, bienvenido al foro Arduino.
En la sección proyectos tienes estos dos hilos que debiste haber leído antes de postear

Como tu consulta es para otra sección lo muevo a Software.
Por cierto aunque ahora mueva tu hilo, no pases por alto la lectura de las normas que te acabo de indicar. Y cuando postees recuerda que NADA se copia y pega porque TODO lleva etiquetas para que sea visualizado adecuadamente.

La sugerencia es que luego de leer las normas del foro, coloques tu código asi entendemos lo que intentas explicar.
Otra cosa es que el HX711 no trabaja por serial sino por Serial personalizado con dos lineas. DATA y CLK que no es lo mismo que el BT. Asi que con el módulo BT te comunicas de un modo y con el HX711 de otro.
Tiene su propia librería de modo que solo busca la librería (lo sugiero porque no has puesto código y no se que has hecho) y prueba sus ejemplos.

Una disculpa surbyte, me lo leí pero imaginé que era la entrada correcta. Gracias por tu respuesta, lo tengo más claro y lo pude solucionar. Tengo un duda más que no la he podido solventar, cuando envío un dato del arduino para visualizar en una app del teléfono creada con app inventor no se visulzia correctamente cuando es más digitos, por ejemplo cuando la variable sacos alcanza 211, hay momentos donde se visualiza el número completo 211, otro momento donde solo se ve 11 y otro momento solo 1. Estuve investigando y se puede ser los ms del clock de appinventor, el deley de arduino, ya los he variado en proporción clock 100ms y deley 400ms y sigue sucediendo lo mismo. Alguna sugerencia?

#include <SoftwareSerial.h>
#include <HX711.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
#define ANCHO 128
#define ALTO 64
#define OLED_RESET 4
#define CALIBRACION 140000

// VARIABLES
byte pinData = 5;
byte pinClk = 6;
int buttonState = 0;
int sacos = 0;
float peso = 0;
int PS = 0;

// OBJETOS
HX711 bascula;
SoftwareSerial miBT(2, 3); // pin 2 como RX, pin 3 como TX
Adafruit_SSD1306 oled(ANCHO, ALTO, &Wire, OLED_RESET);

void setup(){
  Serial.begin(9600);
  Wire.begin();
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  bascula.begin(pinData, pinClk);
  bascula.set_scale(CALIBRACION);
  bascula.tare();
  miBT.begin(38400);
  
  pinMode(8, OUTPUT);
  pinMode(9, INPUT);
}

void loop() {
  if (miBT.available()){
    PS = miBT.read();
  }
  Serial.print(bascula.get_units(),3);
  Serial.print(" Kg");
  Serial.print(" Sacos= ");
  Serial.print(sacos);
  Serial.println();
  peso = abs(bascula.get_units());
  oled.clearDisplay();
  oled.setTextColor(WHITE);
  oled.setCursor(0, 0);
  oled.setTextSize(2);
  oled.print("# ");
  oled.print(sacos);
  oled.setCursor (0, 30);
  oled.setTextSize(5);
  oled.print(abs(peso),1);
  oled.display();
  buttonState = digitalRead(9);
  if (buttonState == HIGH && bascula.get_units() < 0.1) {
    sacos = sacos+1;
      while (bascula.get_units() <0.20){
        Serial.print(bascula.get_units(),3);
        Serial.print(" Kg");
        Serial.print(" Sacos= ");
        Serial.print(sacos);
        Serial.println();
        digitalWrite(8, HIGH);
        peso = abs(bascula.get_units());
        oled.clearDisplay();
        oled.setCursor(0, 0);
        oled.setTextSize(2);
        oled.print("KG = 0.20");
        oled.setCursor (0, 30);
        oled.setTextSize(5);
        oled.print(abs(peso),1);
        oled.display();
      }
    }
   else {
    digitalWrite(8, LOW);
   }
   miBT.print(sacos);
   delay(10);
}

En realidad el problema es que tu código demora mucho en actualizar seguramente la pantalla TFT.
Intenta ver si cuando no presentas información y lo muestras solo por monitor serie eso ocurre? Seguramente no.

Asi que debes de algun modo modificar las cosas para que la presentación se haga luego que se reciba un dato válido.

Tienes mucha cosa que resulta redundante.
Ver en pantalla y ver en Monitor serie. Elige una y comenta la otra para evitar demoras. Mira a ver si estoy en lo correcto.