Assalamu’alaikum sobat arduino :thanks2 kali ini kita akan belajar bersama lagi, kali ini kita akan coba mengakses module sensor berat hx711 menggunakan arduino. seperti apa module hx711 itu? berikut penampakannya

module hx711 ini berfungsi sebagai amplifier / penguat hasil pembacaan sensor berat / loadcell, untuk sensor berat / loadcell yang dapat kita gunakan dan mudah ditemui di pasaran indonesia adalah seperti berikut

oke langsung saja kita mulai belajarnya, pertama siapkan bahannya dulu, yaitu :
- Arduino Uno
- Module amplifier sensor berat hx711
- sensor berat /loadcell
Setelah semua bahan siap selanjutnya buar rangkaian seperti wiring dibawah ini :

setelah wiring selesai dibuat, install library “HX711” yang bisa di download disini, dan cara install librarynya bisa dibaca disini Cara Memasukan / Menambahkan Library di Arduino IDE
Setelah library siap, sekarang coba upload sketch berikut ini ke arduino kalian :
#include "HX711.h" //memasukan library HX711
#define DOUT 3 //mendefinisikan pin arduino yang terhubung dengan pin DT module HX711
#define CLK 2 //mendefinisikan pin arduino yang terhubung dengan pin SCK module HX711
HX711 scale(DOUT, CLK);
float calibration_factor = 7050; //nilai kalibrasi awal
void setup() {
Serial.begin(9600);
Serial.println("Memulai program kalibrasi pada sensor berat");
Serial.println("Pastikan tidak ada beban diatas sensor");
delay(5000);
scale.set_scale();
scale.tare(); // auto zero / mengenolkan pembacaan berat
long zero_factor = scale.read_average(); //membaca nilai output sensor saat tidak ada beban
Serial.print("Zero factor: ");
Serial.println(zero_factor);
}
void loop() {
scale.set_scale(calibration_factor); //sesuaikan hasil pembacaan dengan nilai kalibrasi
Serial.print("Berat: ");
Serial.print(scale.get_units(), 1);
Serial.print(" kg");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 10;
else if(temp == '-' || temp == 'z')
calibration_factor -= 10;
}
}
koding diatas adalah coding untuk mendapatkan nilai kalibrasi, hah?kalibrasi? iya kalibrasi, kita memerlukan kalibrasi agar berat yang terukur oleh sensor sesuai dengan berat yang diukur sesungguhnya, pada saat pertama kali upload mungkin nilai berat terukur yang tampil di serial monitor tidak sesuai dengan berat barang asli yang diukur. untuk itu kita perlu mengirimkan karakter “-” / “z” atau “+”/”a” untuk menyesuaikannya agar sesuai. jika pembacaan sensor sudah sesuai catat nilai calibration factor yang tampil di serial monitor. lalu kita masukan nilai calibration factor di coding berikut ini:
#include "HX711.h" //memasukan library HX711
#define DOUT 3 //mendefinisikan pin arduino yang terhubung dengan pin DT module HX711
#define CLK 2 //mendefinisikan pin arduino yang terhubung dengan pin SCK module HX711
HX711 scale(DOUT, CLK);
float calibration_factor = 7050; //nilai kalibrasi ( sesuaikan dari hasil nilai percobaan program sebelumnya
void setup() {
Serial.begin(9600);
Serial.println("Memulai program kalibrasi pada sensor berat");
Serial.println("Pastikan tidak ada beban diatas sensor");
delay(5000);
scale.set_scale();
scale.tare(); // auto zero / mengenolkan pembacaan berat
long zero_factor = scale.read_average(); //membaca nilai output sensor saat tidak ada beban
Serial.print("Zero factor: ");
Serial.println(zero_factor);
}
void loop() {
scale.set_scale(calibration_factor); //sesuaikan hasil pembacaan dengan nilai kalibrasi
Serial.print("Berat: ");
Serial.print(scale.get_units(), 1);
Serial.println(" kg");
}
setelah koding tersebut diupload buka serial monitor lagi dan lihat hasil pembacaan sensor berat, jika hasil tidak sesuai dengan berat aslinya semisal berat barang sebenarnya 1kg dan yang terukur sensor berat menunjukan hasil 1.1kg berarti nilai calibrartion_factor yang kita masukan tadi tidak sesuai, maka kita perlu menyesuaikannya sampai didapatkan hasil pengukuran yang tepat.
cukup sekian tutorial kali ini, semoga bermanfaat, jika ada yang kurang jelas bisa disampaikan di kolom komentar, terima kasih wassalamu’alaikum.
Cronyos Everything About Knowledge
exit status 1
no matching function for call to ‘HX711::HX711(const uint8_t&, const uint8_t&)’
minta solusinya gan..?
Mas kenapa di serial monitor saya tidak mau 0 kg yaa, terus klo di kasih beban hasilnya minus
zero factornya sdh disesuaikan mas?
Mas, kalo misalkan saya make loadcell dan servo. nah servo akan menutup jika loadcell sudah mendeteksi berat yang diinginkan misal 2 kg, itu perintah (kodingan) yang dimasukkan apa ya?
mas saya mau nanya, kok punya saya di kalibrasi ga mau 0kg, nilai hasil serial monitor nya selalu -150.2 , padahal sudah sya tambah dan kurangin tapi hasil nya selalu segitu, minta msukan nya mas
coba cek wiringnya mas
Mas kenapa #include “HX711” nya dalam tanda petik, kenapa tidak dalam tanda kurung
ada beberapa cara penulisan library mas, bisa tanda petik, bisa pakai kurung panah
Mas admin ini kok saya pas kalibrasi kga keluar nilainya yah ? apa harus dikasih bebas apa emgn hx711 punya saya yang rusak ? soalnya saya coba di program lain pas tangan saya mendekati hx711 malah ada nilai acak2. tolong mas admin pencerahannya . makasih
coba cek wiringnya mas. harusnya dia nggak ngacak