Innehållsförteckning:

UCL - IIoT - Farmers Market: 7 steg
UCL - IIoT - Farmers Market: 7 steg

Video: UCL - IIoT - Farmers Market: 7 steg

Video: UCL - IIoT - Farmers Market: 7 steg
Video: Can You Legally Buy a Real Human Skeleton? 2024, November
Anonim
UCL - IIoT - Farmers Market
UCL - IIoT - Farmers Market

Farmersmarket -plånboken kan användas på mässor, bondemarknader eller andra sammankomster där varor säljs.

Farmersmarket -plånboken är en mynträknare, gjord för att snabbt kunna se det totala innehållet i en låda med mynt. Farmersmarket-plånboken laddar också upp summan till en server programmerad via Node-red.

Den är gjord av tre studenter vid University College Lillebælt i Danmark. Sedan vårt tidigare projekt, Myntsorteraren, har vi lärt oss många nya saker som vi kommer att införliva i bygget. Vi har valt att avstå från sorteringen av mynten och istället låta maskinen räkna dem och lägga dem i en gemensam myntlåda.

Plånboken består av fem diabilder eller kortplatser, en för varje mynttyp. När ett mynt sätts i rätt plats kommer det att falla ner förbi en reflektor, som skickar en HÖG signal till arduinoen. Vi kommer att använda signalen för att lägga till myntvärdet till den räknade summan, visa den på den externa displayen och skicka den nya summan till en server. När servern har fått totalt kommer den att uppdatera ett användargränssnitt som hittats online och visar det nya totalen.

Beskrivning En låda med fem myntplatser som leder till fem individuella, interna bilder, en för varje mynttyp: 1kr, 2kr, 5kr, 10kr, 20kr

En LCD -skärm som visar det totala kontantbeloppet ovanpå lådan.

Lådans ovansida är säkrad med luckor. Lyftning av toppen tar ut arduinohuset tillsammans med toppen som innehåller LCD -skärmen, myntplatser, reflektorer ect.

Komponenter och material - Verktyg och utrustning för att göra en låda (kan vara kartong eller trä)

- Arduino Mega 2560

- 30 bygeltrådar

- 5 x LDR "Ljussensor"

- 5 x 220 ohm motstånd

- 5 x 10k ohm motstånd

- 5 x vita lysdioder

- LCD 16x02 -modul

- Mynt

Kod i Arduino

Som tidigare nämnts kommer detta projekt från ett tidigare projekt som vi gjorde för ungefär åtta månader sedan (https://www.instructables.com/id/Coin-Sorting-Machine/). På grund av detta kan vi återanvända en stor del av koden i arduino, även om det finns några mindre ändringar i den. Som du ser är koden ganska enkel, vilket alla som har lite erfarenhet av Arduino borde kunna förstå.

Node-RED Node-RED är verktyget vi kommer att använda för att hämta data från arduino och till din dator, och vidare till internet, om det är i ditt intresse. En annan viktig anledning att använda Node-RED är möjligheten att presentera data från Arduino på ett lättförståeligt sätt för personer som inte har någon programmerings-/kodningserfarenhet med Arduino och Node-RED.

Databas Med Wampserver kan vi lagra våra värden från Arduino i en databas. Med Wampserver är det möjligt att skapa och alternera din egen databas som du vill, med hjälp av phpMyAdmin för att administrera MySQL. I vårt fall har vi sex värden som vi behöver lagra (ett för varje myntslag och ett för resultatet), och därför har vi skapat sex kolumner där varje värde kan lagras.

Steg 1: Hur fungerar det?

Hur fungerar det?
Hur fungerar det?

I en mer detaljerad herrgård kommer vi nu att förklara hur vårt system fungerar.

Som du kommer att se på flödesschemat är det första som sätter i processen, när ett mynt sätts i rätt plats.

LDR -ljussensorn kommer att märka den minskade mängden ljus när myntet passerar sensorn, vilket kommer att utlösa Arduino -programmet för att öka variabeln "Antal" (Antal) med ett, eftersom det nu finns ett mynt i maskinen. Samtidigt läggs myntets värde till variabeln "resultat". "resultat" kommer att visas på LCD -skärmen med dess nya värde.

De nya värdena "Antal" och "resultat" skickas till Node-RED, där instrumentpanelen uppdaterar sig själv med dessa värden. Äntligen skickar Node-RED värdena till vår databas.

Och upprepa.

Steg 2: Gör en låda

Den här gången har vi använt Illustrator för att designa vår låda. Med en laserskärare har vi gjort exakt den här lådan och de funktioner som krävs för vårt projekt. I slutändan är det upp till dig att bestämma hur du gör den perfekta lådan för ditt projekt.

Steg 3: Lägga till Arduino

Lägger till Arduino
Lägger till Arduino

Det är dags att implementera Arduino i lådan. Detta kan vara ganska svårt, eftersom sensorn kan bete sig oförutsägbar. (Nytt) I det här steget har vi ändrat sensorn vi använder på grund av den tidigare nämnda opålitligheten hos dessa sensorer (tcrt 5000). Istället har vi valt en enklare LDR-sensor (ljusberoende motstånd). Utsignalen från denna sensor är ett analogt värde, som ändras beroende på mängden ljus som når själva sensorn.

Steg 4: Arduino -kod

I detta steg lägger vi fokus på programvaran. Arduino -koden ser ut så här:

const int sensorPin1 = 3; // TCRT-5000 sensor som är ansluten till stift nr. 2 int sensorState1 = 0; // Innehåller sensorns värde (hög/låg)

int Antal10 = 0; // Variabel som lagrar mängden mynt som har satts i maskinen int

Resultat = 0; // Variabel som lagrar det sammanlagda värdet av alla mynt som läggs i maskinen

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

void loop () {int sensorState1 = analogRead (sensorPin1); // Läser sensorns tillstånd

if (540 <sensorState1 <620) {// När sensorns utgångsvärde är mellan 540 och 620

Antal10 += 10; // - det är ett mynt som passerar sensorn, vilket blockerar lite ljus

resultat += 10; // - och sensorn läser en lägre ljusnivå}

Serial.print (Resultat);

Serial.print (","); // Separerar variablerna med ett komma, vilket är nödvändigt när man läser värdena på variabler i Node-RED

Serial.println (Antal10); // - och behövs också när dessa värden ska lagras i databasen

fördröjning (100); }

Denna kod är skriven endast för en sensor, för att göra den lättare att läsa.

Komplett kod:

Steg 5: Nod-RÖD

Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD

När Arduino-koden körs som den ska, kan du börja programmera Node-RED, som kommer att fungera som mellanlänk mellan Arduino och databasen och som en visuell visning av hur maskinen fungerar. Programmeringen av Node-RED består av att använda noder med olika funktioner och sätta in rätt parametrar för att dessa noder ska fungera korrekt.

När våra data anländer i Node-RED skickas den till två olika delningsfunktioner. En av dessa funktioner skickar data som nu delas upp till databasen. Den andra skickar de olika datavärdena till var och en av deras instrumentpanelns noder, som nu borde vara synliga på instrumentpanelen.

Som tidigare nämnts har vi sex värden som ska behandlas. Med Node-Reds instrumentpanelsförmåga kan vi visa dessa värden, som du ser på bilden till höger högst upp i steg 3.

Nod-RÖD kod:

Steg 6: Databas

Databas
Databas

Nu ska vi använda en databas för att lagra värdena. Med Wampserver är det möjligt att använda phpMyAdmin för att administrera MySQL och skapa din egen databas, med hjälp av en lokal server som passar dina specifika behov.

Först när du skapar en databas (farmer_market) från grunden måste du göra en tabell (mont_tabel), där du lagrar dina värden. Beroende på hur mycket data du har och hur du behöver beställa den kan du göra så många bord som du behöver. Eftersom vi behöver lagra sex olika värden, och vi därför behövde sex kolumner, en för varje värde, i vår tabell. På bilden ovan kan du se vår databas.

När våra data anländer i Node-RED, delas den upp med en delningsfunktion och nu data skickas till databasen.

Steg 7: Utvärdering

Först och främst vill vi nämna att att göra lådan av trä istället för kartong gör hela den fysiska installationen mycket mer tillförlitlig, och vi rekommenderar därför att göra det.

Att byta sensorer från en TCRT-5000 och till en enkel LDR-ljussensor gav mycket mer stabilitet när det gäller sensornas förmåga att snabbt läsa när ett mynt går förbi det. När du arbetar med en TCRT-5000 är det många faktorer som måste beaktas för att sensorn ska fungera som du vill.

Att ansluta systemet till en databas och visuellt kunna presentera dina data på ett sätt, så att alla som inte har någon förkunskap om detta projekt, kan förstå vad som händer, verkar ge projektet mer värde.

Rekommenderad: