- Arduino Ağırlık Ölçeği oluşturmak için gerekli Bileşenler:
- Yük Hücresi ve HX711 Ağırlık Sensörü Modülü:
- Devre Açıklaması:
- Çalışma Açıklaması:
- Arduino Tartım Ölçeği Kodu:
Bugün, Yük Hücresi ve HX711 Ağırlık Sensörünü Arduino ile arayüzleyerek bir Arduino wight makinesi inşa edeceğiz. Ağırlık makinelerini birçok mağazada gördük, burada makinenin ağırlığı yalnızca tartı platformuna bir öğe yerleştirerek görüntüledik. Yani burada 40 kg'a kadar ölçüm kapasitesine sahip Arduino ve Load hücrelerini kullanarak aynı Tartım makinesini inşa ediyoruz. Bu sınır, daha yüksek kapasiteli Yük hücresi kullanılarak daha da artırılabilir.
Bu Arduino tartım terazisini oluşturmak için gereken ana bileşen, ağırlığı eşdeğer bir elektrik sinyaline dönüştürebilen bir sensördür. Bu sensör yük hücresi olarak adlandırılır, bu nedenle bu projede bu yük hücresini Arduino ağırlık sensörümüz olarak kullanacağız. Taşınabilir Arduino Perakende Tartım Makinesi, Raspberry pi Tartım ölçeği vb.Gibi birkaç başka projede de aynı yük hücresini kullandık, ayrıca ilgileniyorsanız bunları da kontrol edebilirsiniz.
Arduino Ağırlık Ölçeği oluşturmak için gerekli Bileşenler:
- Arduino Uno
- Yük hücresi (40kg)
- HX711 Yük hücresi Amplifikatör Modülü
- 16x2 LCD
- Bağlantı telleri
- USB kablosu
- Breadboard
- Somun cıvataları, Çerçeve ve taban
Yük Hücresi ve HX711 Ağırlık Sensörü Modülü:
Yük hücresi, kuvveti veya basıncı elektrik çıkışına dönüştüren bir dönüştürücüdür. Bu elektrik çıktısının büyüklüğü, uygulanan kuvvetle doğru orantılıdır. Yük hücreleri, üzerine basınç uygulandığında deforme olan bir gerinim ölçere sahiptir. Ve sonra gerinim ölçer, deformasyon üzerine etkili direnci değiştiği için deformasyon üzerine bir elektrik sinyali üretir. Bir yük hücresi genellikle bir Wheatstone köprüsü konfigürasyonunda dört gerinim ölçerden oluşur. Yük hücresi 5kg, 10kg, 100kg ve daha fazlası gibi çeşitli aralıklarda gelir, burada 40kg ağırlığa kadar yük hücresi kullandık.
Şimdi, Yük hücresi tarafından üretilen elektrik sinyalleri birkaç milivolt cinsindendir, bu nedenle, bir amplifikatör tarafından daha da güçlendirilmeleri gerekir ve bu nedenle HX711 Tartım Sensörü resme girer. HX711 Tartım Sensörü Modülü, 24 yüksek hassasiyetli A / D dönüştürücü (Analogdan dijitale dönüştürücü) olan HX711 yongasına sahiptir. HX711'in iki analog giriş kanalı var ve bu kanalları programlayarak 128'e kadar kazanç elde edebiliyoruz. Böylece HX711 modülü, Yük hücrelerinin düşük elektrik çıkışını yükseltir ve ardından bu güçlendirilmiş ve dijital olarak dönüştürülmüş sinyal, ağırlığı elde etmek için Arduino'ya beslenir.
Yük hücresi, dört kablo kullanılarak HX711 Yük hücresi Amplifikatörüne bağlanır. Bu dört tel Kırmızı, Siyah, Beyaz ve Yeşil / Mavi'dir. Modülden modüle tellerin renklerinde ufak değişiklikler olabilir. Bağlantı ayrıntılarının ve şemasının altında:
- RED Wire, E + 'ya bağlı
- BLACK Wire, E-'ye bağlı
- BEYAZ Tel A-
- YEŞİL Tel A + 'ya bağlanır
Yük Hücresinin Platform ve Taban ile Sabitlenmesi:
Bu adım isteğe bağlıdır ve ağırlıkları bir Platform olmadan doğrudan Yük hücresine koyabilirsiniz ve herhangi bir tabana sabitlemeden basitçe kelepçeleyebilirsiniz, ancak üzerine büyük şeyler koymak ve bir Tabana sabitlemek için bir platform eklemek daha iyidir böylece durur. Yani burada ağırlık ölçümü için nesneleri yerleştirmek için bir çerçeve veya platform yapmamız gerekiyor. Yük hücresini somun ve cıvatalarla sabitlemek için bir taban da gereklidir. Burada üzerine bir şeyler yerleştirmek için çerçeve için sert karton ve Taban olarak ahşap bir tahta kullandık. Şimdi bağlantıları devre şemasında gösterildiği gibi yapın ve gitmeye hazırsınız.
Devre Açıklaması:
Bu proje için bağlantılar kolaydır ve şematik aşağıda verilmiştir. 16x2 LCD pini RS, EN, d4, d5, d6 ve d7 sırasıyla Arduino'nun 8, 9, 10, 11, 12 ve 13 numaralı pinlerine bağlıdır. HX711 Modülünün DT ve SCK pinleri doğrudan Arduino'nun A0 ve A1 pinlerine bağlanır. HX711 modülüyle yük hücresi bağlantıları daha önce açıklanmıştır ve aşağıdaki devre şemasında da gösterilmiştir.
Çalışma Açıklaması:
Bu Arduino Ağırlık Ölçümü projesinin çalışma prensibi kolaydır. Ayrıntılara girmeden önce, doğru ağırlığı ölçmek için bu sistemi kalibre etmeliyiz. Kullanıcı çalıştırdığında, sistem otomatik olarak kalibre etmeye başlayacaktır. Ve kullanıcı manuel olarak kalibre etmek isterse, basma düğmesine basın. Kalibrasyon amacıyla bir işlev boşluk kalibrasyonu () oluşturduk, aşağıdaki kodu kontrol edin.
Kalibrasyon için, aşağıdaki resimde gösterildiği gibi yük hücresi üzerine 100 gram koymak için LCD göstergesini bekleyin. LCD "100g koyun" gösterdiği zaman, 100g ağırlığı yük hücresinin üzerine koyun ve bekleyin. Birkaç saniye sonra kalibrasyon işlemi bitecektir. Kalibrasyondan sonra kullanıcı yük hücresinin üzerine istediği ağırlığı (max 40kg) koyabilir ve değeri LCD üzerinden gram olarak alabilir.
Bu projede, tüm süreci kontrol etmek için Arduino kullandık. Yük hücresi ağırlığı algılar ve HX711 Yük Amplifikatör Modülüne bir elektriksel analog voltaj sağlar. HX711, Yük hücresi çıkışını yükselten ve dijital olarak dönüştüren 24 bitlik bir ADC'dir. Daha sonra bu yükseltilmiş değer Arduino'ya beslenir. Şimdi Arduino, HX711'in çıktısını hesaplıyor ve bunu gram cinsinden ağırlık değerlerine dönüştürüyor ve LCD'de gösteriyor. Bir basma-düğmesi sisteminin ayarlanması için kullanılır. Tüm süreç için bir Arduino programı yazdık, bu eğitimin sonunda Kodu ve demo videosunu kontrol ettik.
Arduino Tartım Ölçeği Kodu:
Bu projenin programlama kısmı yeni başlayanlar için biraz karmaşıktır. Bu projede HX711 yük sensörünü Arduino ile arayüzlemek için herhangi bir kitaplık kullanmadık. HX711'in veri sayfasını ve uygulama notlarını takip ettik. Bu amaç için mevcut bazı kütüphaneler olmasına rağmen, sadece bu kütüphaneyi eklemeniz gerekir ve ağırlığı bir satır kod kullanarak alabilirsiniz.
Öncelikle LCD için bir başlık dosyası ekledik ve bunun için pinleri tanımladık. Ve ayrıca basmalı düğme için. Daha sonra hesaplama amacıyla bazı değişkenler tanımlandı.
#Dahil etmek
Bundan sonra, HX711 modülünden veri okumak için aşağıdaki fonksiyonu oluşturduk ve çıktısını döndürdük.
unsigned long readCount (void) {unsigned long Count; işaretsiz karakter i; pinMode (DT, OUTPUT); digitalWrite (DT, YÜKSEK); digitalWrite (SCK, DÜŞÜK); Sayı = 0; pinMode (DT, INPUT); while (digitalRead (DT)); (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH) için; Count = Count << 1; digitalWrite (SCK, DÜŞÜK); if (digitalRead (DT)) Count ++; } digitalWrite (SCK, HIGH); Sayma = Sayım ^ 0x800000; digitalWrite (SCK, DÜŞÜK); dönüş (Sayı); }
Bundan sonra, LCD'yi başlattık ve void kurulumunda () giriş ve çıkış pinlerine yön verdik .
geçersiz kurulum () {Serial.begin (9600); pinMode (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Ağırlık"); lcd.setCursor (0,1); lcd.print ("Ölçüm"); gecikme (1000); lcd.clear (); kalibre et (); }
Daha sonra void loop () fonksiyonunda HX711 modülünden veri okuduk ve bu veriyi ağırlık (gram) çevirip LCD'ye gönderdik.
geçersiz döngü () {count = readCount (); int w = (((count-sample) / val) -2 * ((count-sample) / val)); Seri.print ("ağırlık:"); Seri.baskı ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Ağırlık"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); eğer (digitalRead (sw) == 0) {val = 0; örnek = 0; w = 0; sayım = 0; kalibre et (); }}
Bundan önce, 100gm ağırlığı Yük hücresi üzerine yerleştirerek sistemi kalibre ettiğimiz bir kalibrasyon fonksiyonu oluşturduk.
void calibrate () {lcd.clear (); lcd.print ("Kalibre ediliyor…"); lcd.setCursor (0,1); lcd.print ("Lütfen Bekleyin…"); for (int i = 0; i <100; i ++) {count = readCount (); örnek + = sayım; Serial.println (sayım); }……………….
Bu yüzden burada ağırlıkları ölçmek için Yük hücresi ve HX11 Ağırlık Sensörünün Arduino ile temel Arayüzünü öğrendik. Metin eğitimlerimizde, Akıllı konteyner, Otomatik kapı vb. Gibi ağırlık ölçümüne dayalı bazı uygulamalar oluşturacağız.