Satura rādītājs:

UCL - IIoT - Lauksaimnieku tirgus: 7 soļi
UCL - IIoT - Lauksaimnieku tirgus: 7 soļi

Video: UCL - IIoT - Lauksaimnieku tirgus: 7 soļi

Video: UCL - IIoT - Lauksaimnieku tirgus: 7 soļi
Video: "farmers league" 2024, Jūlijs
Anonim
UCL - IIoT - lauksaimnieku tirgus
UCL - IIoT - lauksaimnieku tirgus

Farmersmarket maku var izmantot gadatirgos, zemnieku tirdziņos vai citos pasākumos, kur tiek pārdotas preces.

Farmersmarket maks ir monētu skaitīšanas iekārta, kas paredzēta, lai varētu ātri redzēt monētu kastes kopējo saturu. Lauksaimnieku tirgus maks arī augšupielādēs kopējo summu serverī, kas ieprogrammēts, izmantojot mezglu sarkano.

To veido trīs Dānijas Lillebelas universitātes koledžas studenti. Kopš mūsu iepriekšējā projekta Monētu šķirotājs mēs esam iemācījušies daudzas jaunas lietas, kuras mēs iekļausim būvē. Mēs esam izvēlējušies atteikties no monētu šķirošanas un tā vietā likt mašīnai tās saskaitīt, ievietojot tās monētu kastē.

Seifu veido pieci slaidi vai sloti, viens katram monētas veidam. Kad monēta tiek ievietota pareizajā slotā, tā nokrīt garām atstarotājam, kas nosūta HIGH signālu arduino. Mēs izmantosim signālu, lai pievienotu monētu vērtību saskaitītajai summai, parādītu to ārējā displejā un nosūtītu jauno summu uz serveri. Tiklīdz serveris saņems kopējo summu, tas atjauninās tiešsaistē atrasto lietotāja saskarni, parādot jauno kopsummu.

Kastīte ar piecām monētu ligzdām, kas ved pie pieciem atsevišķiem iekšējiem slaidiem, pa vienam katram monētas veidam: 1kr, 2kr, 5kr, 10kr, 20kr

LCD displejs, kas parāda kases augšpusē iemaksāto kopējo skaidru naudu.

Kastes augšdaļa ir nostiprināta ar lūku palīdzību. Paceļot augšpusi, tiks izņemts arduino korpuss kopā ar virsmu, kurā ir LCD, monētu sloti, atstarotāji utt., Atstājot tikai kastīti, kurā monēta ir ievietota.

Sastāvdaļas un materiāli - Instrumenti un aprīkojums kastes izgatavošanai (var būt kartons vai koks)

- Arduino Mega 2560

- 30 džemperi

- 5 x LDR "gaismas sensors"

- 5 x 220 omi rezistori

- 5 x 10k omu rezistori

- 5 x baltas gaismas diodes

- LCD 16x02 modulis

- Monētas

Kods Arduino valodā

