Innholdsfortegnelse:

UCL - IIoT - Farmers Market: 7 trinn
UCL - IIoT - Farmers Market: 7 trinn

Video: UCL - IIoT - Farmers Market: 7 trinn

Video: UCL - IIoT - Farmers Market: 7 trinn
Video: Noel Gallagher being a gentleman outside The Etihad the other night. 2024, Juli
Anonim
UCL - IIoT - Farmers Market
UCL - IIoT - Farmers Market

Farmersmarket -lommeboken kan brukes på messer, bondemarkeder eller andre sammenkomster der varer selges.

Farmersmarket -lommeboken er en myntteller, laget for å gjøre det mulig å raskt se det totale innholdet i en eske som inneholder mynter. Farmersmarket-lommeboken vil også laste opp summen til en server som er programmert via Node-red.

Den er laget av tre studenter ved University College Lillebælt i Danmark. Siden vårt forrige prosjekt, Myntsortereren, har vi lært mange nye ting som vi vil inkorporere i bygget. Vi har valgt å slippe sorteringen av myntene og i stedet få maskinen til å telle dem og sette dem i en felles myntboks.

Lommeboken består av fem lysbilder eller spor, en for hver mynttype. Når en mynt settes inn i den riktige sporet, vil den falle ned forbi en reflektor, som sender et HØYT signal til arduinoen. Vi vil bruke signalet til å legge til myntverdien til den tellede summen, vise den på den eksterne skjermen og sende den nye totalen til en server. Når serveren mottar totalen, oppdaterer den et brukergrensesnitt som er funnet på nettet og viser den nye totalen.

Beskrivelse En eske med fem myntspor som fører til fem individuelle, interne lysbilder, en for hver mynttype: 1kr, 2kr, 5kr, 10kr, 20kr

En LCD -skjerm som viser den totale kontantinnbetalingen på toppen av esken.

Toppen av boksen er festet med luker. Når du løfter toppen, fjernes arduinohuset sammen med toppen som inneholder LCD -skjermen, myntspor, reflektorer osv., Og det er bare boksen der mynten er plassert.

Komponenter og materialer - Verktøy og utstyr for å lage en eske (kan være papp eller tre)

- Arduino Mega 2560

- 30 jumperwires

- 5 x LDR "lyssensor"

- 5 x 220 ohm motstander

- 5 x 10k ohm motstander

- 5 x hvite lysdioder

- LCD 16x02 -modul

- Mynt

Kode i Arduino

Som nevnt tidligere stammer dette prosjektet fra et tidligere prosjekt vi laget for omtrent åtte måneder siden (https://www.instructables.com/id/Coin-Sorting-Machine/). På grunn av dette kan vi gjenbruke en stor del av koden i arduino, selv om det er noen mindre endringer i den. Som du vil se er koden ganske enkel, noe enhver person med litt erfaring med Arduino burde kunne forstå.

Node-RED Node-RED er verktøyet vi vil bruke for å hente dataene fra arduinoen og til datamaskinen din, og videre til internett, hvis det er i din interesse. En annen viktig grunn til å bruke Node-RED, er evnen til å presentere data fra Arduino på en måte som er lett å forstå, for folk som ikke har noen programmerings-/kodingserfaring med Arduino og Node-RED.

Database Ved hjelp av Wampserver kan vi lagre våre verdier fra Arduino i en database. Med Wampserver er det mulig å lage og veksle din egen database som du vil, ved å bruke phpMyAdmin for å administrere MySQL. I vårt tilfelle har vi seks verdier vi trenger å lagre (en for hver mynttype og en for resultatet), og derfor har vi opprettet seks kolonner der hver verdi kan lagres.

Trinn 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

I en mer detaljert herregård vil vi nå forklare hvordan systemet vårt fungerer.

Som du vil se på flytskjemaet, er det første som setter prosessen, når en mynt settes inn i den riktige sporet.

LDR -lyssensoren vil merke den reduserte lysmengden når mynten passerer sensoren, noe som vil utløse Arduino -programmet for å øke variabelen "Antal" (Antall) med en, siden det nå er en mynt i maskinen. Samtidig legges verdien av mynten til variabelen "resultat". "resultat" vises på LCD -skjermen med den nye verdien.

De nye verdiene "Antal" og "resultat" sendes til Node-RED, der dashbordet vil oppdatere seg selv med disse verdiene. Endelig sender Node-RED verdiene til databasen vår.

Og gjenta.

Trinn 2: Lag en boks

Denne gangen har vi brukt Illustrator til å designe boksen vår. Med en laserskærer har vi vært i stand til å lage denne boksen og funksjonene som kreves for prosjektet vårt. Til slutt er det opp til deg å bestemme hvordan du skal lage den perfekte esken for prosjektet ditt.

Trinn 3: Legge til Arduino

Legger til Arduino
Legger til Arduino

Det er på tide å implementere Arduino i esken. Dette kan være ganske vanskelig, da sensoren kan oppføre seg uforutsigbart. (Nytt) I dette trinnet har vi endret sensoren vi bruker på grunn av den tidligere nevnte upåliteligheten til disse sensorene (tcrt 5000). I stedet har vi valgt en mer enkel LDR-sensor (Lysavhengig motstand). Utgangen fra denne sensoren er en analog verdi, som endres avhengig av mengden lys som når sensoren selv.

Trinn 4: Arduino -kode

I dette trinnet legger vi fokus på programvaren. Arduino -koden ser slik ut:

const int sensorPin1 = 3; // TCRT-5000 sensor som er koblet til pin nr. 2 int sensorState1 = 0; // Inneholder verdien til sensoren (Høy/lav)

int Antal10 = 0; // Variabel som lagrer mengden mynter som er lagt inn i maskinen int

Resultat = 0; // Variabel som lagrer den samlede verdien av alle mynter som legges i maskinen

ugyldig oppsett () {Serial.begin (9600); }

void loop () {int sensorState1 = analogRead (sensorPin1); // Leser sensorens tilstand

if (540 <sensorState1 <620) {// Når sensorens utgangsverdi er mellom 540 og 620

Antal10 += 10; // - det er en mynt som passerer sensoren, som blokkerer noe lys

resultat += 10; // - og sensoren vil lese et lavere lysnivå}

Serial.print (Resultat);

Serial.print (","); // Skiller variablene med komma, noe som er nødvendig når du leser verdiene til variabler i Node-RED

Serial.println (Antal10); // - og også nødvendig når disse verdiene skal lagres i databasen

forsinkelse (100); }

Denne koden er kun skrevet for en sensor, for å gjøre den lettere å lese.

Komplett kode:

Trinn 5: Node-RØD

Node-RØD
Node-RØD
Node-RØD
Node-RØD

Når Arduino-koden kjører som den skal, kan du begynne å programmere Node-RED, som kommer til å fungere som midtlinjen mellom Arduino og databasen og som en visuell visning av hvordan maskinen fungerer. Programmeringen av Node-RED består av å bruke noder med forskjellige funksjoner, og sette inn de riktige parametrene for at disse nodene skal fungere skikkelig.

Når dataene våre kommer i Node-RED, blir de sendt til to forskjellige delingsfunksjoner. En av disse funksjonene sender dataene som nå er splittet videre til databasen. Den andre sender de forskjellige dataværdiene videre til hver av dashbordets noder, som nå skal være synlige på dashbordet.

Som nevnt ealier har vi seks verdier som skal behandles. Med dashbordets evner til Node-Red er vi i stand til å vise disse verdiene, som du ser på bildet til høyre øverst i trinn 3.

Node-RØD kode:

Trinn 6: Database

Database
Database

Nå skal vi bruke en database for å lagre verdiene. Med Wampserver er det mulig å bruke phpMyAdmin til å administrere MySQL og lage din egen database, ved å bruke en lokal server for å passe dine spesifikke behov.

Først når du lager en database (bønder_marked) fra bunnen av, må du lage en tabell (mont_tabel), der du lagrer verdiene dine. Avhengig av hvor mye data du har, og hvordan du trenger å bestille dem, kan du lage så mange bord du trenger. Fordi vi trenger å lagre seks forskjellige verdier, og vi trengte derfor seks kolonner, en for hver verdi, i tabellen vår. På bildet ovenfor kan du se databasen vår.

Når dataene våre kommer til Node-RED, blir de splittet av en delt funksjon, og dataene som nå sendes videre til databasen.

Trinn 7: Evaluering

Først vil vi nevne at det å gjøre esken av tre i stedet for papp gjør hele det fysiske oppsettet mye mer pålitelig, og vi anbefaler derfor å gjøre det.

Å bytte sensorene fra en TCRT-5000 og til en enkel LDR lyssensor ga mye mer stabilitet, når det gjelder sensorers evne til raskt å lese når en mynt går forbi den. Når du arbeider med en TCRT-5000 er det mange faktorer som må tas i betraktning, for at sensoren skal fungere som du vil.

Å koble systemet til en database og visuelt kunne presentere dataene dine på en måte som enhver person uten forhåndskunnskap om dette prosjektet er i stand til å forstå hva som skjer, ser ut til å gi prosjektet mer verdi.

Anbefalt: