Arduino Indonesia akan berbagi tentang Cara Mengakses dan Pemrograman Sensor Berat (Load Cell) Menggunakan Arduino Uno. Sebagai langkah awal, buat mekanis dudukan untuk load cell dan penampang untuk benda yang akan di ukur beratnya seperti gambar dibawah ini :
Baca Juga : Sensor Berat (Load Cell) .
Pada proyek ini Arduino akan membaca berat suatu benda dengan menggunakan sensor load cell. Output dari load cell akan dikuatkan dahulu melalui modul HX711. Hasil akhir dari contoh proyek ini adalah berat yang terukur dalam satuan kilogram akan ditampilkan pada Serial Monitor.
Berikut ini adalah Schematics Diagram dari Sensor Berat (Load Cell) Menggunakan Arduino Uno :
Berikut ini adalah Hardware yang dibutuhkan :
1. Arduino Uno R3 >>> BELI DISINI
2. Sensor Berat (Load Cell) >>> BELI DISINI
3. Modul HX711 >>> BELI DISINI
4. Kabel Jumper Secukupnya >>> BELI DISINI
Pada proyek ini terdapat dua program terkait pemrograman yang harus dibuat yaitu program untuk kalibrasi terkait pembacaan berat dari sensor load cell dan program untuk membaca berat benda. Namun, sebelum kita melangkah pada bagian pemrograman yang ada silahkan untuk Download Library HX711 >>> KLIK DISINI.
Setelah berhasil melakukan instalasi library HX711, maka langkah selanjutnya adalah membuat program kalibrasi untuk mencocokkan input dengan output sensor.
Berikut ini adalah Code Programnya :
/***************************
Cara Mengakses dan Pemrograman Sensor Berat (Load Cell) Menggunakan Arduino Uno
Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com
Copyright @2020
****************************/
#include "HX711.h"
HX711 scale(3, 2);
float calibration_factor = 1000; // this calibration factor is adjusted according to my load cell
float units;
float ounces;
void setup()
{
Serial.begin(9600);
Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
Serial.println("After readings begin, place known weight on scale");
Serial.println("Press + or a to increase calibration factor");
Serial.println("Press - or z to decrease calibration factor");
scale.set_scale();
scale.tare(); //Reset the scale to 0
long zero_factor = scale.read_average(); //Get a baseline reading
Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
Serial.println(zero_factor);
}
void loop()
{
scale.set_scale(calibration_factor); //Adjust to this calibration factor
Serial.print("Reading: ");
units = scale.get_units(), 1;
if (units < 0)
{
units = 0.00;
}
Serial.print(units);
Serial.print(" gram");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();
delay(1000);
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 50;
else if(temp == '-' || temp == 'z')
calibration_factor -= 50;
}
}
Setelah membuat program dan memahami setiap barisnya, maka langkah selanjutnya compile sketch yang telah dibuat dan upload program tersebut ke Arduino. Setelah proses upload selesai, buka serial monitor pada Arduino IDE sehingga nilai terkait berat yang terbaca dapat terlihat.
Untuk melakukan proses kalibrasi, jangan tempatkan benda apapun diatas penampang sensor. Perhatikan nilai berat yang tampil pada Serial Monitor Arduino IDE, kemudian sesuaikan nilai berat tersebut dengan cara mengatur nilai dari variabel sampai nilai berat yang tampil pada Serial Monitor Arduino IDE mencapai 0 gram.
Selain cara diatas, proses kalibrasi dapat dilakukan dengan cara menempatkan benda yang sudah kita ketahui beratnya diatas penampang sensor. Kemudian, perhatikan nilai berat yang tampil pada Serial Monitor Arduino IDE, lalu sesuaikan nilai dari berat tersebut dengan cara mengatur nilai dari variabel sampai nilai berat yang tampil pada Serial Monitor Arduino IDE sesuai dengan berat benda aktual yang sudah kita ketahui.
Untuk melakukan pengukuran Berat, Berikut ini adalah Code Programnya :
/***************************
Cara Mengakses dan Pemrograman Sensor Berat (Load Cell) Menggunakan Arduino Uno
Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com
Copyright @2020
****************************/
#include "HX711.h"
#define DOUT 3
#define CLK 2
HX711 scale;
float calibration_factor = -2380; //Hasil Kalibrasi
float units;
void setup()
{
Serial.begin(9600);
scale.begin(DOUT, CLK);
scale.set_scale();
scale.tare(); //Reset the scale to 0
long zero_factor = scale.read_average(); //Get a baseline reading
Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
Serial.println(zero_factor);
}
void loop()
{
scale.set_scale(calibration_factor); //Adjust to this calibration factor
Serial.print("Reading: ");
units = scale.get_units(), 1;
if (units < 0)
{
units = 0.00;
}
Serial.print("Berat: ");
Serial.print(units);
Serial.print(" Gram");
Serial.println();
delay(1000);
}
Setelah Program diatas di upload, silahkan buka Serial Monitor. Maka, akan tampil hasil Kondisi yang di inginkan.
Baca juga : Cara Menerapkan Machine Learning dalam Proyek Data Science
Algoritma perhitungannya gimana?
BalasHapuspak,kalo untuk merubah satuan berat dari gram ke kg bagaimana caranya ? trims
BalasHapustinggal di kali aja, keluarannya dari gram jadi kg dan hasil printnya di ganti juga dari "gram" jadi "kg"
Hapusmaaf kak mau tanya, untuk program pada bagian float calibtration factor = -2380, cara padat nilai ini gimana ya kak?
BalasHapusmohon bimbingan nya .. untuk hold reading hx711 gimana ya mas ...
BalasHapus