Arduino UNO and HX711-Based Bluetooth Weight Measurement System with I2C LCD Display
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This circuit is designed to measure weight using load sensors and an HX711 bridge sensor interface. The measured weight is displayed on a 16x2 I2C LCD and transmitted via an HC-06 Bluetooth module. The circuit is controlled by an Arduino UNO microcontroller.
Component List
Load Sensor - 50kg
- Description: Measures weight up to 50kg.
- Pins: W, R, B
HX711 - Bridge Sensor Interface
- Description: Amplifies and converts the signal from the load sensors.
- Pins: E+, E-, A-, A+, B-, B+, GND, DATA (OUT), SCK (IN), 3.3/3.5V Supply
Resistor
- Description: Provides resistance in the circuit.
- Pins: pin1, pin2
- Properties: 2000 Ohms
Arduino UNO
- Description: Microcontroller used to control the circuit.
- Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
HC-06
- Description: Bluetooth module for wireless communication.
- Pins: RXD, TXD, GND, VCC
16x2 I2C LCD
- Description: Displays weight data.
- Pins: GND, VCC, SDA, SCL
HC-SR04 Ultrasonic Sensor
- Description: Measures distance using ultrasonic waves.
- Pins: VCC, TRIG, ECHO, GND
rp2040 zero
- Description: Microcontroller used for additional processing.
- Pins: 5V, GND, 3V3, 29, 28, 27, 26, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
9V Battery
- Description: Provides power to the circuit.
- Pins: +, -
5V Battery
- Description: Provides power to the circuit.
- Pins: +, -
Wiring Details
Load Sensor - 50kg
Pin R is connected to:
- Pin R of another Load Sensor - 50kg
- Pin E- of HX711
- Pin B of another Load Sensor - 50kg
Pin B is connected to:
- Pin B of another Load Sensor - 50kg
- Pin E+ of HX711
- Pin R of another Load Sensor - 50kg
Pin W is connected to:
- Pin A- of HX711
- Pin W of another Load Sensor - 50kg
HX711 - Bridge Sensor Interface
Pin E+ is connected to:
- Pin B of Load Sensor - 50kg
Pin E- is connected to:
- Pin R of Load Sensor - 50kg
Pin A- is connected to:
- Pin W of Load Sensor - 50kg
Pin GND is connected to:
- GND of Arduino UNO
- GND of 9V Battery
Pin DATA (OUT) is connected to:
- Pin D3 of Arduino UNO
Pin SCK (IN) is connected to:
- Pin D2 of Arduino UNO
Pin 3.3/3.5V Supply is connected to:
- 5V of Arduino UNO
Resistor
Pin 1 is connected to:
- Pin SDA of 16x2 I2C LCD
- Pin A4 of Arduino UNO
- 5V of Arduino UNO
-
- of 9V Battery
- Pin VCC of 16x2 I2C LCD
- Pin VCC of HC-06
- Pin 3.3/3.5V Supply of HX711
Pin 2 is connected to:
- Pin SCL of 16x2 I2C LCD
- Pin A5 of Arduino UNO
Arduino UNO
Pin A4 is connected to:
- Pin SDA of 16x2 I2C LCD
- Pin 1 of Resistor
Pin A5 is connected to:
- Pin SCL of 16x2 I2C LCD
- Pin 2 of Resistor
Pin D3 is connected to:
- Pin DATA (OUT) of HX711
Pin D2 is connected to:
- Pin SCK (IN) of HX711
Pin D10 is connected to:
- Pin RXD of HC-06
Pin D9 is connected to:
- Pin TXD of HC-06
Pin GND is connected to:
- GND of 16x2 I2C LCD
- GND of HC-06
- GND of HX711
-
- of 9V Battery
Pin 5V is connected to:
- Pin 1 of Resistor
HC-06
Pin VCC is connected to:
- 5V of Arduino UNO
Pin GND is connected to:
- GND of Arduino UNO
Pin RXD is connected to:
- Pin D10 of Arduino UNO
Pin TXD is connected to:
- Pin D9 of Arduino UNO
16x2 I2C LCD
Pin GND is connected to:
- GND of Arduino UNO
Pin VCC is connected to:
- 5V of Arduino UNO
Pin SDA is connected to:
- Pin A4 of Arduino UNO
Pin SCL is connected to:
- Pin A5 of Arduino UNO
HC-SR04 Ultrasonic Sensor
Pin VCC is connected to:
- Pin 2 of Resistor
Pin GND is connected to:
- GND of 16x2 I2C LCD
Pin TRIG is connected to:
- Pin 4 of rp2040 zero
rp2040 zero
Pin 5V is connected to:
- Pin VCC of HC-06
Pin GND is connected to:
- GND of HC-06
Pin 2 is connected to:
- Pin 1 of Resistor
Pin 3 is connected to:
- Pin 2 of Resistor
Pin 4 is connected to:
- Pin TRIG of HC-SR04 Ultrasonic Sensor
Pin 15 is connected to:
- Pin TXD of HC-06
Pin 14 is connected to:
- Pin RXD of HC-06
9V Battery
Pin + is connected to:
- Pin 1 of Resistor
Pin - is connected to:
- GND of Arduino UNO
5V Battery
Pin + is connected to:
- Pin VCC of HC-06
Pin - is connected to:
- GND of HC-06
Code Documentation
/*
* Arduino Sketch for interfacing with HX711, HC-06, and 16x2 I2C LCD
* - Reads weight data from load cells via HX711
* - Displays weight on 16x2 I2C LCD
* - Sends weight data via HC-06 Bluetooth module
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <HX711.h>
// Pin definitions
const int LOADCELL_DOUT_PIN = 3;
const int LOADCELL_SCK_PIN = 2;
const int BLUETOOTH_TX_PIN = 9;
const int BLUETOOTH_RX_PIN = 10;
// HX711 initialization
HX711 scale;
// LCD initialization
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Initialize serial communication for Bluetooth
Serial.begin(9600);
// Initialize HX711
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
// Initialize LCD
lcd.begin(16, 2); // Corrected line
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Weight: ");
}
void loop() {
// Read weight from HX711
float weight = scale.get_units(10);
// Display weight on LCD
lcd.setCursor(0, 1);
lcd.print(weight);
lcd.print(" kg");
// Send weight data via Bluetooth
Serial.print("Weight: ");