Kā minēts iepriekš, šis projekts ir radies no kāda agrāka projekta, kuru mēs veicām aptuveni pirms astoņiem mēnešiem (https://www.instructables.com/id/Coin-Sorting-Machine/). Šī iemesla dēļ mēs varam atkārtoti izmantot lielu koda daļu arduino, lai gan tajā ir dažas mazākas izmaiņas. Kā redzēsit, kods ir diezgan vienkāršs, ko vajadzētu saprast jebkurai personai, kurai ir neliela pieredze darbā ar Arduino.

Mezgls-SARKANS Mezgls-SARKANS ir rīks, ko mēs izmantosim, lai iegūtu datus no arduino un jūsu datora, kā arī tālāk internetā, ja tas ir jūsu interesēs. Vēl viens svarīgs iemesls izmantot Node-RED ir spēja sniegt datus no Arduino viegli saprotamā veidā cilvēkiem, kuriem nav programmēšanas/kodēšanas pieredzes ar Arduino un Node-RED.

Datu bāze Izmantojot Wampserver, mēs varam saglabāt savas Arduino vērtības datu bāzē. Izmantojot Wampserver, ir iespējams izveidot un mainīt savu datu bāzi, kā vēlaties, izmantojot phpMyAdmin MySQL administrēšanai. Mūsu gadījumā mums ir jāuzglabā sešas vērtības (viena katrai monētas veidam un viena rezultātam), un tāpēc mēs esam izveidojuši sešas kolonnas, kurās var glabāt katru vērtību.

1. darbība. Kā tas darbojas?

Kā tas darbojas?
Kā tas darbojas?

Detalizētākā muižā mēs tagad paskaidrosim, kā darbojas mūsu sistēma.

Kā redzat blokshēmā, pirmā lieta, kas nosaka procesu, ir tad, kad monēta tiek ievietota pareizajā slotā.

LDR gaismas sensors pamanīs samazināto gaismas daudzumu, kad monēta iet garām sensoram, kas aktivizēs Arduino programmu, lai palielinātu mainīgo "Antal" (skaits) ar vienu, jo tagad mašīnā ir viena monēta. Tajā pašā laikā monētas vērtība tiek pievienota mainīgajam "rezultāts". "rezultāts" tiks parādīts LCD ar jauno vērtību.

Jaunās "Antal" un "result" vērtības tiek nosūtītas uz Node-RED, kurā informācijas panelis atjauninās sevi ar šīm vērtībām. Beidzot Node-RED nosūta vērtības uz mūsu datu bāzi.

Un atkārtojiet.

2. darbība: kastes izgatavošana

Šoreiz kastes noformēšanai izmantojām Illustrator. Ar lāzera griezēju mēs esam precīzi izstrādājuši šo kasti un funkcijas, kas nepieciešamas mūsu projektam. Galu galā jūsu ziņā ir izlemt, kā izveidot ideālu kastīti savam projektam.

3. darbība: pievienojiet Arduino

Arduino pievienošana
Arduino pievienošana

Ir pienācis laiks ieviest Arduino kastē. Tas var būt diezgan grūti, jo sensors var rīkoties neparedzami. (Jauns) Šajā solī mēs esam mainījuši mūsu izmantoto sensoru, ņemot vērā iepriekš minēto sensoru neuzticamību (tcrt 5000). Tā vietā mēs esam izvēlējušies vienkāršāku LDR sensoru (no gaismas atkarīgs rezistors). Šī sensora izeja ir analogā vērtība, kas mainās atkarībā no gaismas daudzuma, kas sasniedz pašu sensoru.

4. solis: Arduino kods

Šajā solī mēs koncentrējamies uz programmatūru. Arduino kods izskatās šādi:

const int sensorsPin1 = 3; // TCRT-5000 sensors, kas pievienots tapai Nr. 2 int sensorsState1 = 0; // Satur sensora vērtību (augsts/zems)

int Antal10 = 0; // Mainīgais, kas saglabā mašīnā ievietoto monētu daudzumu int

Rezultāts = 0; // Mainīgais, kas saglabā visu mašīnā ievietoto monētu kopējo vērtību

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

void loop () {int sensorState1 = analogRead (sensorPin1); // Nolasa sensora stāvokli

if (540 <sensorState1 <620) {// Ja sensoru izejas vērtība ir no 540 līdz 620

Antal10 += 10; // - garām sensoram iet monēta, kas bloķē kādu gaismu

rezultāts += 10; // - un sensors nolasīs zemāku gaismas līmeni}

Sērijas nospiedums (rezultāts);

Serial.print (","); // Atdala mainīgos ar komatu, kas ir nepieciešams, lasot mainīgo vērtības mezglā-RED

Serial.println (Antal10); // - un arī nepieciešams, ja šīs vērtības ir jāglabā datu bāzē

kavēšanās (100); }

Šis kods ir rakstīts tikai vienam sensoram, lai to būtu vieglāk lasīt.

Pilns kods:

5. solis: mezgls-SARKANS

Mezgls-SARKANS
Mezgls-SARKANS
Mezgls-SARKANS
Mezgls-SARKANS

Kad Arduino kods darbojas tā, kā tam vajadzētu būt, jūs varat sākt programmēt Node-RED, kas darbosies kā starpposma saite starp Arduino un datu bāzi un kā vizuāls attēlojums mašīnas darbībai. Node-RED programmēšana sastāv no mezglu ar dažādām funkcijām izmantošanas un pareizu parametru ievadīšanas, lai šie mezgli darbotos pareizi.

Kad mūsu dati nonāk mezglā-RED, tie tiek nosūtīti divām dažādām sadalīšanas funkcijām. Viena no šīm funkcijām nosūta tagad sadalītos datus uz datu bāzi. Otrs katram informācijas paneļa mezglam nosūta dažādas datu vērtības, kurām tagad vajadzētu būt redzamām informācijas panelī.

Kā jau minēts, mums ir sešas vērtības, kas jāapstrādā. Izmantojot mezgla-sarkanā paneļa iespējas, mēs varam parādīt šīs vērtības, kā redzat attēlā pa labi, 3. darbības augšdaļā.

Mezgls-SARKANS kods:

6. darbība. Datu bāze

Datu bāze
Datu bāze

Tagad mēs izmantosim datu bāzi, lai saglabātu vērtības. Izmantojot Wampserver, ir iespējams izmantot phpMyAdmin, lai pārvaldītu MySQL un izveidotu savu datu bāzi, izmantojot vietējo serveri, kas atbilst jūsu īpašajām vajadzībām.

Vispirms, veidojot datu bāzi (lauksaimnieku_tirgus) no nulles, jums jāizveido tabula (mont_tabel), kurā jūs glabājat savas vērtības. Atkarībā no tā, cik daudz datu jums ir un kā tie jāpasūta, varat izveidot tik daudz tabulu, cik nepieciešams. Tā kā mums ir jāglabā sešas dažādas vērtības, un tāpēc mūsu tabulā vajadzēja sešas kolonnas, pa vienai katrai vērtībai. Augšējā attēlā jūs varat redzēt mūsu datu bāzi.

Kad mūsu dati nonāk mezglā RED, tos sadala sadalīšanas funkcija, un tagadējie dati tiek nosūtīti uz datu bāzi.

7. solis: novērtēšana

Vispirms mēs vēlamies pieminēt, ka kastes izgatavošana no koka, nevis kartona, padara visu fizisko iestatījumu daudz uzticamāku, un tāpēc mēs iesakām to darīt.

Sensora maiņa no TCRT-5000 uz vienkāršu LDR gaismas sensoru nodrošināja daudz lielāku stabilitāti, piemēram, sensoru spēju ātri nolasīt, kad iet garām monēta. Strādājot ar TCRT-5000, ir jāņem vērā daudzi faktori, lai sensors darbotos tā, kā vēlaties.

Sistēmas pieslēgšana datubāzei un iespēja vizuāli parādīt savus datus tādā veidā, ka jebkura persona bez iepriekš zināmām zināšanām par šo projektu spēj saprast notiekošo, šķiet, piešķir projektam lielāku vērtību.

Ieteicams: