Membuat Timbangan Elektronik Presisi dengan Arduino UNO – Panduan Lengkap, Komponen, dan Kode
Komponen dan perlengkapan
- Arduino UNO
- Sel beban 3Kg
- LCD standar Adafruit 16x2 putih pada biru
- Modul LCD I2C
Aplikasi dan layanan online
Arduino IDE digunakan untuk pengkodean.
Tentang proyek ini
Saya ingin mengetahui berat komponen elektronik. Jadi saya memutuskan untuk membuat mesin timbangan saya sendiri :)
Untuk melakukan itu Anda harus mengunduh beberapa pustaka yang tercantum di bawah ini
- LiquidCrystal_PCF8574
- Wire
- HX711
Hubungkan semua komponen sesuai dengan diagram rangkaian.
Bagian pemrograman sangat krusial
1. Kalibrasi
Dalam Kalibrasi buka sketsa kalibrasi unggah tanpa beban pada cetakan. Kemudian letakkan beberapa elemen bobot yang dikenal lalu buka port serial tambahkan atau kurangi faktor kalibrasi sampai Anda melihat nilai yang dikenal.
Misalnya jika Anda meletakkan beban 250gram, pada kali pertama akan memberikan 400 gram atau 1kg sebelum kalibrasi.. Anda menggunakan tombol a, s, d, f atau z, x, c, v untuk menyesuaikan tingkat kalibrasi sampai Anda mendapatkan 250 gram dari 400gram atau 1kg. Kemudian catat faktor kalibrasi.
2. Sketsa sebenarnya
Letakkan nilai yang telah dikalibrasi xxxxxxx pada baris ini dan unggah itulah semuanya....
scale.set_scale(xxxxxxx);
3. Untuk mereset nilai tare saya menggunakan satu tombol push.
Kode
Kode
/* * https://facebook/nissiembeddedlab * 2018 September 4 * 3 Kg Load Cell HX711 Module Interface with Arduino to measure weight in Kgs Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND */ #include "HX711.h" #define DOUT 3 #define CLK 2 HX711 scale(DOUT, CLK); #include <Wire.h> #include <LiquidCrystal_PCF8574.h> LiquidCrystal_PCF8574 lcd(0x3F); float calibration_factor = -96650; const int SW = 7; void setup() { Wire.begin(); Wire.beginTransmission(0x3F); pinMode(SW, INPUT_PULLUP); lcd.setBacklight(255); lcd.begin(16, 2); lcd.setCursor(0,0); lcd.print("Nissi 3kgLoadCell"); lcd.setCursor(0,1); lcd.print("Press Sw to tare"); scale.set_scale(-849650); scale.tare(); } void loop() { lcd.setCursor(0,1); lcd.print("W = "); lcd.setCursor(6,1); lcd.print(scale.get_units(),3); lcd.println(" kg "); int x = digitalRead(SW); if(x == LOW) { scale.tare(); } } Skematik