Anda di halaman 1dari 15

PENGUKURAN BERAT ARDUINO MENGGUNAKAN

LOAD CELL DAN MODUL HX711

Pengukuran Berat Arduino menggunakan Load Cell dan Modul HX711

Hari ini kita akan membangun mesin berat Arduino , dengan menghubungkan Load Cell

dan Sensor Berat HX711 dengan Arduino . Kami telah melihat mesin angkat beban di

banyak toko, di mana mesin tersebut menampilkan berat hanya dengan meletakkan suatu

barang di platform penimbangan. Jadi disini kami sedang membangun mesin Penimbangan

yang sama dengan menggunakan Arduino dan Load cell , yang memiliki kapasitas

pengukuran hingga 40kg. Batasan ini dapat ditingkatkan lebih lanjut dengan menggunakan

Load cell berkapasitas lebih tinggi.

Komponen utama yang dibutuhkan untuk membangun timbangan Arduino ini adalah

sebuah sensor yang dapat mengubah berat menjadi sinyal listrik yang setara. Sensor ini

disebut load cell, jadi dalam proyek ini kita akan menggunakan load cell ini sebagai sensor

berat Arduino kita . Kami juga telah menggunakan sel beban yang sama di beberapa proyek
lain seperti, seperti Mesin Penimbangan Ritel Arduino Portabel , Timbangan Raspberry

pi, dll, Anda juga dapat memeriksanya jika tertarik.


Komponen yang Diperlukan untuk membuat Skala Berat
Arduino:

 Arduino Uno

 Sel beban (40kg)

 Modul Penguat Sel Beban HX711

 LCD 16x2

 Menghubungkan kabel

 kabel USB

 Papan tempat memotong roti

 Baut mur, Rangka, dan alas

Modul Sensor Berat Load Cell dan HX711:


Load cell adalah transduser yang mengubah gaya atau tekanan menjadi keluaran

listrik . Besarnya keluaran listrik ini berbanding lurus dengan gaya yang diterapkan. Sel

beban memiliki pengukur regangan, yang berubah bentuk ketika tekanan diterapkan padanya.

Dan kemudian pengukur regangan menghasilkan sinyal listrik pada deformasi seiring

perubahan resistansi efektif pada deformasi. Sebuah sel beban biasanya terdiri dari empat

pengukur regangan dalam konfigurasi jembatan Wheatstone. Load cell hadir dalam berbagai

rentang seperti 5kg, 10kg, 100kg dan lainnya, disini kami menggunakan Load cell yang

beratnya bisa mencapai 40kg.


Sekarang sinyal listrik yang dihasilkan oleh Load cell hanya dalam beberapa milivolt,

sehingga sinyal tersebut perlu diperkuat lebih lanjut oleh beberapa amplifier dan karenanya

Sensor Penimbangan HX711 muncul. Modul Sensor Berat HX711 memiliki chip HX711,
yang merupakan 24 konverter A/D presisi tinggi ( Konverter analog ke digital ). HX711

memiliki dua saluran input analog dan kita bisa mendapatkan penguatan hingga 128 dengan

memprogram saluran ini. Jadi modul HX711 memperkuat output listrik rendah dari Load

cell dan kemudian sinyal yang diperkuat & dikonversi secara digital ini dimasukkan ke

Arduino untuk mendapatkan bobotnya.


Load cell dihubungkan dengan Load cell Amplifier HX711 menggunakan empat kabel.

Keempat kabel tersebut berwarna Merah, Hitam, Putih, dan Hijau/Biru. Mungkin ada sedikit

perbedaan warna kabel dari modul ke modul. Di bawah rincian koneksi dan diagram:

 Kabel MERAH terhubung ke E+

 Kabel HITAM terhubung ke E-

 Kawat PUTIH dihubungkan ke A-

 Kawat HIJAU terhubung ke A+

Memperbaiki Load Cell dengan Platform dan Basis:

Langkah ini opsional dan Anda dapat langsung meletakkan beban pada Load cell tanpa

Platform dan cukup menjepitnya tanpa memasangnya dengan alas apa pun, namun lebih baik

memasang platform untuk meletakkan benda-benda besar di atasnya dan memasangnya pada

Alas sehingga terhenti. Jadi disini kita perlu membuat bingkai atau platform untuk

meletakkan benda-benda untuk mengukur berat badan . Basis juga diperlukan untuk

memasang sel beban di atasnya dengan menggunakan mur dan baut. Di sini kami

menggunakan karton keras sebagai bingkai untuk meletakkan benda di atasnya dan papan

