Cara Mudah Program Sensor Berat Load Cell HX711 dengan Arduino (Satuan Gram)

Kita akan mencoba menggunakan Sensor Berat LoadCell dengan HX711. Yang mana satuannya adalah Gram. Kebanyakan di luar sana Tutorialnya menggunakan Float dengan satuan Kilo Gram. Nah bagi yang mau berbeda boleh di coba nih.

1. Desain Pemasangan Load Cell HX711

Untuk pemasangan silahkan kamu bisa melihat referensi gambar dibawah ini:

2. Rangkaian Arduino Loadcell HX711

Untuk rangkaian silahkan gunakan gambar dibawah ini:

ArduinoHX711
5V5V
GNDGND
A0DT
A1SCK

3. Add Library HX711 ke Arduino IDE

Kita akan menggunakan library HX711_Master.zip, yang bisa kamu Download di bawah ini:

Jika sudah di Download silahkan di Add ke Arduino IDE. Bagi yang belum tau, bagaimana cara ADD Library ke Arduino?. Silahkan gunakan tutorial dibawah ini:

Bagaimana Cara Memasukan Library Ke Aplikasi Arduino IDE?

4. Kalibrasi Load Cell HX711

Langkah selanjutnya adalah harus kalibrasi. Tujuan kalibrasi disini untuk menentukan ukuran gram nya sesuai. Silahkan gunakan koding dibawah ini:

#include "HX711.h"
#define DOUT  A0
#define CLK  A1
HX711 scale(DOUT, CLK);
float calibration_factor = 650;
int GRAM;

void setup() {
  Serial.begin(9600);
  Serial.println("tekan a,s,d,f untuk menaikan calibration_factor ke 10,100,1000,10000");
  Serial.println("tekan z,x,c,v untuk menurunkan calibration_factor ke 10,100,1000,10000");
  Serial.println("Tekan T untuk Tare");
  scale.set_scale();
  scale.tare();
  long zero_factor = scale.read_average();
  Serial.print("Zero factor: ");
  Serial.println(zero_factor);
  delay(1000);
}

void loop() {
  scale.set_scale(calibration_factor);
  GRAM = scale.get_units(), 4;
  Serial.print("Reading: ");
  Serial.print(GRAM);
  Serial.print(" Gram");
  Serial.print(" calibration_factor: ");
  Serial.print(calibration_factor);
  Serial.println();

  if (Serial.available()) {
    char temp = Serial.read();
    if (temp == '+' || temp == 'a')
      calibration_factor += 0.1;
    else if (temp == '-' || temp == 'z')
      calibration_factor -= 0.1;
    else if (temp == 's')
      calibration_factor += 10;
    else if (temp == 'x')
      calibration_factor -= 10;
    else if (temp == 'd')
      calibration_factor += 100;
    else if (temp == 'c')
      calibration_factor -= 100;
    else if (temp == 'f')
      calibration_factor += 1000;
    else if (temp == 'v')
      calibration_factor -= 1000;
    else if (temp == 't')
      scale.tare();
  }
}

Silahkan Upload programnya. Kemudian buka Serial Monitor. Nah disini kamu harus siapkan beban yang kamu tau ukuran beratnya. Misalkan kamu pake Batu yang beratnya 300 gram. Nah tinggal kamu simpan batunya. Kemudian cek di Serial Monitor.

Jika ternyata beratnya kurang atau lebih dari 300 gram. Kamu tinggal turunkan atau naikan Calibration Factor nya dengan mengirim a,s,d,f atau z,x,c,v lalu Send. Jika sudah pas, simpan nilai Calibration Factor nya.

5. Membaca Nilai Load Cel HX711

Oke sekarang waktunya untuk membaca nilai dari Load Cell. Untuk membaca beratnya. Silahkan gunakan koding dibawah ini:

#include "HX711.h"
#define DOUT  A0
#define CLK  A1
HX711 scale(DOUT, CLK);
float calibration_factor = 344.10;
int GRAM;

void setup() {
  Serial.begin(9600);
  scale.set_scale();
  scale.tare();
}

void loop() {
  scale.set_scale(calibration_factor);
  GRAM = scale.get_units(), 4;
  Serial.println(GRAM);
}

CATATAN: pada koding float calibration_factor = 344.10; silahkan ganti angka 344.10 dengan nilai yang sudah kamu dapatkan saat kalibrasi tadi.

KelasRobot.com

Selamat Mencoba

Saya adalah seorang pengulik yang tertarik dalam bidang Microcontroller, Internet of Things (IoT), dan Artificial Intelligence (AI). Saya terus belajar dan mengembangkan pengetahuan serta keterampilan saya di dalam ketiga bidang tersebut dengan harapan dapat menciptakan solusi inovatif yang bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

You might also like
Enable Notifications OK No thanks