Turinys:

UCL - IIoT - Ūkininkų rinka: 7 žingsniai
UCL - IIoT - Ūkininkų rinka: 7 žingsniai

Video: UCL - IIoT - Ūkininkų rinka: 7 žingsniai

Video: UCL - IIoT - Ūkininkų rinka: 7 žingsniai
Video: "farmers league" 2024, Lapkritis
Anonim
UCL - IIoT - ūkininkų rinka
UCL - IIoT - ūkininkų rinka

„Farmersmarket“piniginę galima naudoti mugėse, ūkininkų turguose ar kituose susibūrimuose, kuriuose parduodamos prekės.

„Farmersmarket“piniginė yra monetų skaičiavimo mašina, skirta greitai pamatyti visą monetų dėžutės turinį. „Farmmarket“piniginė taip pat įkels visą sumą į serverį, užprogramuotą per „Node-red“.

Jį sukūrė trys Danijos Lillebælt universiteto kolegijos studentai. Nuo ankstesnio projekto „Monetų rūšiuotojas“sužinojome daug naujų dalykų, kuriuos įtrauksime į kūrinį. Mes nusprendėme atsisakyti monetų rūšiavimo ir vietoj to, kad mašina jas suskaičiuotų ir padėtų į monetų dėžutę.

Piniginę sudaro penkios skaidrės arba lizdai, po vieną kiekvienos rūšies monetai. Įdėjus monetą į tinkamą angą, ji nukris žemyn pro atšvaitą, kuris siunčia AUKŠTĄ signalą arduino. Naudodami signalą pridėsime monetų vertę prie suskaičiuotos sumos, parodysime ją išoriniame ekrane ir išsiųsime naują sumą į serverį. Kai serveris gaus visą sumą, jis atnaujins internete rastą vartotojo sąsają, rodančią naują sumą.

Dėžutė su penkiais monetų lizdais, vedančiais į penkias atskiras vidines skaidres, po vieną kiekvienos rūšies monetai: 1kr, 2kr, 5kr, 10kr, 20kr

Skystųjų kristalų ekranas, rodantis visą grynųjų pinigų sumą dėžutės viršuje.

Dėžutės viršus pritvirtintas liuku. Pakėlus viršutinę dalį, bus išimtas arduino korpusas kartu su viršumi, kuriame yra skystųjų kristalų ekranas, monetų lizdai, atšvaitai ir pan., Paliekant tik dėžutę, į kurią įdėta moneta.

Komponentai ir medžiagos - Įrankiai ir įranga dėžei gaminti (gali būti kartonas arba medis)

- „Arduino Mega 2560“

- 30 trumpiklių

- 5 x LDR "šviesos jutiklis"

- 5 x 220 omų rezistoriai

- 5 x 10k omų rezistoriai

- 5 x balti šviesos diodai

- LCD 16x02 modulis

- Monetos

Kodas „Arduino“

