İçindekiler:

UCL - Endüstri 4.0: Şeker Karıştırıcı 4.000: 9 Adım
UCL - Endüstri 4.0: Şeker Karıştırıcı 4.000: 9 Adım
Anonim
UCL - Endüstri 4.0: Şeker Karıştırıcı 4.000
UCL - Endüstri 4.0: Şeker Karıştırıcı 4.000

Endüstri 4.0 projemiz için şeker mikseri yapmaya karar verdik. Buradaki fikir, müşterilerin şekerlerini sipariş edebilecekleri Node-Red'de yapılmış bir kullanıcı panelimiz olması, ardından bir arduino'nun siparişi işleme koyması ve şekeri bir kaseye karıştırmasıdır. Ardından, SQL'de en çok hangi tür şekerlerin sipariş edildiği ve sipariş edilen hacmin istatistiklerini tuttuğumuz bir veritabanımız var.

İlk taslak, 8 çeşit şeker için bir karıştırıcı yapmak ve şeker kapları için açılıp kapanan motorlara sahip olmaktı. Konteynerlerle ilgili bazı tasarım sorunları yaşadık, şeker sıkışıp kalıyor, bu yüzden motorlardan uzaklaşmaya ve motorların çalıştığını belirtmek için bazı LED'ler kullanmaya karar verdik.

Adım 1: Tasarım

Dizayn
Dizayn
Dizayn
Dizayn

Modelimiz şekerleme için 4 adet kap ile yapılmıştır, burada şeker için açılıp kapanmak için sürgülü kapak kullanılmıştır. Kapların altında bir kaseye inen bir oluğumuz var. Kase daha sonra bir yük hücresinin üzerindedir.

Node-Red'deki tasarım, Müşteri ve Yönetim olmak üzere 2 bölüme ayrılmıştır.

Müşteri bölümünde 5 adet butonumuz bulunmakta olup bunlardan 4 tanesi şeker siparişi için, 1 tanesi ise satın alma işlemini kabul etmek için kullanılmaktadır. Satın al düğmesi ile müşteri şekerin ağırlığını ve beklenen fiyatı görebilir, ardından satın alma düğmesine basıldığında ağırlık ve fiyat satın alınan üründe görünecektir.

Yönetim bölümünde kaplarımızın ne kadar dolu olduğunu ve alınan toplam şeker miktarını görebiliriz.

SQL'de hangi şekerin seçildiğine ve satın almalardan elde edilen toplam ağırlık ve gelire ilişkin istatistikleri görebiliriz.

Adım 2: Arduino Devresi

Arduino Devresi
Arduino Devresi

Arduino kartına 4 adet buton, 4 adet iki renkli LED ve 1 adet yük hücresi ile HX711 modülü bağladık.

Basmalı düğmeler, kaplar şekerle dolduğunda şeker operatörünün itmesi için kullanılır.

İki renkli LED, Kırmızı ve Yeşil renk kullanır. Kırmızı renk kutunun boş olduğunu ve doldurulması gerektiğini, yeşil renk ise hangi şekerin seçildiğini ve ardından o kutu için açabileceğimizi gösterir. Bu parçanın otomatik olması gerekiyordu ancak tasarım sorunları nedeniyle manuel olarak yapmaya karar verdik.

Adım 3: G/Ç Listesi

G/Ç Listesi
G/Ç Listesi

Yük hücresinden bir HX711 modülüne bağlanan 4 kablo alıyoruz

Kırmızıdan E+'ya

Beyazdan E'ye

Yeşilden A'ya

Sarıdan A+'ya

HX711, daha sonra arduino kartına şu şekilde bağlanır:

GND toprağa

DT'den Pin 3'e

SCK'den Pin 2'ye

VCC'den 5V'a

Butonlarımız 44, 46, 48 ve 50 numaralı pinlere, yeşil LED 30, 32, 34 ve 36 numaralı pinlere, kırmızı LED ise 31, 33, 35 ve 37 numaralı pinlere bağlıdır.

Adım 4: Kod

Arduino kodunda değişkenlerimizi tanımlayarak ve LED'lerimizi ve butonlarımızı bazı pinlere ayarlayarak başlıyoruz.

Ayrıca dosyayı Node-Red'den almak için bir değişken kurduk.

Arduino üzerindeki butonlarımıza basıldığında Düğüm-red'e durum 5'i gönderiyoruz, bu da kapların dolduğunu ve o kaptan şeker dağıtmaya hazır olduğumuzu belirtir.

Node-Red müşteri tarafında bir butona bastığımızda 1-4 sayısını arduinoya gönderiyoruz. Arduino daha sonra numarayı kontrol eder ve bu numaraya bağlı kabı açar. Bu, yeşil LED'in 5 saniye boyunca yanması ile yapılır. Aynı zamanda, bu kaptan bir miktar şekerin çıkarıldığını belirtmek için kap durumundan 1 çıkarırız.

Konteyner durumu 0'a ulaştığında, bu konteynerin tekrar doldurulması gerektiğini belirten kırmızı LED yanacaktır.

Bir satın alma yapıldığında 5 sayısı arduino'ya gönderilir ve ardından fiyatı hesaplar ve fiyatı ve ağırlığı tekrar node-red ve SQL'e gönderir.

Arduino kodunun son kısmı, durumu ve ağırlığı/fiyatı not-kırmızıya geri gönderir.

Adım 5: Düğüm-Kırmızı

Düğüm-Kırmızı
Düğüm-Kırmızı
Düğüm-Kırmızı
Düğüm-Kırmızı

Node Red, arduino ve SQL veritabanı arasındaki tüm bağlantıları yapar.

Node-red'deki Müşteri ekranından gelen veriler işlendiği arduinoya gider. İşlenen veriler daha sonra Kırmızı Düğüm'e ve Yönetim ekranına geri döner.

1 numaralı butonu örnek olarak alırsak, onu hem com4 üzerinden arudinoya hem de SQL sunucusuna giden hatlarla bağlamış oluruz. Daha sonra butonu açtığımızda arduinoya gönderilen bilginin Payload olduğunu ve konunun SQL'e gönderildiğini görebiliriz.

Arduino'dan SQL'e bilgi göndermek için Node-Red'de bir işlev kullanıyoruz. Bu işlevde, Node-red'e kodla ne yapacağını söylemek için bir java koduna ihtiyacımız var.

İşlev kodu:

var data = msg.payload.split(", ");var Vægt = data[13];

var Kroner = veri[14];

var out = "GÜNCELLEME Blanding SET Vægt= '"+Vægt+"', Kroner = '"+Kroner+"' WHERE id=1";

msg.konu = çıkış;

dönüş mesajı;

Buradaki kodda arduino'dan bir veri dizisi alıyoruz ve sayılar arasında bir ", " ile bölünüyor.

Bu fonksiyon için 13. ve 14. sıradaki sayılara ihtiyacımız var ve bunları "Vægt ve Kroner" değişkenlerine koyuyoruz. Daha sonra SQL'de çalıştırılması gereken kodu alıp "out" değişkenine koyuyoruz ve konu olarak SQL'e gönderiyoruz.

6. Adım: SQL

SQL
SQL

SQL veritabanında, her bir şeker türünün gün içinde kaç kez sipariş edildiğine ve şekerin ağırlığına ve fiyatına ilişkin istatistikleri saklarız.

Statustik düğmesi, Node-Red'deki her bir düğmeye bağlı bir sayaçtan gelir ve ağırlık ve fiyat, Node-Red'deki bir işlev aracılığıyla arduino'dan gelir.

7. Adım: Video

Videoda Admin panelinde bir konteynerin doldurulduğunu ve ardından müşteri panelindeki butonlara tıklanarak şeker sipariş edildiğini gösteriyoruz. Aynı zamanda müşteri panelinde şekerin ağırlığı ve tahmini maliyeti gösterilir.

Müşteri şeker karışımından memnun kaldığında satın alma düğmesine basar ve gerçek ağırlık ve maliyet düğmenin altında gösterilir. Bu daha sonra müşteri kısmını tamamlar ve ardından ağırlık ve maliyet admin paneline ve sql olarak veritabanımıza aktarılır.

Veritabanında daha sonra kaç kez fazla şeker sipariş edildiğini ve ne kadar şekerin ağırlığını ve maliyetini takip ediyoruz.

Adım 8: Değerlendirme

Bu, 3 programla çalışıp, birbirleriyle etkileşime geçmelerini sağladığımız güzel bir projeydi. İlk başta Node-Red'de ve bazıları Arduino'da yürütülen bazı fonksiyonlar vardı, ancak daha iyi bir genel bakış sağlamak için tüm fonksiyonları arduino'ya koymaya karar verdik ve ardından tüm görseller için Node-Red standına sahip olduk.

9. Adım: Projeyi Genişletin

Bizim fikrimiz kaplardan birini motorla açmaktı, bu yüzden bir sonraki adım şekerin sıkışmayacağı bir tasarım yapmaktı.

Önerilen: