İçindekiler:
- Adım 1: Tasarım
- Adım 2: Arduino Devresi
- Adım 3: G/Ç Listesi
- Adım 4: Kod
- Adım 5: Düğüm-Kırmızı
- 6. Adım: SQL
- 7. Adım: Video
- Adım 8: Değerlendirme
- 9. Adım: Projeyi Genişletin
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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
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 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
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ı
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 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:
Arduino Kontrollü Manyetik Karıştırıcı: 8 Adım (Resimli)
Arduino Kontrollü Manyetik Karıştırıcı: Merhaba Arkadaşlar & Kızlar. İşte "Mıknatıslar yarışması" için oluşturulan 3D Baskılı "Süper İnce Manyetik Karıştırıcı" versiyonum. Eski bir bilgisayar fanından yapılmış 3x hız ayarına (Düşük, Orta ve Yüksek) sahiptir ve bir
Bluetooth Kokteyl Karıştırıcı: 9 Adım
Bluetooth Kokteyl Mikseri: Bu, Arduino tarzındaki parti problemlerinizi çözmek için ucuz bir kokteyl mikseridir Kurulum temel olarak bir nano, iki su pompası, HC 05 BLE cihazı ve biraz kodlamadan oluşur! Öyleyse hemen içine atlayalım
Kokteyl Karıştırıcı Robot - Sorumlu İçme: 5 Adım
Kokteyl Karıştırıcı Robot - Sorumlu İçki: Bu projede birçok hedefim vardı ama öncelikle düğünüm için iki karışık içecek dağıtmak istedim. Dağıtıldığında, yaklaşık bir dakika sürmesini ve doğru miktarda likör olmasını istedim. Sıhhi tesisat kolay bir şekilde temizlik gerektirir. benim
HotOrNot Kahve Karıştırıcı: 5 Adım
HotOrNot Coffee Stirrer: Yanmadan içmenin güvenli olduğunu bildiren akıllı bir İçecek Karıştırıcısı. Bu projenin ilham kaynağı benim. Çayı çok hızlı içmeye meyilliyim ve dudaklarımda ya da dilimde şarkı ya da yanma oluyor ve daha sonra bunun için bir süre beklemek zorunda kalıyorum
Oje Karıştırıcı ("Karıştırıcı"): 5 Adım
Oje Karıştırıcı ("Karıştırıcı"): Nazik bir oje "karıştırıcı"nın hızlı yapısı; bir mikrodalga fırın döner tabla motoru, bir miktar tüp, muhafaza, sigorta ve kurşun kullanarak