İçindekiler:
- Adım 1: Nasıl Çalışır?
- Adım 2: Bir Kutu Yapmak
- Adım 3: Arduino'yu Ekleme
- Adım 4: Arduino Kodu
- Adım 5: Düğüm-KIRMIZI
- Adım 6: Veritabanı
- 7. Adım: Değerlendirme
Video: UCL - IIoT - Çiftçi Pazarı: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Farmersmarket cüzdanı, fuarlarda, çiftçi pazarlarında veya malların satıldığı diğer toplantılarda kullanılabilir.
Farmersmarket cüzdanı, madeni paraları tutan bir kutunun toplam içeriğini hızlı bir şekilde görmeyi mümkün kılmak için yapılmış bir madeni para sayma makinesidir. Çiftçi pazarı cüzdanı da toplamı Node-red aracılığıyla programlanmış bir sunucuya yükleyecektir.
Danimarka'daki University College Lillebælt'in üç öğrencisi tarafından yapılmıştır. Bir önceki projemiz olan Madeni para ayırıcıdan bu yana, yapıya dahil edeceğimiz birçok yeni şey öğrendik. Madeni paraların sıralanmasından vazgeçmeyi ve bunun yerine makinenin onları saymasını ve ortak bir madeni para kutusuna yatırmayı seçtik.
Cüzdan, her bir madeni para türü için bir tane olmak üzere beş slayt veya yuvadan oluşur. Bir jeton uygun yuvaya konulduğunda, arduinoya YÜKSEK bir sinyal gönderen bir reflektörden geçerek düşer. Sikke değerini sayılan toplama eklemek, harici ekranda görüntülemek ve yeni toplamı bir sunucuya göndermek için sinyali kullanacağız. Sunucu toplamı aldığında, yeni toplamı gösteren çevrimiçi bulunan bir kullanıcı arayüzünü güncelleyecektir.
Açıklama Her madeni para türü için bir tane olmak üzere beş ayrı dahili slayta giden beş jeton yuvasına sahip bir kutu: 1 kr, 2 kr, 5 kr, 10 kr, 20 kr
Kutunun üstüne yatırılan toplam parayı gösteren bir LCD ekran.
Kutunun üst kısmı kapaklarla sabitlenmiştir. Üst kısmı kaldırmak, LCD, madeni para yuvaları, reflektörler vb. içeren üst kısımla birlikte arduino muhafazasını çıkaracak ve yalnızca madeni paranın yatırıldığı kutuyu bırakacaktır.
Bileşenler ve malzemeler - Bir kutu yapmak için araç ve gereçler (karton veya ahşap olabilir)
- Arduino Mega 2560
- 30 atlama teli
- 5 x LDR "Işık sensörü"
- 5 x 220 ohm dirençler
- 5 x 10k ohm dirençler
- 5 x Beyaz LED
- LCD 16x02 Modülü
- Madeni paralar
Arduino'da Kod
Daha önce de belirtildiği gibi, bu proje yaklaşık sekiz ay önce yaptığımız daha önceki bir projeden kaynaklanmaktadır (https://www.instructables.com/id/Coin-Sorting-Machine/). Bu nedenle, bazı küçük değişiklikler olsa da, kodun büyük bir bölümünü arduino'da yeniden kullanabiliyoruz. Göreceğiniz gibi, kod oldukça basittir, Arduino ile biraz deneyime sahip herhangi bir kişinin anlayabilmesi gerekir.
Node-RED Node-RED, arduino'dan ve bilgisayarınıza ve eğer ilginizi çekiyorsa, daha sonra internete veri almak için kullanacağımız araçtır. Node-RED'i kullanmanın bir diğer önemli nedeni, Arduino ve Node-RED ile herhangi bir programlama/kodlama deneyimi olmayan kişiler için Arduino'dan gelen verileri kolay anlaşılır bir şekilde sunabilme yeteneğidir.
Veritabanı Wampserver kullanarak Arduino'daki değerlerimizi bir veritabanında saklayabiliriz. Wampserver ile MySQL'i yönetmek için phpMyAdmin'i kullanarak kendi veritabanınızı istediğiniz gibi oluşturmak ve değiştirmek mümkündür. Bizim durumumuzda saklamamız gereken altı değer var (her bir madeni para türü için bir tane ve sonuç için bir tane) ve bu nedenle her bir değerin saklanabileceği altı sütun oluşturduk.
Adım 1: Nasıl Çalışır?
Daha detaylı bir malikanede şimdi sistemimizin nasıl çalıştığını anlatacağız.
Akış şemasında göreceğiniz gibi, süreci belirleyen ilk şey, bir madeni paranın doğru yuvasına konmasıdır.
LDR ışık sensörü, madeni para sensörden geçtiğinde azaltılmış ışık miktarını fark edecek ve bu, Arduino programını "Antal" (Sayı) değişkenini bir ile artırmak için tetikleyecektir, çünkü artık makinede bir madeni para vardır. Aynı zamanda madalyonun değeri "sonuç" değişkenine eklenir. LCD'de "sonuç" yeni değeriyle görüntülenecektir.
Yeni "Antal" ve "sonuç" değerleri, gösterge tablosunun kendisini bu değerlerle güncelleyeceği Node-RED'e gönderilir. Sonunda Node-RED, değerleri veritabanımıza gönderir.
Ve tekrar et.
Adım 2: Bir Kutu Yapmak
Bu sefer kutumuzu tasarlamak için Illustrator kullanıyoruz. Bir lazer kesici ile bu kutuyu ve projemiz için gerekli olan özellikleri hassas bir şekilde ürettik. Sonunda, projeniz için mükemmel kutuyu nasıl yapacağınıza karar vermek size kalmış.
Adım 3: Arduino'yu Ekleme
Arduino'yu kutuya uygulama zamanı. Sensör tahmin edilemez davranabileceğinden, bu oldukça zor olabilir. (Yeni) Bu adımda, bu sensörlerin (tcrt 5000) daha önce bahsedilen güvenilmezliğinden dolayı kullandığımız sensörü değiştirdik. Bunun yerine daha basit bir LDR sensörü seçtik (Işığa bağlı direnç). Bu sensörün çıkışı, sensörün kendisine ulaşan ışık miktarına bağlı olarak değişen analog bir değerdir.
Adım 4: Arduino Kodu
Bu adımda yazılıma odaklanıyoruz. Arduino kodu şöyle görünür:
const int sensörPin1 = 3; //Pine bağlı TCRT-5000 sensörü. 2 int sensorState1 = 0; //Sensörün değerini içerir (Yüksek/düşük)
int Antal10 = 0; //Makineye konan jeton miktarını saklayan değişken int
Sonuç = 0; //Makineye konan tüm madeni paraların toplam değerini saklayan değişken
geçersiz kurulum() { Serial.begin(9600); }
void loop() { int sensorState1 = analogRead(sensorPin1); // Sensörün durumunu okur
if (540 < sensorState1 < 620) { //Sensör çıkış değeri 540 ile 620 arasında olduğunda
Antal10 += 10; // - sensörden geçen ve ışığı engelleyen bir bozuk para var
sonuç += 10; // - ve sensör daha düşük bir ışık seviyesi okuyacaktır }
Serial.print(Resultat);
Seri.print(", "); //Düğüm-RED'deki değişkenlerin değerlerini okurken gerekli olan değişkenleri virgülle ayırır
Serial.println(Antal10); // - ve bu değerler veritabanında saklanacağı zaman da gereklidir
gecikme(100); }
Bu kod, okumayı kolaylaştırmak için yalnızca bir sensör için yazılmıştır.
Kodu tamamlayın:
Adım 5: Düğüm-KIRMIZI
Arduino kodu olması gerektiği gibi çalıştığında, Arduino ile veritabanı arasında orta bağlantı görevi görecek ve makinenin nasıl çalıştığının görsel bir göstergesi olarak görev yapacak olan Node-RED'i programlamaya başlayabilirsiniz. Node-RED'in programlanması, farklı işlevlere sahip düğümlerin kullanılması ve bu düğümlerin düzgün çalışması için doğru parametrelerin yerleştirilmesinden oluşur.
Verilerimiz Node-RED'e ulaştığında iki farklı split fonksiyona gönderilir. Bu işlevlerden biri şimdi bölünmüş verileri veritabanına gönderir. Diğeri, şimdi gösterge tablosunda görünmesi gereken gösterge tablosu düğümlerinin her birine farklı veri değerleri gönderir.
Daha önce belirtildiği gibi, tedavi edilecek altı değerimiz var. Node-Red'in gösterge tablosu yetenekleriyle, 3. Adımın sağ üst köşesindeki resimde göreceğiniz gibi, bu değerleri görüntüleyebiliyoruz.
Düğüm-KIRMIZI kodu:
Adım 6: Veritabanı
Şimdi değerleri saklamak için bir veritabanı kullanacağız. Wampserver ile MySQL'i yönetmek ve kendi özel ihtiyaçlarınıza uygun yerel bir sunucu kullanarak kendi veritabanınızı oluşturmak için phpMyAdmin'i kullanmak mümkündür.
Öncelikle sıfırdan bir veritabanı (farmers_market) yaparken, değerlerinizi sakladığınız bir tablo (mont_tabel) yapmanız gerekir. Ne kadar veriye sahip olduğunuza ve bunları nasıl sipariş etmeniz gerektiğine bağlı olarak, istediğiniz kadar tablo oluşturabilirsiniz. Çünkü altı farklı değeri saklamamız gerekiyor ve bu nedenle tablomuzda her değer için bir tane olmak üzere altı sütuna ihtiyacımız vardı. Yukarıdaki resimde veritabanımızı görebilirsiniz.
Verilerimiz Düğüm-RED'e ulaştığında, bir bölme işlevi tarafından bölünür ve şimdiki veriler veritabanına gönderilir.
7. Adım: Değerlendirme
Öncelikle kutuyu karton yerine tahtadan yapmanın tüm fiziksel kurulumu çok daha güvenilir hale getirdiğini belirtmek isteriz ve bu nedenle bunu yapmanızı öneririz.
Sensörleri bir TCRT-5000'den basit bir LDR ışık sensörüne değiştirmek, bir madeni para geçtiğinde sensörlerin hızlı okuma yeteneği açısından çok daha fazla stabilite sağladı. TCRT-5000 ile çalışırken sensörün istediğiniz gibi çalışması için dikkate alınması gereken birçok faktör vardır.
Sistemi bir veri tabanına bağlamak ve bu proje hakkında önceden bilgisi olmayan herhangi bir kişinin neler olduğunu anlayabileceği şekilde verilerinizi görsel olarak sunabilmek, projeye daha fazla değer katıyor gibi görünüyor.
Önerilen:
UCL Gömülü - B0B Linefollower: 9 Adım
UCL Embedded - B0B the Linefollower: Bu B0B.*B0B, genel bir Radyo Kontrollü arabadır ve geçici olarak bir çizgi izleyen robotun temeline hizmet eder. Kendisinden önceki birçok Çizgi izleyen robot gibi, o da kalmak için elinden gelenin en iyisini yapacaktır. aa zemin ve ac arasındaki geçişten kaynaklanan çizgi
UCL - Gömülü - Seç ve Yerleştir: 4 Adım
UCL - Gömülü - Al ve Yerleştir: Bu talimat, bir 2D seç ve yerleştir biriminin nasıl yapıldığını ve nasıl kodlanacağını anlatacaktır
UCL - Gömülü // Güneş Panelleri için Çift Eksenli Işık İzleyici: 7 Adım
UCL - Gömülü // Güneş Panelleri için Çift Eksenli Işık İzleyici: Birleştirilmiş proje ve bireysel 3B dosyalar
UCL - Node-red'i KEPserver Kullanarak Siemens PLC'ye Bağlama: 7 Adım
UCL - KEPserver Kullanarak Node-red'i Siemens PLC'ye Bağlama: RequirementsNode-red: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-serbest bırakma
UCL - Endüstri 4.0: Şeker Karıştırıcı 4.000: 9 Adım
UCL - Industry 4.0: Candy Mixer 4.000: Industry 4.0'daki 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. Bizden sonra