İçindekiler:

UCL - IIoT - Çiftçi Pazarı: 7 Adım
UCL - IIoT - Çiftçi Pazarı: 7 Adım

Video: UCL - IIoT - Çiftçi Pazarı: 7 Adım

Video: UCL - IIoT - Çiftçi Pazarı: 7 Adım
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Temmuz
Anonim
UCL - IIoT - Çiftçi Pazarı
UCL - IIoT - Çiftçi Pazarı

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?

O nasıl çalışır?
O 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 Eklemek
Arduino Eklemek

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

Düğüm-KIRMIZI
Düğüm-KIRMIZI
Düğüm-KIRMIZI
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ı

Veri tabanı
Veri tabanı

Ş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: