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 ![]()
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);
 }
 }