kayu sebagai alasnya. Sekarang lakukan koneksi seperti yang ditunjukkan pada diagram

sirkuit dan Anda siap berangkat.


Penjelasan Sirkuit:
Koneksi untuk proyek ini mudah dan skemanya diberikan di bawah ini. Pin LCD 16x2 RS,

EN, d4, d5, d6, dan d7 masing-masing dihubungkan dengan pin nomor 8, 9, 10, 11, 12, dan

13 Arduino. Pin DT dan SCK Modul HX711 terhubung langsung dengan pin Arduino A0 dan

A1. Koneksi load cell dengan modul HX711 telah dijelaskan sebelumnya dan juga

ditunjukkan pada diagram rangkaian di bawah ini.


Penjelasan Kerja:
Prinsip kerja proyek Pengukuran Berat Arduino ini mudah. Sebelum masuk ke detailnya,

pertama-tama kita harus mengkalibrasi sistem ini untuk mengukur berat yang benar. Ketika

pengguna menyalakannya, sistem akan secara otomatis mulai mengkalibrasi. Dan jika

pengguna ingin mengkalibrasi secara manual maka tekan tombol push. Kami telah membuat

fungsi void calibrate() untuk keperluan kalibrasi, periksa kode di bawah ini.

Untuk kalibrasi , tunggu indikasi LCD untuk meletakkan 100 gram di atas load cell seperti

terlihat pada gambar di bawah ini. Ketika LCD menunjukkan “letakkan 100g” lalu letakkan

beban 100g di atas sel beban dan tunggu. Setelah beberapa detik proses kalibrasi akan selesai.

Setelah kalibrasi, pengguna dapat meletakkan beban berapa pun (maks 40kg) di atas sel

beban dan bisa mendapatkan nilai di atas LCD dalam gram.


Dalam proyek ini, kami telah menggunakan Arduino untuk mengontrol seluruh proses. Sel

beban mendeteksi berat dan menyuplai tegangan analog listrik ke Modul Penguat Beban

HX711 . HX711 adalah ADC 24bit, yang memperkuat dan mengkonversi output Load cell

secara digital. Kemudian nilai yang diperkuat ini diumpankan ke Arduino. Sekarang Arduino

menghitung output HX711 dan mengubahnya menjadi nilai bobot dalam gram dan

menampilkannya di LCD. Tombol tekan digunakan untuk mengkalibrasi sistem. Kami telah

menulis program Arduino untuk keseluruhan proses, periksa Kode dan Video demo di akhir

tutorial ini.

Kode Timbangan Arduino:


Bagian pemrograman dari proyek ini sedikit rumit untuk pemula. Dalam proyek ini, kami

tidak menggunakan perpustakaan apa pun untuk menghubungkan sensor beban HX711

dengan Arduino . Kami baru saja mengikuti lembar data HX711 dan catatan aplikasi.

Meskipun ada beberapa perpustakaan yang hadir untuk tujuan ini, di mana Anda hanya perlu

menyertakan perpustakaan itu dan Anda bisa mendapatkan bobotnya menggunakan satu baris

kode.

Pertama-tama, kami telah menyertakan file header untuk LCD dan menentukan pinnya. Dan

untuk tombol tekan juga. Kemudian mendeklarasikan beberapa variabel untuk tujuan

perhitungan.
#termasuk <LiquidCrystal.h>
LCD Kristal Cair(8, 9, 10, 11, 12, 13);

#definisikan DT A0
#definisikan SCK A1
#definisikan sw 2

sampel panjang=0;
mengambang val=0;
hitungan panjang=0;

Setelah itu, kita telah membuat fungsi di bawah ini untuk membaca data dari modul HX711

dan mengembalikan outputnya.

readCount panjang yang tidak ditandatangani (batal)


{
hitungan panjang yang tidak ditandatangani;
karakter i yang tidak ditandatangani;
pinMode(DT, KELUARAN);
digitalWrite(DT,TINGGI);
digitalWrite(SCK,RENDAH);
Hitung=0;
pinMode(DT, MASUKAN);
while(digitalBaca(DT));
untuk (i=0;i<24;i++)
{
digitalWrite(SCK,TINGGI);
Hitung=Hitung<<1;
digitalWrite(SCK,RENDAH);
jika(digitalBaca(DT))
Hitung++;
}
digitalWrite(SCK,TINGGI);
Hitung=Hitungan^0x800000;
digitalWrite(SCK,RENDAH);
kembali(Hitung);
}

Setelah itu, kita menginisialisasi LCD dan memberikan arahan ke pin input dan output

di void setup().

batalkan pengaturan()
{
Serial.mulai(9600);
pinMode(SCK, KELUARAN);
pinMode(sw, INPUT_PULLUP);
lcd.mulai(16, 2);
lcd.print("Berat");
lcd.setCursor(0,1);
lcd.print("Pengukuran");
penundaan(1000);
lcd.hapus();
menyesuaikan();
}

Selanjutnya pada fungsi void loop() , kita telah membaca data dari modul HX711 dan

mengubah data tersebut menjadi berat (gram) dan mengirimkannya ke LCD.

lingkaran kosong()
{
hitungan= bacaHitungan();
int w=(((hitungan sampel)/val)-2*((hitungan sampel)/val));
Serial.print("berat:");
Serial.cetak((int)w);
Serial.println("g");
lcd.setCursor(0,0);
lcd.print("Berat");
lcd.setCursor(0,1);
lcd.cetak(w);
lcd.cetak("g ");
jika(digitalBaca(sw)==0)
{
val=0;
sampel=0;
w=0;
hitungan=0;
menyesuaikan();
}
}

Sebelumnya, kami telah membuat fungsi kalibrasi di mana kami telah mengkalibrasi sistem

dengan menempatkan beban 100 gram di atas Load cell.

batalkan kalibrasi()
{
lcd.hapus();
lcd.print("Mengkalibrasi...");
lcd.setCursor(0,1);
lcd.print("Mohon Tunggu...");
untuk(int i=0;i<100;i++)
{
hitungan=bacaHitungan();
sampel+=hitungan;
Serial.println(hitungan);
}
..... ....
..... .....
Jadi di sini kita telah mempelajari dasar Interfacing Load cell dan Sensor Berat HX11

dengan Arduino untuk mengukur beban. Dalam tutorial teks kami, kami akan membuat

beberapa aplikasi berdasarkan pengukuran berat seperti Smart container, Gerbang otomatis,

dll.

Kode
#termasuk <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

#definisikan DT A0

#definisikan SCK A1

#definisikan sw 2

sampel panjang=0;

mengambang val=0;

hitungan panjang=0;

unsigned long readCount(void)

unsigned long Hitungan;

karakter i yang tidak ditandatangani;

pinMode(DT, KELUARAN);

digitalWrite(DT,TINGGI);
digitalWrite(SCK,RENDAH);

Hitung=0;

pinMode(DT, MASUKAN);

while(digitalBaca(DT));

untuk (i=0;i<24;i++)

digitalWrite(SCK,TINGGI);

Hitung=Hitung<<1;

digitalWrite(SCK,RENDAH);

if(digitalRead(DT))

Hitung++;

digitalWrite(SCK,TINGGI);

Hitung=Hitungan^0x800000;

digitalWrite(SCK,RENDAH);

kembali(Hitung);

batal pengaturan()

Serial.begin(9600);

pinMode(SCK, KELUARAN);

pinMode(sw, INPUT_PULLUP);

lcd.mulai(16, 2);

lcd.print("Berat");

lcd.setCursor(0,1);

lcd.print("Pengukuran");

penundaan(1000);
lcd.hapus();

menyesuaikan();

batal loop()

hitungan= readCount();

int w=(((hitungan sampel)/val)-2*((hitungan sampel)/val));

Serial.print("berat:");

Serial.cetak((int)w);

Serial.println("g");

lcd.setCursor(0,0);

lcd.print("Berat");

lcd.setCursor(0,1);

lcd.cetak(w);

lcd.cetak("g ");

if(digitalRead(sw)==0)

val=0;

sampel=0;

w=0;

hitungan=0;

menyesuaikan();

batalkan kalibrasi()

lcd.clear();
lcd.print("Mengkalibrasi...");

lcd.setCursor(0,1);

lcd.print("Mohon Tunggu...");

untuk(int i=0;i<100;i++)

hitungan=readCount();

sampel+=hitungan;

Serial.println(hitungan);

sampel/=100;

Serial.print("Rata-rata:");

Serial.println(contoh);

lcd.hapus();

lcd.print("Masukkan 100g & tunggu");

hitungan=0;

while(hitungan<1000)

hitungan=readCount();

count=jumlah sampel;

Serial.println(hitungan);

lcd.hapus();

lcd.print("Mohon Tunggu....");

penundaan (2000);

untuk(int i=0;i<100;i++)

hitungan=readCount();
val+=jumlah sampel;

Serial.println(jumlah sampel);

val=val/100.0;

val=val/100.0; // letakkan di sini bobot kalibrasi Anda

lcd.clear();

Anda mungkin juga menyukai