Kaip minėta anksčiau, šis projektas kilęs iš ankstesnio projekto, kurį sukūrėme maždaug prieš aštuonis mėnesius (https://www.instructables.com/id/Coin-Sorting-Machine/). Dėl šios priežasties mes galime pakartotinai panaudoti didelę kodo dalį „arduino“, nors yra keletas mažesnių jo pakeitimų. Kaip matote, kodas yra gana paprastas, kurį turėtų suprasti bet kuris asmuo, turintis šiek tiek patirties naudojant „Arduino“.

„Node-RED“„Node-RED“yra įrankis, kurį naudosime duomenims iš „arduino“gauti į jūsų kompiuterį ir toliau į internetą, jei tai jus domina. Kita svarbi priežastis naudoti „Node-RED“yra galimybė pateikti duomenis iš „Arduino“lengvai suprantamu būdu žmonėms, neturintiems programavimo/kodavimo patirties naudojant „Arduino“ir „Node-RED“.

Duomenų bazė Naudodami „Wampserver“, galime išsaugoti savo „Arduino“vertes duomenų bazėje. Naudojant „Wampserver“galima sukurti ir keisti savo duomenų bazę, kaip jums patinka, naudojant „phpMyAdmin“MySQL administravimui. Mūsų atveju turime šešias vertes, kurias turime išsaugoti (po vieną kiekvienai monetos rūšiai ir vieną rezultatui), todėl sukūrėme šešis stulpelius, kuriuose galima išsaugoti kiekvieną vertę.

1 žingsnis: kaip tai veikia?

Kaip tai veikia?
Kaip tai veikia?

Išsamesniame dvare dabar paaiškinsime, kaip veikia mūsų sistema.

Kaip matysite schemoje, pirmas dalykas, kurį nustato procesas, yra tada, kai moneta įdedama į tinkamą angą.

LDR šviesos jutiklis pastebės sumažėjusį šviesos kiekį, kai moneta praeis pro jutiklį, o tai paskatins „Arduino“programą padidinti kintamąjį „Antal“(skaičius) su viena, nes dabar mašinoje yra viena moneta. Tuo pačiu metu monetos vertė pridedama prie kintamojo „rezultatas“. „rezultatas“bus rodomas LCD ekrane su nauja verte.

Naujos „Antal“ir „result“reikšmės siunčiamos į „Node-RED“, kurioje prietaisų skydelis atnaujins save šiomis vertėmis. Pagaliau „Node-RED“siunčia vertes į mūsų duomenų bazę.

Ir pakartokite.

2 žingsnis: dėžutės sukūrimas

Šį kartą kurdami dėžutę naudojome „Illustrator“. Naudodami lazerinį pjaustytuvą, mes tiksliai sukūrėme šią dėžę ir funkcijas, kurių reikia mūsų projektui. Galų gale jūs turite nuspręsti, kaip sukurti geriausią dėžutę savo projektui.

3 žingsnis: pridėkite „Arduino“

Pridedamas „Arduino“
Pridedamas „Arduino“

Atėjo laikas įdiegti „Arduino“į dėžę. Tai gali būti gana sunku, nes jutiklis gali elgtis nenuspėjamai. (Nauja) Šiame žingsnyje mes pakeitėme naudojamą jutiklį dėl anksčiau minėto šių jutiklių nepatikimumo (tcrt 5000). Vietoj to mes pasirinkome paprastesnį LDR jutiklį (nuo šviesos priklausomą rezistorių). Šio jutiklio išėjimas yra analoginė vertė, kuri kinta priklausomai nuo paties jutiklį pasiekiančios šviesos kiekio.

4 žingsnis: „Arduino“kodas

Šiame etape mes sutelkiame dėmesį į programinę įrangą. „Arduino“kodas atrodo taip:

const int jutiklisPin1 = 3; // TCRT-5000 jutiklis, prijungtas prie kaiščio Nr. 2 int sensorState1 = 0; // Yra jutiklio reikšmė (aukšta/žema)

int Antal10 = 0; // Kintamasis, kuriame saugomas į mašiną įdėtų monetų kiekis int

Rezultatas = 0; // Kintamasis, kuriame saugoma bendra visų į mašiną įdėtų monetų vertė

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

void loop () {int sensorState1 = analogRead (sensorPin1); // Skaito jutiklio būseną

if (540 <sensorState1 <620) {// Kai jutiklių išėjimo vertė yra nuo 540 iki 620

Antal10 += 10; // - pro monetą praeina moneta, blokuojanti tam tikrą šviesą

rezultatas += 10; // - ir jutiklis skaitys žemesnį šviesos lygį}

Serial.print (rezultatas);

Serial.print (","); // Kintamuosius atskiria kableliu, o tai būtina skaitant kintamųjų reikšmes mazge-RED

Serial.println (Antal10); // - taip pat reikalingas, kai šios vertės turi būti saugomos duomenų bazėje

vėlavimas (100); }

Šis kodas parašytas tik vienam jutikliui, kad būtų lengviau skaityti.

Pilnas kodas:

5 žingsnis: mazgas-RAUDONAS

Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS

Kai „Arduino“kodas veikia taip, kaip turėtų, galite pradėti programuoti „Node-RED“, kuris veiks kaip tarpinis ryšys tarp „Arduino“ir duomenų bazės ir kaip vizualus mašinos veikimo rodinys. „Node-RED“programavimas susideda iš skirtingų funkcijų mazgų naudojimo ir tinkamų parametrų nustatymo, kad šie mazgai tinkamai veiktų.

Kai mūsų duomenys patenka į „Node-RED“, jie siunčiami į dvi skirtingas padalijimo funkcijas. Vienas iš šių funkcijų siunčia dabar suskaidytus duomenis į duomenų bazę. Kitas siunčia skirtingas duomenų reikšmes kiekvienam jų prietaisų skydelio mazgui, kuris dabar turėtų būti matomas prietaisų skydelyje.

Kaip jau minėta, turime šešias vertybes, kurias reikia gydyti. Turėdami „Node-Red“prietaisų skydelio galimybes, galime parodyti šias vertes, kaip matysite 3 veiksmo viršuje esančiame paveikslėlyje.

Raudonas mazgas:

6 veiksmas: duomenų bazė

Duomenų bazė
Duomenų bazė

Dabar mes naudosime duomenų bazę vertėms saugoti. Su „Wampserver“galima naudoti „phpMyAdmin“MySQL administravimui ir savo duomenų bazės kūrimui, naudojant vietinį serverį, atitinkantį jūsų konkrečius poreikius.

Pirmiausia, kurdami duomenų bazę (ūkininkų_marketa) nuo nulio, turite sudaryti lentelę (mont_tabel), kurioje saugote savo vertybes. Priklausomai nuo to, kiek turite duomenų ir kaip juos reikia užsisakyti, galite sudaryti tiek lentelių, kiek jums reikia. Kadangi turime išsaugoti šešias skirtingas vertes, todėl mūsų lentelėje reikėjo šešių stulpelių, po vieną kiekvienai vertei. Aukščiau esančioje nuotraukoje galite pamatyti mūsų duomenų bazę.

Kai mūsų duomenys patenka į „Node-RED“, jie suskaidomi padalijimo funkcija, o dabar duomenys siunčiami į duomenų bazę.

7 žingsnis: įvertinimas

Pirmiausia norime paminėti, kad pagaminus dėžę iš medžio, o ne iš kartono, visa fizinė sąranka tampa daug patikimesnė, todėl rekomenduojame tai padaryti.

Pakeitus jutiklius iš „TCRT-5000“į paprastus LDR šviesos jutiklius, atsirado daug daugiau stabilumo, nes jutikliai sugebėjo greitai perskaityti, kai eina moneta. Dirbant su TCRT-5000, reikia atsižvelgti į daugelį veiksnių, kad jutiklis veiktų taip, kaip norėtumėte.

Sistemos prijungimas prie duomenų bazės ir galimybė vizualiai pateikti savo duomenis taip, kad bet kuris asmuo, iš anksto nežinodamas šio projekto, galėtų suprasti, kas vyksta, atrodo, suteikia projektui daugiau vertės.

Rekomenduojamas: