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:
Arduino | HX711 |
5V | 5V |
GND | GND |
A0 | DT |
A1 | SCK |
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
Kalo menggunakan unit kilogram. Boleh dicontohkan. Tx
tinggal pake aritmatika saja…
KG = GRAM / 1000;