Mündəricat:

UCL - IIoT - Fermerlər Bazarı: 7 addım
UCL - IIoT - Fermerlər Bazarı: 7 addım

Video: UCL - IIoT - Fermerlər Bazarı: 7 addım

Video: UCL - IIoT - Fermerlər Bazarı: 7 addım
Video: ✨МУЛЬТИ ПОДПИСКА | Клинки стражей EP 01 | Путешествие Дао Ма начинается! 2024, Iyul
Anonim
UCL - IIoT - Fermerlər Bazarı
UCL - IIoT - Fermerlər Bazarı

Farmersmarket cüzdanı yarmarkalarda, fermer bazarlarında və ya malların satıldığı digər toplantılarda istifadə edilə bilər.

Farmersmarket cüzdanı, sikkələr olan bir qutunun ümumi məzmununu tez bir zamanda görməyə imkan verən bir sikkə sayma maşınıdır. Fermerlər cüzdanı, cəmi Node-red vasitəsilə proqramlaşdırılmış bir serverə yükləyəcək.

Danimarkadakı Lillebælt Universitet Kollecinin üç tələbəsi tərəfindən hazırlanmışdır. Əvvəlki layihəmiz olan sikkə sıralayıcısından, quruluşa daxil edəcəyimiz bir çox yeni şeylər öyrəndik. Sikkələrin çeşidlənməsindən imtina etməyi və əvəzinə maşının onları ümumi bir pul qutusuna qoyaraq hesablamasını seçdik.

Cüzdan, hər sikkə növü üçün birdən beş slayd və ya yuvadan ibarətdir. Bir sikkə uyğun yuvaya qoyulduqda, arduinoya YÜKSƏK siqnal göndərən bir reflektordan keçərək aşağı düşəcək. Siqnalları hesablanmış cəmə əlavə etmək, xarici ekranda göstərmək və yeni cəmi serverə göndərmək üçün istifadə edəcəyik. Server cəmi aldıqdan sonra yeni cəmi göstərən onlayn olaraq tapılan bir istifadəçi interfeysini yeniləyəcək.

Təsvir: Hər bir sikkə növü üçün bir, beş fərdi, daxili slaydlara aparan beş sikkə yuvası olan bir qutu: 1kr, 2kr, 5kr, 10kr, 20kr

Qutunun üstünə qoyulan ümumi pulu göstərən bir LCD ekran.

Qutunun üst hissəsi lyuklar ilə bərkidilmişdir. Yuxarı qaldırarkən arduino korpusu, üstü LCD, sikkə yuvaları, reflektorlar və s. Olan sikkənin qoyulduğu qutu qalacaq.

Komponentlər və materiallar - Bir qutu hazırlamaq üçün alətlər və avadanlıqlar (karton və ya ağac ola bilər)

- Arduino Mega 2560

- 30 keçid telləri

- 5 x LDR "İşıq sensoru"

- 5 x 220 ohm rezistorlar

- 5 x 10k ohm rezistorlar

- 5 x Ağ LED

- LCD 16x02 modulu

- Sikkələr

Arduino kod

