Cara Buat Penimbang Digital Guna Load Cell & HX711

Illustration of a DIY weighing scale made from two round wooden plates, a silver bar load cell, a green HX711 module and an Arduino Uno weighing an apple

Untuk buat penimbang digital sendiri, anda perlukan empat bahagian: Arduino Uno, bar load cell 5kg, modul penguat HX711 dan dua plat pemasangan. Load cell mengukur berat melalui lenturan — pasang satu hujung pada plat tapak, gantung platform pada hujung yang satu lagi, dan HX711 menukar lenturan halus itu kepada bacaan gram pada Arduino anda.

Macam mana bar load cell sebenarnya mengukur berat?

Bar load cell 5kg ialah bar aluminium padu dengan strain gauge tersembunyi di bawah pelekat pelindung putih. Pegang satu hujung supaya tetap, gantung berat pada hujung yang satu lagi, dan bar itu melentur sehalus rambut — rintangan strain gauge berubah pada kadar yang terlalu kecil untuk dibaca terus oleh pin Arduino. Di situlah penguat masuk.

Modul HX711 ialah ADC 24-bit yang direka khusus untuk penimbang: channel A menguatkan isyarat load cell dengan gain 128 atau 64, ia mengeluarkan 10 atau 80 sampel sesaat bergantung pada pad pateri RATE modul (board seperti ini datang di-set ke 10 — lebih daripada cukup untuk penimbang), dan ia berjalan pada 2.6–5.5V, jadi pin 5V pada Uno boleh kuasakan semuanya.

Macam mana nak pasang load cell supaya bacaan betul?

Kit plat sensor berat ini wujud sebab pemasangan — bukan wiring, bukan kod — ialah tempat kebanyakan projek penimbang jadi tak menjadi. Bar load cell hanya berfungsi kalau ia bebas melentur. Maksudnya, susunan sandwich yang khusus: plat bawah diskru pada satu hujung bar, platform atas diskru pada hujung yang satu lagi, dan spacer kecil dalam kit mengangkat bar jauh daripada kedua-dua plat supaya ada ruang lentur yang jelas kelihatan di atas dan di bawahnya.

Tiga peraturan yang menentukan jadi atau tidaknya projek ini:

  • Satu hujung untuk satu plat. Plat tapak pegang satu hujung, platform tergantung pada hujung yang bertentangan. Kalau kedua-dua hujung dipasang tegar, bar tak boleh melentur — bacaan hampir tak bergerak walau apa pun diletakkan di atas.
  • Kekalkan ruang lentur. Pasang spacer antara bar dengan setiap plat. Bar yang duduk rata atas plat akan terlanggar plat sebelum sempat melentur, jadi bacaan tersekat atau rendah daripada sepatutnya.
  • Ikut arah beban. Kalau bar anda ada anak panah bercetak, ia menunjuk ke arah beban menekan (ke bawah, dari sebelah platform). Membebankan muka atau hujung yang salah bagi nombor yang salah, malah boleh jadi negatif.

Setiap hujung bar ada dua lubang berulir — guna skru countersunk dalam kit pada pasangan lubang yang paling hampir dengan setiap hujung, dengan spacer di antara plat dan bar.

Rajah pecahan pandangan sisi bar load cell yang dipasang antara dua plat bulat dengan spacer mewujudkan ruang lentur
Susunan sandwich: plat tapak pegang satu hujung, platform tergantung pada hujung yang satu lagi, spacer kekalkan ruang lentur terbuka.
Perbandingan pemasangan load cell yang salah lawan betul menunjukkan bar yang diapit tegar dan bar berjarak betul yang boleh melentur
Kiri: kedua-dua hujung diapit tegar tanpa ruang — bar tak boleh melentur. Kanan: satu hujung untuk satu plat dengan spacer — bar melentur dan mengukur.

Macam mana nak sambung load cell ke HX711 dan Arduino Uno?

Board hijau XFW-HX711 ada terminal load cell di satu tepi dan pin Arduino di tepi yang satu lagi. Untuk bar cell jenis ini, konvensyen biasanya merah = excitation+, hitam = excitation−, putih = signal−, hijau = signal+ — tapi kod warna boleh berbeza antara batch, jadi anggap jadual di bawah sebagai titik permulaan, bukan jaminan. Biarkan B− dan B+ kosong — projek ini hanya guna channel A (channel B ada gain tetap yang lebih rendah, iaitu 32).

Wayar load cell Terminal HX711 Maksud
Merah E+ Excitation + (kuasa bridge)
Hitam E− Excitation −
Putih A− Signal − (channel A)
Hijau A+ Signal + (channel A)
Pin HX711 Pin Arduino Uno Nota
VCC 5V Terima 2.6–5.5V; 5V dari Uno memang sesuai.
GND GND Ground sepunya.
DT (DOUT) D2 Data keluar; mana-mana pin digital pun boleh.
SCK D3 Clock; mana-mana pin digital pun boleh.

Dua nota praktikal. Pertama, HX711AG datang dengan jalur header yang masih longgar dalam beg — pateri dulu (atau pateri wayar terus ke board) sebelum percaya mana-mana bacaan, sebab pin longgar ialah punca nombor satu bacaan yang melompat-lompat; panduan cara solder header pin kami ada tunjuk langkahnya. Kedua, kalau warna wayar anda lain, cari pasangannya dengan multimeter: setiap pasangan sebenar (excitation, signal) mengukur lebih kurang rintangan penuh bridge, manakala mana-mana kombinasi bercampur baca kira-kira tiga suku daripada nilai itu. Daripada dua pasangan sebenar itu, yang bacaannya sedikit lebih tinggi ialah pasangan excitation (E+/E−) dan yang lebih rendah ialah pasangan signal (A+/A−) — untuk keluarga bar ini, sebelah input baca sekitar 1115Ω berbanding lebih kurang 1000Ω di sebelah outputpanduan multimeter digital kami tunjuk cara buat semakan rintangan ini. Ada juga varian HX711 berketepatan lebih tinggi untuk ukuran yang lebih halus.

Rajah pendawaian menunjukkan empat wayar load cell masuk ke modul HX711 dan empat wayar dari HX711 ke Arduino Uno
Cell ke HX711 di satu tepi (E+, E−, A−, A+), HX711 ke Uno di tepi yang satu lagi (VCC, GND, DT ke D2, SCK ke D3).

Macam mana nak kalibrasi penimbang dengan berat yang diketahui?

HX711 mengeluarkan kiraan mentah, bukan gram — kalibrasi cuma kerja mencari nombor yang menukar satu kepada yang lagi satu. Pasang library dulu: dalam Arduino IDE buka Sketch → Include Library → Manage Libraries dan cari HX711 Arduino Library oleh Bogdan Necula. Kemudian upload sketch kalibrasi ini:

#include "HX711.h"

const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;

HX711 scale;

void setup() {
  Serial.begin(57600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  Serial.println("Remove all weight. Taring in 3 seconds...");
  delay(3000);
  scale.tare();  // jadikan bacaan semasa (kosong) sebagai sifar
  Serial.println("Done. Now place your known weight on the platform.");
}

void loop() {
  // Purata 10 bacaan, offset tare sudah ditolak
  long raw = scale.get_value(10);
  Serial.print("Raw value: ");
  Serial.println(raw);
  delay(1000);
}

Dengan platform kosong, sketch ini tare (sifarkan) dirinya sendiri. Sekarang letak berat yang anda betul-betul tahu: telefon dengan berat spesifikasi rasmi paling sesuai, atau bungkusan makanan yang belum dibuka (angka bercetak ialah berat bersih, jadi paketnya sebenarnya lebih berat sedikit). Kiraannya satu baris sahaja:

CALIBRATION_FACTOR = nilai raw ÷ berat diketahui dalam gram. Kalau serial monitor tunjuk sekitar 84,000 dengan berat 200g di atas platform, faktor anda lebih kurang 420. Nilai raw yang negatif bermaksud cell atau wiring anda terbalik — kekalkan tanda negatif dalam faktor itu dan penimbang akhir akan baca positif.

Ilustrasi telefon diletakkan di atas penimbang load cell DIY sebagai berat rujukan semasa kalibrasi dengan laptop berdekatan
Kalibrasi dengan berat yang anda betul-betul tahu — telefon dengan berat spesifikasi rasmi lebih baik daripada agakan dapur.

Apa kod Arduino penuh untuk penimbang ini?

Sketch HX711 akhir di bawah ialah abang kepada sketch kalibrasi tadi: tampal faktor anda ke dalam CALIBRATION_FACTOR, upload, dan serial monitor terus jadi paparan penimbang anda. Nak skrin betul nanti? Pendawaian LCD1602 I2C dalam tutorial jam digital Arduino kami boleh terus masuk ke projek ini.

#include "HX711.h"

const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;

// Gantikan dengan nombor daripada kalibrasi ANDA sendiri
const float CALIBRATION_FACTOR = 420.0;

HX711 scale;

void setup() {
  Serial.begin(57600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  scale.set_scale(CALIBRATION_FACTOR);
  Serial.println("Remove all weight. Taring in 3 seconds...");
  delay(3000);
  scale.tare();
  Serial.println("Scale ready.");
}

void loop() {
  if (scale.is_ready()) {
    // Purata 10 bacaan, ditukar kepada gram
    float grams = scale.get_units(10);
    Serial.print("Weight: ");
    Serial.print(grams, 1);
    Serial.println(" g");
  } else {
    Serial.println("HX711 not found - check DT/SCK wiring");
  }
  delay(500);
}

Jangan hairan kalau satu dua gram terakhir bergerak-gerak — bar cell gred hobi memang drift sedikit dengan suhu dan creep sedikit di bawah beban yang berterusan. Tare semula setiap kali mula sesi untuk nombor yang paling konsisten. Bacaan yang melompat liar hampir tak pernah salah chip HX711: puncanya pin header yang longgar, pasangan wayar yang tertukar, atau masalah pemasangan dari bahagian di atas.

Antara permintaan paling kerap dalam chat kami ialah “load cell + HX711 install tutorial video please” — video panduan ini merangkumi sambungan empat wayar, pemasangan dan kalibrasi dari mula sampai habis (bahagian kodnya guna library HX711 yang berbeza — ikut sketch di halaman ini):

Kesilapan biasa yang kami nampak daripada pelanggan sebenar

Beberapa masalah yang sama merangkumi hampir semua soalan pemasangan load cell dan HX711 dalam chat sokongan kami.

  1. Skru bar sampai tegar di kedua-dua hujung. Penimbang hidup, tare, kemudian hampir tak respons pada berat. Bar mesti bebas melentur — satu hujung pada tapak, hujung yang satu lagi pada platform, ruang lentur di antaranya.
  2. Tak pasang spacer. Bar duduk rata atas plat dan terlanggar plat sebelum sempat melentur, jadi bacaan tersangkut jauh sebelum sampai 5kg. Spacer dalam kit plat itu bukan bahan pembungkusan — itulah mekanismenya.
  3. Percaya bulat-bulat pada warna wayar. Pasangan putih/hijau yang tertukar bagi bacaan negatif atau terbalik macam cermin. Tukar pasangan itu di A+ dan A−, atau kekalkan faktor kalibrasi yang negatif.
  4. Guna HX711 dengan header yang belum dipateri. Pin yang cuma bersandar dalam lubang breadboard menghasilkan bacaan melompat yang kemudiannya orang salahkan pada chip.
  5. Kalibrasi dengan berat agakan. Penimbang akan baca secara konsisten — dan konsisten salah. Guna telefon dengan berat spesifikasi rasmi atau rujukan lain yang disahkan.

FAQ

Kenapa bacaan saya negatif?

Sama ada pasangan signal tertukar (putih dan hijau terbalik di A+ dan A−) atau load cell dipasang sehingga beban melenturkannya ke arah yang bertentangan dengan anak panahnya. Tukar dua wayar signal itu, terbalikkan pemasangan, atau guna saja faktor kalibrasi negatif — ketiga-tiganya beri hasil betul yang sama.

Kenapa bacaan drift selepas beberapa minit?

Bar load cell gred hobi memang drift sedikit dengan perubahan suhu dan creep sedikit di bawah beban berterusan — itu normal pada harga begini, bukan kerosakan. Tare sebelum setiap sesi menimbang dan elak biarkan berat duduk atas platform berjam-jam kalau anda perlukan nombor yang boleh diulang.

Boleh tak timbang lebih daripada 5kg dengan load cell ini?

Tak boleh — melepasi rating-nya bar boleh bengkok secara kekal, dan selepas itu ia takkan baca betul lagi. Kalau anda jangka beban lebih berat, guna versi 10kg atau 20kg bar yang sama (ada di halaman produk yang sama) dan kekalkan margin keselamatan di bawah had maksimum.

Perlu ke pateri pin header HX711?

Ya. Jalur header datang belum dipateri dalam beg, dan pin yang longgar dalam lubang buat sentuhan putus-putus yang muncul sebagai bacaan melompat atau beku. Sepuluh minit dengan soldering iron selesaikan terus masalah itu.

Boleh tak tambah paparan LCD ganti serial monitor?

Boleh — LCD1602 dengan backpack I2C hanya perlukan empat wayar (5V, GND, A4, A5) dan membiarkan D2 dan D3 bebas untuk HX711. Pastikan penimbang jalan elok pada serial monitor dulu, kemudian pindahkan print statement ke LCD.

Kemas kini terakhir Ogos 2026. Tersangkut? Chat dengan kami di WhatsApp.

Leave a Reply

Your email address will not be published. Required fields are marked *