Arduino, HX711 ve LCD Ekran ile Dijital Terazi (Load Cell) Yapımı

👤 Yazar: ozcan 📅 Tarih: 23.07.2026 18:20 👁️ Görüntüleme: 39

Arduino, HX711 ve LCD Ekran ile Dijital Terazi (Load Cell) Yapımı

Bu rehberde, Arduino Uno kontrol kartı, HX711 24-bit ADC Modülü, 30 kg ağırlık sensörü (Load Cell) ve 16x2 karakter LCD ekran kullanarak hassas bir dijital terazi uygulamasını inceleyeceğiz.

Arduino HX711 Load Cell ve LCD Ekran Devre Şeması

Gerekli Malzemeler:
  • 1 x Arduino Uno R3
  • 1 x HX711 Ağırlık Sensörü Yükseltici Modülü
  • 1 x Load Cell (Ağırlık Sensörü - Örn: 30 kg)
  • 1 x 16x2 Karakter LCD Ekran
  • 1 x Push Button (Dara/Reset Butonu)
  • Yeterli miktarda Jumper Kablo

Devre Bağlantı Detayları

Görseldeki devre şemasına göre bağlantılar şu şekilde yapılmaktadır:

1. Load Cell & HX711 Modülü Bağlantıları:

  • E+ (Excitation +): Kırmızı Kablo
  • E- (Excitation -): Siyah Kablo
  • A- (Signal -): Beyaz Kablo
  • A+ (Signal +): Yeşil Kablo

2. HX711 & Arduino Bağlantıları:

  • VCC: Arduino 5V (Kırmızı Kablo)
  • GND: Arduino GND (Siyah Kablo)
  • DT (Data): Arduino A0 Pini (Mavi Kablo)
  • SCK (Clock): Arduino A1 Pini (Mor Kablo)

3. 16x2 LCD Ekran Bağlantıları (4-Bit Mod):

  • RS: Arduino Pin 7 | EN: Arduino Pin 6
  • D4: Arduino Pin 5 | D5: Arduino Pin 4 | D6: Arduino Pin 3 | D7: Arduino Pin 2
  • VSS, R/W, K: Arduino GND | VDD, A: Arduino 5V

4. Dara / Reset Butonu:

  • Buton bacaklarından biri Arduino Digital 9 pinine (Mor Kablo), diğeri ise GND hattına bağlıdır (Internal Pull-Up ile kullanılır).

Çalışma Prensibi

Load cell üzerindeki gerinim ölçer (Wheatstone köprüsü) üzerine kuvvet uygulandığında milivolt seviyesinde mikro voltaj değişimleri üretir. Sistem şu mantıkla çalışır:

  • 1. Yüksek Hassasiyetli Amplifikasyon (HX711): Load cell'den gelen mikro seviyedeki analog voltaj farkı, Arduino'nun dahili 10-bit ADC'si ile doğrudan okunamayacak kadar küçüktür. HX711 entegresi bu sinyali önce yükseltir, ardından 24-bit çözünürlükle dijital veriye dönüştürür.
  • 2. Kalibrasyon Katsayısı: HX711'den alınan ham 24-bit veri, yazılımda tanımlanan bir kalibrasyon faktörüne (calibration_factor) bölünerek gram veya kilogram cinsinden gerçek ağırlık değerine dönüştürülür.
  • 3. Sıfırlama (Dara Almak): Reset butonuna basıldığında (Pin 9 LOW olduğunda) sensör üzerindeki mevcut kütle sıfır kabul edilir (scale.tare()) ve ekran sıfırlanır.

Örnek Arduino Kodu

#include <LiquidCrystal.h>
#include "HX711.h"

// LCD pin tanımlamaları: RS, EN, D4, D5, D6, D7
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

// HX711 pin tanımlamaları
const int LOADCELL_DOUT_PIN = A0;
const int LOADCELL_SCK_PIN = A1;
const int TARE_BUTTON_PIN = 9;

HX711 scale;

// Bilinen bir kütle ile yapılan kalibrasyon katsayısı (Kendi sensörünüze göre değiştirmelisiniz)
float kalibrasyonFaktoru = 228000.0; 

void setup() {
  lcd.begin(16, 2);
  pinMode(TARE_BUTTON_PIN, INPUT_PULLUP); // Dahili Pull-Up aktif
  
  lcd.print("Terazi Basliyor");
  lcd.setCursor(0, 1);
  lcd.print("Lutfen Bekleyin.");

  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  scale.set_scale(kalibrasyonFaktoru);
  scale.tare(); // Başlangıçta dara al

  lcd.clear();
}

void loop() {
  // Dara butonuna basıldıysa sıfırla
  if (digitalRead(TARE_BUTTON_PIN) == LOW) {
    lcd.setCursor(0, 1);
    lcd.print("Dara Aliniyor...");
    scale.tare();
    delay(500);
    lcd.clear();
  }

  // Ağırlığı kg cinsinden oku
  float agirlik = scale.get_units(5); // 5 okumanın ortalaması
  if (agirlik < 0) agirlik = 0.00;     // Negatif değer gürültüsünü engelle

  // LCD Ekrana Yazdır
  lcd.setCursor(0, 0);
  lcd.print("DIJITAL TERAZI ");
  
  lcd.setCursor(0, 1);
  lcd.print("Agirlik: ");
  lcd.print(agirlik, 2); // Virgülden sonra 2 hane
  lcd.print(" kg ");

  delay(100);
}

Geliştirme Önerileri ve İpuçları

HX711 ile hassas teraziler tasarlarken dikkat edilmesi gereken kritik noktalar:

  • Mekanik Montaj ve Esneme: Load cell üzerindeki ok yönü yerçekimine doğru bakmalı, sensörün bir ucu sabit bir tabana, diğer ucu ise tartım platformuna montajlanmalıdır. Sensörün orta kısmının esnemesi için alt ve üst kısımda boşluk bırakılmalıdır.
  • Kalibrasyon Adımı: Doğru ölçüm yapabilmek için önceden ağırlığını bildiğiniz standart bir kütle (örneğin 1 kg paket) ile kalibrasyonFaktoru değerini (Okunan_Ham_Veri / Bilinen_Agirlik) formülüyle ayarlamanız gerekir.
  • Gürültü Filtreleme: HX711 hassas bir entegre olduğu için güç hattındaki dalgalanmalardan etkilenebilir. Besleme pinlerine yakın bir yere 100nF veya 10uF kondansatör eklemek ve koddaki ortalama alma sayısını artırmak okuma kararlılığını artırır.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1