Making HX711 Scale Wireless using NRF24L01

I'm having difficulty making my project wireless. My project is basically a weight scale that sends readings to a display in another room.

I have succeeded in getting values from my scale to an LCD, but only locally (contained within one arduinio).

The next step of my project, which I am working on now, is to separate the scale from the LCD.

I'm using Chinese nanos that have their fair share of problems, but I think I figured them out :slight_smile:

Arduino 1 (Transmitter/TX): Take the values from my scale, interpret them, and send them to the reciever/RX.
Arduino 2 (Reciever/RX): Receive the interpreted values and display them on an LCD. Also, make a buzzer beep when the weight exceeds a certain value.

I already have the code that interprets the data and sends it to an LCD, but it is not wireless.
In essence, I am trying to split up my project into 2 Arduinos for wireless capabilities.

NRF24L01 module that I am using: This.

This is the code that works locally. Just in case it wasn't clear, I want to send these values to an LCD attached to another arduino. Thank you so much. Any help is greatly appreciated!

// include the library code
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#include "HX711.h" //This library can be obtained here http://librarymanager/All#Avia_HX711

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display

#define calibration_factor -7050.0 //This value is obtained using the SparkFun_HX711_Calibration sketch

#define LOADCELL_DOUT_PIN  3
#define LOADCELL_SCK_PIN  2

HX711 scale;

void setup() {
  lcd.init();  //initialize the lcd
  lcd.backlight();  //open the backlight
  pinMode(13, OUTPUT);
  pinMode(11, OUTPUT);
  Serial.begin(9600);
  Serial.println("HX711 scale demo");

  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  scale.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch
  scale.tare();	//Assuming there is no weight on the scale at start up, reset the scale to 0

  Serial.println("Readings:");
}

void loop() {
  float weight = scale.get_units();
  float per = round((weight/8.0)*100);
  Serial.print("Reading: ");
  Serial.print(scale.get_units(), 1); //scale.get_units() returns a float
  Serial.print(" lbs"); //You can change this to kg but you'll need to refactor the calibration_factor
  Serial.println();

  
 
  if( per < 10 ){
      lcd.clear();
      lcd.setCursor(5, 0); // set the cursor to column 3, line 0
      lcd.print("Refill!");
      Serial.println("Refill the pitcher!");
      digitalWrite(13, HIGH);
      digitalWrite(11, HIGH);
  }
  else{
  lcd.setCursor(5, 1); // set the cursor to column 2, line 1
  lcd.print("Pot #1"); // Name pot number
  lcd.setCursor(3, 0); // set the cursor to column 3, line 0
  lcd.print("Status:");  // Print a message to the LCD
  lcd.print(round((weight/8.0)*100));  // Print a weight value as percent to the LCD.
  lcd.print("%"); //Add percent symbol
   digitalWrite(13, LOW);
   digitalWrite(11, LOW);
  }
  }

This simple rf24 tutorial by Robin2 got me started with the rf24 radios.