Daha əvvəl qeyd edildiyi kimi, bu layihə, təxminən səkkiz ay əvvəl hazırladığımız əvvəlki bir layihədən qaynaqlanır (https://www.instructables.com/id/Coin-Sorting-Machine/). Bu səbəbdən, arduinoda kodun böyük bir hissəsini yenidən istifadə edə bilirik, baxmayaraq ki, bəzi kiçik dəyişikliklər var. Gördüyünüz kimi, kod olduqca sadədir, Arduino ilə bir az təcrübəsi olan hər kəs başa düşməlidir.

Node-RED Node-RED, arduinodan və kompüterinizə və daha sonra İnternetə daxil olmaq üçün istifadə etmək üçün istifadə edəcəyimiz bir vasitədir. Node-RED istifadə etməyin başqa bir vacib səbəbi, Arduino və Node-RED ilə heç bir proqramlaşdırma/kodlaşdırma təcrübəsi olmayan insanlar üçün Arduinodan məlumatları başa düşülən bir şəkildə təqdim etmək qabiliyyətidir.

Wampserver istifadə edərək verilənlər bazası, dəyərlərimizi Arduinodan bir verilənlər bazasında saxlaya bilərik. Wampserver ilə MySQL idarə etmək üçün phpMyAdmin istifadə edərək istədiyiniz kimi öz verilənlər bazanızı yaratmaq və dəyişdirmək mümkündür. Bizim vəziyyətimizdə saxlamağımız lazım olan altı dəyərimiz var (hər bir sikkə üçün bir və nəticə üçün bir) və buna görə də hər bir dəyərin saxlanıla biləcəyi altı sütun yaratdıq.

Addım 1: Necə işləyir?

Bu necə işləyir?
Bu necə işləyir?

Daha ətraflı bir mülkdə, indi sistemimizin necə işlədiyini izah edəcəyik.

Axın cədvəlində gördüyünüz kimi, prosesləri təyin edən ilk şey, sikkənin düzgün yuvasına qoyulmasıdır.

LDR işıq sensoru, sikkənin sensorun yanından keçdiyi zaman azalmış işığın fərqinə varacaq ki, bu da Arduino proqramında "Antal" (Sayı) dəyişənini bir ədəd artırmağa səbəb olacaq, çünki indi maşında bir sikkə var. Eyni zamanda sikkənin dəyəri "nəticə" dəyişəninə əlavə olunur. "nəticə" yeni dəyəri ilə LCD -də göstəriləcək.

"Antal" və "nəticə" nin yeni dəyərləri Node-RED-ə göndərilir, burada tablosu bu dəyərlərlə özünü yeniləyəcək. Nəhayət Node-RED dəyərləri məlumat bazamıza göndərir.

Və təkrarlayın.

Addım 2: Bir qutu hazırlayın

Bu dəfə qutumuzu dizayn etmək üçün Illustrator -dan istifadə edirik. Lazer kəsici ilə bu qutunu və layihəmiz üçün lazım olan xüsusiyyətləri dəqiq hazırlamışıq. Nəticədə, layihəniz üçün mükəmməl bir qutu necə edəcəyinizə qərar vermək sizə bağlıdır.

Addım 3: Arduino əlavə edin

Arduino əlavə olunur
Arduino əlavə olunur

Arduino'yu qutuya tətbiq etməyin vaxtı gəldi. Bu olduqca çətin ola bilər, çünki sensor gözlənilməz davrana bilər. (Yeni) Bu addımda istifadə etdiyimiz sensoru dəyişdirdik, çünki bu sensorların əvvəllər göstərilən etibarsızlığı səbəbindən (tcrt 5000). Bunun əvəzinə daha sadə bir LDR sensoru (İşıqdan asılı rezistor) seçdik. Bu sensordan çıxan çıxış, sensorun özünə çatan işığın miqdarından asılı olaraq dəyişən analoq dəyərdir.

Addım 4: Arduino Kodu

Bu mərhələdə diqqətimizi proqram təminatına yönəldirik. Arduino kodu belə görünür:

const int sensorPin1 = 3; // pin nömrəsinə qoşulmuş TCRT-5000 sensoru. 2 int sensorState1 = 0; // Sensorun dəyərini ehtiva edir (Yüksək/aşağı)

int Antal10 = 0; // int maşınına qoyulmuş sikkələrin miqdarını saxlayan dəyişən

Nəticə = 0; // Maşına qoyulan bütün sikkələrin ümumi dəyərini saxlayan dəyişən

void setup () {Serial.begin (9600); }

void loop () {int sensorState1 = analogRead (sensorPin1); // Sensorun vəziyyətini oxuyur

if (540 <sensorState1 <620) {// Sensorların çıxış dəyəri 540 ilə 620 arasında olduqda

Antal10 += 10; // - bir az işığı maneə törədən sensordan keçən bir sikkə var

nəticə += 10; // - və sensor daha aşağı işıq səviyyəsini oxuyacaq}

Serial.print (Nəticə);

Serial.print (","); // Dəyişənləri Node-RED-də dəyişənlərin dəyərlərini oxuyarkən lazım olan vergüllə ayırır.

Serial.println (Antal10); // - və bu dəyərlər verilənlər bazasında saxlanılanda da lazımdır

gecikmə (100); }

Bu kod oxumağı asanlaşdırmaq üçün yalnız bir sensor üçün yazılmışdır.

Tam kod:

Addım 5: Node-QIRMIZI

Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı

Arduino kodu lazım olduğu kimi işləyərkən, Arduino ilə verilənlər bazası arasında ara keçid rolunu oynayacaq və Necə Maşının necə işlədiyini əyani şəkildə göstərən Node-RED proqramlaşdırmağa başlaya bilərsiniz. Node-RED-in proqramlaşdırılması fərqli funksiyaları olan qovşaqların istifadə edilməsindən və bu düyünlərin düzgün işləməsi üçün doğru parametrlərin qoyulmasından ibarətdir.

Məlumatlarımız Node-RED-ə çatanda iki fərqli bölmə funksiyasına göndərilir. Bu funksiyalardan biri indi bölünmüş məlumatları verilənlər bazasına göndərir. Digəri, indi tablosunda görünməli olan paneldəki qovşaqların hər birinə fərqli məlumat dəyərlərini göndərir.

Qeyd edildiyi kimi, müalicə edilməli olan altı dəyərimiz var. Addım 3-ün yuxarısındakı sağda gördüyünüz kimi Node-Red-in idarəetmə paneli qabiliyyətləri ilə bu dəyərləri göstərə bilərik.

Node-QIRMIZI kod:

Addım 6: Verilənlər bazası

Verilənlər bazası
Verilənlər bazası

İndi dəyərləri saxlamaq üçün bir verilənlər bazasından istifadə edəcəyik. Wampserver ilə, xüsusi ehtiyaclarınıza uyğun yerli server istifadə edərək MySQL idarə etmək və öz verilənlər bazanızı yaratmaq üçün phpMyAdmin istifadə etmək mümkündür.

Əvvəlcə sıfırdan bir verilənlər bazası (fermerlər_marketi) hazırlayarkən dəyərlərinizi saxladığınız bir masa (mont_tabel) etməlisiniz. Nə qədər məlumatınız olduğuna və necə sifariş verməyinizə bağlı olaraq, istədiyiniz qədər çox masa edə bilərsiniz. Çünki altı fərqli dəyər saxlamalıyıq və buna görə də cədvəlimizdə hər dəyər üçün bir olmaqla altı sütuna ehtiyacımız var. Yuxarıdakı şəkildə verilənlər bazamızı görə bilərsiniz.

Məlumatlarımız Node-RED-ə çatdıqda, split funksiyası ilə bölünür və indi məlumatlar verilənlər bazasına göndərilir.

Addım 7: Qiymətləndirmə

Əvvəlcə qeyd etmək istərdik ki, qutunu karton əvəzinə ağacdan hazırlamaq, bütün fiziki quruluşu daha etibarlı edir və buna görə də bunu etməyi məsləhət görürük.

Sensorların TCRT-5000-dən və sadə bir LDR işıq sensoruna dəyişdirilməsi, bir sikkə yanından keçəndə sensorlar tez oxumaq qabiliyyətinə görə daha çox sabitlik verdi. TCRT-5000 ilə işləyərkən sensorun istədiyiniz kimi işləməsi üçün bir çox amillər nəzərə alınmalıdır.

Sistemi bir verilənlər bazasına bağlamaq və bu layihədən əvvəlcədən məlumatsız olan hər kəsin baş verənləri anlaya biləcəyi şəkildə məlumatlarınızı vizual olaraq təqdim edə bilmək, sanki layihəyə daha çox dəyər verir.

Tövsiyə: