Anda di halaman 1dari 6

Skip to content

NYEBARILMU
smart home devices, electronics project, prototype health devices, technology automation,
tutorial microcontroller,

Mobile Menu

Cara membuat timbangan digital dengan Load Cell


On 8 June 2020 In Arduino Projects Tutorial, Sensor Arduino Leave a comment 

Timbangan digital merupakan alat untuk mengetahui berat suatu benda dengan tampilan digital
misalnya berupa 7segment maupun LCD character. Untuk kali akan dibahas tentang timbangan
digital yang dibuat menggunakan microcontroller arduino dengan sensor load cell.
Penjelasan Singkat
Tipe sensor berat yang banyak digunakan yaitu LoadCell HX711. Biasanya pada saat pembelian
sensor ini disertakan dengan module amplifier yang dapat diakses menggunakan arduino.

Modul HX711 menggunakan 24 chip konverter A / D dengan tingkat kepresisian yang tinggi.


Dirancang khusus untuk desain perangkat elektronik dengan presisi tinggi, dengan dua saluran
input analog dan terintegrasi internal 128 kali gain amplifier yang programmable.
Sirkuit input dapat dikonfigurasikan guna menyediakan sarana untuk tekanan tipe bridge seperti
halnya tekanan, mode sensor penimbangan, dan biaya produksi yang rendah sehingga dapat
dijangkau oleh semua orang.
Spesifikasi dari Module amplifier HX711 :

 Perbedaan tegangan input : ± 40 mV


 Tingkat keakurasian atau resolusi data : 24 bit
 Frekuensi : 10/80 Hz
 Tegangan kerja input : 2.7 Vdc –  5 Vdc
 Arus kerja : <10 mA
 Dimensi module : 24x16mm
 Komunikasi data dengan microcontroller : two wire interface (Clock and Data)

Sensor Load cell berbentuk batang lurus terbuat dari aluminium dan kali yang akan digunakan
mampu membaca kapasitas 5kg. Arti dari kode warna pada kabel pada loadcell :

 Merah = Excitation +
 Hijau = Signal +
 Hitam = Excitation –
 Putih = Signal –

Selain itu, sel-sel beban ini menawarkan peringkat perlindungan IP65 dan memiliki dua lubang
ukuran M5 untuk keperluan pemasangan

Cara memrogram dan menjadikan timbangan digital


Hal yang pertama perlu dipersiapakan yaitu bahan – bahan nya antara lain :

 Arduino Nano
 Sensor LoadCell 5 Kg dan Module Amplifier HX711
 LCD 16×2 dan driver lcd pcf8574
 Kabel jumper
 3d Print support untuk sensor loadcell

Alasan untuk menggunakan arduino nano karena mudah dalam pemrograman dan masih banyak
orang menggunakan ini sebagai kontroler berbagai proyek elektronika.
Wiring Schematic

Untuk 3d Print support sensor loadcell, dapat mengambil dari web thing*iverse seperti yang saya
lakukan ini. Contohnya seperti ini :

File 3d print biasanya berekstensi .stl, dan kalian dapat mengunduhnya di link ini 
Untuk mencetaknya kalian dapat mengunakan jasa 3dprint seperti yang pernah saya lakukan dan
saya cari dengan harga yang murah dengan kualitas oke.
Harga yang saya dapatkan yaitu 1000 rupiah/gram dan itu dapat kalian cari pada toko*pedia
dengan search nama toko seperti gambar dibawah dan ini rekomendasi saya.

Instalasi Library HX711 di arduino IDE


Langkah – langkah untuk installing library HX711 dan driver PCF8574 dengan catatan terhubung
internet :

1. Buka Software arduino uno IDE


2. Pilih dan klik menu sketch -> include libraries -> manage libraries
3. Ketikan “Avia_HX711” pada kolom search
4. Pilih libraries HX711 Arduino Library by Bogdan Necula, Andreas Motl
5. Klik install
6. Selanjutnya ketikan “PCF8574“
7. Pilih “LiquidCrystal_PCF8574 by Matthias Hertel“
8. Klik install dan closed

Untuk komunikasi LCD nya dapat dicek pada artikel sebelumnya

Baca juga :  Cara mengakses sensor AHT10 Sensor Suhu dan kelembaban

Kode Programming Timbangan Digital


Pertama harus mendapatkan nilai Kalibrasi faktor yang digunakan untuk program utama, karena
tiap loadcell memiliki toleransi sendiri.
1  

2  

3 //www.nyebarilmu.com

4 //2020

5 //program kalibrasi timbangan digital dengan loadcell 5kg dan HX711

6  

7 /*

8 Tekan atau a / z untuk menyesuaikan calibration_factor hingga bacaan keluaran sesuai dengan berat yang diketahui

9 Arduino pin 2 -> HX711 CLK

10 Arduino pin 3 -> HX711 DOUT

11 */

12  

13 #include "HX711.h"

14  

15 HX711 scale;
16  

17 float calibration_factor = -400; //Nilai awal perkiraan

18 float units;

19 float ounces;

20  

21 void setup() {

22 Serial.begin(9600);

23 Serial.println("HX711 Kalibrasi");

24 Serial.println("Jangan ada benda apapun diatas load cell"); //ini penting

25  

26 Serial.println("Kemudian letakan benda"); //misalnya batu baterai yang sudah diketahui beratnya

27

28 Serial.println("Tekan + atau a untuk meningkatkan faktor kalibrasi");

29 Serial.println("Tekan - atau z untuk mengurangi faktor kalibrasi");

30 scale.begin(3, 2);

31 scale.set_scale();

32 scale.tare();

33  

34 long zero_factor = scale.read_average();

35 Serial.print("Zero factor: ");

36 Serial.println(zero_factor);

37 }

38  

39 void loop() {

40  

41 scale.set_scale(calibration_factor);

42  

43 Serial.print("Pembacaan : ");

44 units = scale.get_units(), 10;

45 if (units < 0)

46 {

47 units = 0.00;

48 }

49 ounces = units * 0.035274;

50 Serial.print(units);

51 Serial.print(" grams");

52 Serial.print(" calibration_factor: ");

53 Serial.print(calibration_factor);

54 Serial.println();

55
 
56
if(Serial.available())
57
{
58
char temp = Serial.read();
59
if(temp == '+' || temp == 'a')
60
calibration_factor += 1;
61
else if(temp == '-' || temp == 'z')
62
calibration_factor -= 1;
63
}
64
}
65
 

Hasil dari program diatas :

Dan dari program diatas didapat nilai yang mendekati yaitu -375.00 untuk calibration factor.
Program utama
1  

2  

3 #include "HX711.h"

4 #include <LiquidCrystal_PCF8574.h>

5  

6 LiquidCrystal_PCF8574 lcd(0x27);

7  

8 HX711 scale;

9  

10 float kalibrasi_faktor = -375;

11 float benda;

12 float berat;

13  

14 void setup()

15 {

16   Serial.begin(9600);
17   lcd.begin(16, 2);

18   lcd.setBacklight(255);

19   lcd.setCursor(0,0);

20   lcd.print("Timbangan digital");

21   lcd.setCursor(0,1);

22   lcd.print("ala nyebarilmu.com");

23   delay(2000);

24   scale.set_scale(kalibrasi_faktor);

25   scale.tare();

26   Serial.println("Baca berat :");

27   lcd.clear();

28 }

29  

30 void loop()

31 {

32   lcd.setCursor(0,0);

33   lcd.print("Berat benda :");

34   benda = scale.get_units(),10;

35   if (benda < 0) //jika benda terbaca kurang dari nol maka tertampil 0.00 gr

36   {

37     benda = 0.00;

38   }

39   berat = benda * 0.035274;

40   lcd.print(berat);

41   lcd.print(" gram");

42   delay(1000);

43 }

44  

Anda mungkin juga menyukai