Სარჩევი:

UCL - IIoT - ფერმერთა ბაზარი: 7 ნაბიჯი
UCL - IIoT - ფერმერთა ბაზარი: 7 ნაბიჯი

ვიდეო: UCL - IIoT - ფერმერთა ბაზარი: 7 ნაბიჯი

ვიდეო: UCL - IIoT - ფერმერთა ბაზარი: 7 ნაბიჯი
ვიდეო: UCL-IIoT-Datalogger 2024, ნოემბერი
Anonim
UCL - IIoT - ფერმერთა ბაზარი
UCL - IIoT - ფერმერთა ბაზარი

Farmersmarket საფულე შეიძლება გამოყენებულ იქნას ბაზრობებზე, ფერმერთა ბაზრებზე ან სხვა შეკრებებზე, სადაც საქონელი იყიდება.

Farmersmarket საფულე არის მონეტების მთვლელი მანქანა, რომლის საშუალებითაც შესაძლებელი გახდა მონეტების ხელში ყუთის მთლიანი შინაარსის სწრაფად ნახვა. Farmermarket საფულე ასევე ატვირთავს ჯამს სერვერზე დაპროგრამებულ Node-red- ის საშუალებით.

მას დანიის საუნივერსიტეტო კოლეჯის სამი სტუდენტი ამზადებს. მას შემდეგ, რაც ჩვენი წინა პროექტი, მონეტების დამლაგებელი, ჩვენ ვისწავლეთ ბევრი ახალი რამ, რასაც ჩვენ ჩავრთავთ მშენებლობაში. ჩვენ ავირჩიეთ უარი ვთქვათ მონეტების დახარისხებაზე და ნაცვლად იმისა, რომ მანქანა დაითვალოს და ჩავდოთ ისინი კომუნალური მონეტების ყუთში.

საფულე შედგება ხუთი სლაიდის ან სლოტისგან, თითო თითოეული ტიპის მონეტისთვის. როდესაც მონეტა ჩადებულია შესაბამის სლოტში, ის ჩამოვარდება რეფლექტორის გავლით, რომელიც აგზავნის HIGH სიგნალს არდუინოს. ჩვენ გამოვიყენებთ სიგნალს, რომ მონეტების მნიშვნელობა დავუმატოთ დათვლილ ჯამს, გამოვაჩინოთ იგი გარე ეკრანზე და გავაგზავნოთ ახალი ჯამი სერვერზე. მას შემდეგ რაც სერვერი მიიღებს ჯამს, ის განაახლებს ინტერნეტში ნაპოვნი ინტერფეისს, რომელიც აჩვენებს ახალ ჯამს.

ყუთი ხუთი მონეტის სლოტით, რომელიც მიჰყავს ხუთ ინდივიდუალურ, შიდა სლაიდს, თითო თითო მონეტის ტიპს: 1 კრ, 2 კრ, 5 კრ, 10 კრ, 20 კრ

LCD დისპლეი, რომელიც აჩვენებს მთლიანი ფულადი სახსრების განთავსებას ყუთის თავზე.

ყუთის ზედა ნაწილი უზრუნველყოფილია ლუქებით. ზემოდან ამოსვლა გამოიყვანს არდუინოს კორპუსს ზედა ნაწილთან ერთად, რომელიც შეიცავს LCD- ს, მონეტის სლოტებს, რეფლექტორებს და ა.

კომპონენტები და მასალები - ყუთის დამზადების ინსტრუმენტები და მოწყობილობები (შეიძლება იყოს მუყაო ან ხე)

- არდუინო მეგა 2560

- 30 ჯამპერის მავთული

- 5 x LDR "სინათლის სენსორი"

- 5 x 220 ohm რეზისტორები

- 5 x 10k ohm რეზისტორები

- 5 x თეთრი LED

- LCD 16x02 მოდული

- მონეტები

კოდი არდუინოში

როგორც უკვე აღვნიშნეთ, ეს პროექტი მომდინარეობს ადრინდელი პროექტიდან, რომელიც ჩვენ გავაკეთეთ დაახლოებით რვა თვის წინ (https://www.instructables.com/id/Coin-Sorting-Machine/). ამის გამო ჩვენ შეგვიძლია გამოვიყენოთ კოდის დიდი ნაწილი არდუინოში, თუმცა მასში მცირედი ცვლილებებია. როგორც ხედავთ, კოდი საკმაოდ მარტივია, რომლის გაგებაც ნებისმიერ ადამიანს შეუძლია არდუინოს გამოცდილებით.

Node-RED Node-RED არის ინსტრუმენტი, რომელსაც ჩვენ გამოვიყენებთ მონაცემების მისაღებად arduino– დან და თქვენს კომპიუტერში და შემდგომ ინტერნეტში, თუ ეს თქვენთვის საინტერესოა. Node-RED– ის გამოყენების კიდევ ერთი მნიშვნელოვანი მიზეზი არის უნარი წარმოადგინოთ მონაცემები Arduino– დან ისე ადვილად გასაგები ადამიანებისთვის, რომლებსაც არ გააჩნიათ პროგრამირების/კოდირების გამოცდილება Arduino– სა და Node-RED– ით.

მონაცემთა ბაზა Wampserver– ის გამოყენებით ჩვენ შეგვიძლია შევინახოთ ჩვენი ღირებულებები Arduino– დან მონაცემთა ბაზაში. Wampserver– ით შესაძლებელია შექმნათ და შეცვალოთ თქვენი საკუთარი მონაცემთა ბაზა, როგორც გსურთ, phpMyAdmin– ის გამოყენებით MySQL– ის ადმინისტრირებისთვის. ჩვენს შემთხვევაში ჩვენ გვაქვს ექვსი მნიშვნელობა, რომელიც უნდა შევინახოთ (ერთი თითოეული სახის მონეტისთვის და ერთი შედეგისთვის) და, შესაბამისად, ჩვენ შევქმენით ექვსი სვეტი, რომელშიც თითოეული მნიშვნელობის შენახვაა შესაძლებელი.

ნაბიჯი 1: როგორ მუშაობს?

Როგორ მუშაობს?
Როგორ მუშაობს?

უფრო დეტალურ მამულში, ჩვენ ახლა ავხსნით როგორ მუშაობს ჩვენი სისტემა.

როგორც ნახავთ დიაგრამაზე, პირველი, რაც პროცესს ადგენს, არის როდესაც მონეტა ჩადებულია მის სწორ სლოტში.

LDR სინათლის სენსორი შეამჩნევს სინათლის შემცირებულ რაოდენობას, როდესაც მონეტა გაივლის სენსორს, რაც გამოიწვევს არდუინოს პროგრამას, რომ ცვლადი "ანტალი" (რიცხვი) ერთით გაზარდოს, რადგან ახლა მანქანაში არის ერთი მონეტა. ამავდროულად, მონეტის ღირებულება ემატება ცვლადს "შედეგი". "შედეგი" გამოჩნდება LCD- ზე მისი ახალი მნიშვნელობით.

"Antal"-ისა და "result"-ის ახალი მნიშვნელობები იგზავნება Node-RED– ში, რომელშიც დაფა განახლდება ამ მნიშვნელობებით. ბოლოს Node-RED აგზავნის ღირებულებებს ჩვენს მონაცემთა ბაზაში.

და გაიმეორე.

ნაბიჯი 2: ყუთის დამზადება

ამჯერად ჩვენ ვიყენებთ Illustrator- ს ჩვენი ყუთის შესაქმნელად. ლაზერული საჭრელით ჩვენ ზუსტად შევქმენით ეს ყუთი და ის თვისებები, რაც საჭიროა ჩვენი პროექტისათვის. საბოლოო ჯამში, თქვენზეა დამოკიდებული, გადაწყვიტეთ როგორ გააკეთოთ სრულყოფილი ყუთი თქვენი პროექტისთვის.

ნაბიჯი 3: არდუინოს დამატება

არდუინოს დამატება
არდუინოს დამატება

დროა არდუინოს ყუთში დანერგვა. ეს საკმაოდ რთულია, რადგან სენსორს შეუძლია არაპროგნოზირებადი ქცევა. (ახალი) ამ ეტაპზე ჩვენ შევცვალეთ სენსორი, რომელსაც ჩვენ ვიყენებთ, ამ სენსორების ზემოაღნიშნული არასაიმედოობის გამო (tcrt 5000). სამაგიეროდ ჩვენ ავირჩიეთ უფრო მარტივი LDR- სენსორი (სინათლეზე დამოკიდებული რეზისტორი). ამ სენსორიდან გამოსავალი არის ანალოგური მნიშვნელობა, რომელიც იცვლება იმის მიხედვით, თუ რა რაოდენობის სინათლე აღწევს სენსორში.

ნაბიჯი 4: Arduino კოდი

ამ ეტაპზე ჩვენ ყურადღებას ვაქცევთ პროგრამულ უზრუნველყოფას. Arduino კოდი ასე გამოიყურება:

const int sensorPin1 = 3; // TCRT-5000 სენსორი, რომელიც დაკავშირებულია pin nr. 2 int სენსორი სახელმწიფო 1 = 0; // შეიცავს სენსორის მნიშვნელობას (მაღალი/დაბალი)

int Antal10 = 0; // ცვლადი, რომელიც ინახავს მანქანაში ჩადებული მონეტების რაოდენობას int

შედეგი = 0; // ცვლადი, რომელიც ინახავს მანქანაში ჩადებული ყველა მონეტის ერთობლივ ღირებულებას

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

void loop () {int sensorState1 = analogRead (sensorPin1); // კითხულობს სენსორის მდგომარეობას

თუ (540 <sensorState1 <620) {// როდესაც სენსორების გამომავალი მნიშვნელობა 540 -დან 620 -მდეა

ანტალი 10 += 10; // - არის მონეტა, რომელიც გადის სენსორზე, რომელიც ბლოკავს გარკვეულ შუქს

resultat += 10; // - და სენსორი წაიკითხავს სინათლის დაბალ დონეს}

Serial.print (Resultat);

Serial.print (","); // ცვლის ცვლადებს მძიმით, რაც აუცილებელია Node-RED- ში ცვლადების მნიშვნელობების წაკითხვისას

Serial.println (Antal10); // - და ასევე საჭიროა, როდესაც ეს მნიშვნელობები მონაცემთა ბაზაში ინახება

დაგვიანება (100); }

ეს კოდი დაწერილია მხოლოდ ერთი სენსორისთვის, რომ გაუადვილოს კითხვა.

სრული კოდი:

ნაბიჯი 5: კვანძი-წითელი

კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი

როდესაც Arduino კოდი მუშაობს ისე, როგორც უნდა იყოს, შეგიძლიათ დაიწყოთ Node-RED პროგრამირება, რომელიც იქნება შუალედური ბმული Arduino– სა და მონაცემთა ბაზას შორის და როგორც ვიზუალური ჩვენება იმისა, თუ როგორ მუშაობს მანქანა. Node-RED– ის დაპროგრამება შედგება სხვადასხვა ფუნქციის მქონე კვანძების გამოყენებით და ამ პარამეტრების სწორი პარამეტრების ჩასატარებლად.

როდესაც ჩვენი მონაცემები ჩამოდის Node-RED– ში, იგი იგზავნება ორ სხვადასხვა გაყოფილ ფუნქციაზე. ერთ -ერთი ასეთი ფუნქცია აგზავნის მონაცემებს მონაცემთა ბაზაში. მეორე აგზავნის მონაცემთა სხვადასხვა ღირებულებას თითოეული მათგანის დაფის კვანძზე, რომელიც ახლა ხილული უნდა იყოს დაფაზე.

როგორც აღვნიშნეთ, ჩვენ გვაქვს ექვსი მნიშვნელობა, რომლებიც უნდა განვიხილოთ. Node-Red– ის დაფის შესაძლებლობებით ჩვენ შეგვიძლია გამოვავლინოთ ეს მნიშვნელობები, როგორც სურათზე ხედავთ მარჯვნივ მე –3 საფეხურის ზედა ნაწილში.

Node-RED კოდი:

ნაბიჯი 6: მონაცემთა ბაზა

Მონაცემთა ბაზა
Მონაცემთა ბაზა

ახლა ჩვენ ვიყენებთ მონაცემთა ბაზას მნიშვნელობების შესანახად. Wampserver– ით შესაძლებელია გამოიყენოთ phpMyAdmin MySQL– ის ადმინისტრირებისთვის და თქვენი საკუთარი მონაცემთა ბაზის შესაქმნელად, ადგილობრივი სერვერის გამოყენებით, თქვენი სპეციფიკური საჭიროებისთვის.

ჯერ მონაცემთა ბაზის (ფერმერული ბაზარი) ნულიდან შექმნისას თქვენ უნდა შეადგინოთ ცხრილი (mont_tabel), რომელშიც თქვენ ინახავთ თქვენს ღირებულებებს. დამოკიდებულია იმაზე, თუ რამდენი მონაცემი გაქვთ და როგორ გჭირდებათ მისი შეკვეთა, შეგიძლიათ გააკეთოთ იმდენი ცხრილი, რამდენიც გჭირდებათ. იმის გამო, რომ ჩვენ გვჭირდება ექვსი განსხვავებული მნიშვნელობის შენახვა და, შესაბამისად, ჩვენ გვჭირდებოდა ექვსი სვეტი, თითო თითოეული მნიშვნელობისთვის, ჩვენს ცხრილში. ზემოთ მოცემულ სურათზე თქვენ შეგიძლიათ ნახოთ ჩვენი მონაცემთა ბაზა.

როდესაც ჩვენი მონაცემები შემოდის Node-RED– ში, ის იშლება გაყოფილი ფუნქციით და ახლა მონაცემები იგზავნება მონაცემთა ბაზაში.

ნაბიჯი 7: შეფასება

უპირველეს ყოვლისა, ჩვენ გვინდა აღვნიშნოთ, რომ მუყაოს ნაცვლად ხისგან ყუთის დამზადება მთელ ფიზიკურ კონფიგურაციას ბევრად საიმედო გახდის და ამიტომ ჩვენ გირჩევთ ამის გაკეთებას.

სენსორების შეცვლა TCRT-5000– დან და უბრალო LDR სინათლის სენსორზე გაცილებით მეტ სტაბილურობას იძენს, რაც შეეხება სენსორების უნარს სწრაფად წაიკითხონ, როდესაც მონეტა გადის. TCRT-5000– თან მუშაობისას ბევრი ფაქტორია გასათვალისწინებელი, რათა სენსორმა იმუშაოს როგორც თქვენ გსურთ.

სისტემის მონაცემთა ბაზაზე მიერთება და თქვენი მონაცემების ვიზუალურად წარმოდგენა, რომ ნებისმიერ ადამიანს ამ პროექტის შესახებ რაიმე წინასწარი ცოდნის გარეშე შეუძლია გაიგოს რა ხდება, როგორც ჩანს, პროექტს მეტ მნიშვნელობას ანიჭებს.

გირჩევთ: