Menggunakan Sensor Berat Loadcell dengan ESP32

Loadcell adalah sensor yang digunakan untuk mengukur berat atau tekanan. Sensor ini banyak digunakan dalam berbagai aplikasi seperti timbangan digital dan pengukuran berat pada sistem industri. Prinsip kerja Loadcell berdasarkan pada perubahan resistansi yang terjadi akibat tekanan atau beban yang diberikan pada sensor.

Komponen yang Dibutuhkan

  1. ESP32: Mikrokontroler yang memiliki kemampuan Wi-Fi dan Bluetooth.
  2. HX711: Modul penguat sinyal untuk Loadcell yang digunakan untuk membaca sinyal analog dari sensor Loadcell dan mengubahnya menjadi sinyal digital yang bisa dibaca oleh mikrokontroler.
  3. Loadcell: Sensor berat yang akan dihubungkan ke HX711.

Koneksi Hardware

  • LOADCELL_DOUT_PIN (DT): Pin data yang mengirimkan sinyal dari Loadcell ke HX711.
  • LOADCELL_SCK_PIN (SCK): Pin clock yang digunakan untuk menyinkronkan data antara HX711 dan mikrokontroler.
  • HX711: Modul ini memiliki dua pin utama, yaitu DT (data) dan SCK (clock), yang harus dihubungkan ke pin ESP32.

Kode Program

Berikut adalah contoh kode untuk membaca nilai berat menggunakan sensor Loadcell dengan ESP32.

#include "HX711.h"

// Pin connection
const int LOADCELL_DOUT_PIN = 34; // DT pin on HX711
const int LOADCELL_SCK_PIN = 35;  // SCK pin on HX711

HX711 scale;

void setup() {
  Serial.begin(115200);
  
  // Initialize HX711
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  
  Serial.println("Loadcell Initialization...");
  delay(1000);
  
  // Set calibration factor (adjust this value according to your Loadcell)
  scale.set_scale(2280.f); // Ganti dengan nilai kalibrasi sesuai load cell kamu
  scale.tare(); // Reset skala ke 0
  Serial.println("Calibration done.");
}

void loop() {
  // Membaca nilai berat dari Loadcell
  float weight = scale.get_units(10); // Rata-rata dari 10 pembacaan
  Serial.print("Weight: ");
  Serial.print(weight);
  Serial.println(" kg");
  
  delay(1000); // Delay 1 detik antara pembacaan
}

Penjelasan Kode

  1. Inisialisasi HX711:
    • Pin data (DT) dan clock (SCK) dari HX711 dihubungkan ke pin ESP32 yang sesuai (dalam contoh ini adalah pin 34 dan 35).
    • Pada setup(), kita menginisialisasi HX711 dan memastikan bahwa serial monitor dimulai dengan baud rate 115200.
  2. Kalibrasi dan Tare:
    • Kalibrasi dilakukan dengan set_scale(), yang menggunakan faktor kalibrasi (nilai 2280.f dalam contoh ini bisa disesuaikan dengan Loadcell yang digunakan).
    • Fungsi tare() digunakan untuk menyetel skala ke 0 sebelum pengukuran.
  3. Pembacaan Berat:
    • Fungsi get_units(10) digunakan untuk mendapatkan pembacaan rata-rata dari 10 pembacaan. Nilai berat yang diperoleh kemudian dicetak di serial monitor.

Proses Kalibrasi

Setiap Loadcell memiliki karakteristik yang berbeda, sehingga Anda perlu mengkalibrasi sistem Anda agar pembacaan berat yang diperoleh akurat. Kalibrasi dilakukan dengan mengubah faktor skala menggunakan metode eksperimen, yaitu menggunakan benda dengan berat yang diketahui dan menyesuaikan nilai hingga pembacaan dari Loadcell sesuai dengan nilai berat yang diketahui.

Output

Program ini akan menampilkan hasil pembacaan berat di serial monitor setiap detik. Berikut adalah contoh output yang akan ditampilkan:

Loadcell Initialization...
Calibration done.
Weight: 5.62 kg
Weight: 5.63 kg
Weight: 5.64 kg

Penyempurnaan

  • Komunikasi Wi-Fi: Anda dapat mengembangkan sistem ini lebih lanjut dengan menghubungkan ESP32 ke jaringan Wi-Fi dan mengirimkan hasil pembacaan ke server menggunakan protokol HTTP atau MQTT.
  • Penggunaan LCD: Hasil pembacaan berat dapat ditampilkan pada layar LCD untuk aplikasi yang lebih praktis.

Kesimpulan

Menggunakan ESP32 dengan sensor Loadcell memungkinkan Anda untuk membuat sistem timbangan digital dengan pengukuran yang akurat dan hasil yang dapat diakses secara real-time. Dengan memanfaatkan HX711 sebagai penguat sinyal, kita dapat membaca berat dengan presisi yang tinggi dan mengintegrasikan sistem ini ke dalam berbagai aplikasi.

Kalau ingin menghubungi lebih lanjut bisa hubungi nomor dibawah:

By Ilham

Mau Konsultasi & Diskusi ?