Indholdsfortegnelse:

UCL - IIoT - Farmers Market: 7 trin
UCL - IIoT - Farmers Market: 7 trin

Video: UCL - IIoT - Farmers Market: 7 trin

Video: UCL - IIoT - Farmers Market: 7 trin
Video: 20 MOMENTS YOU WOULDN'T BELIEVE IF NOT FILMED 2024, Juli
Anonim
UCL - IIoT - Farmers Market
UCL - IIoT - Farmers Market

Farmersmarket -pungen kan bruges på messer, landmændsmarkeder eller andre sammenkomster, hvor der sælges varer.

Farmersmarket -tegnebogen er en mønttællemaskine, der er lavet til at gøre det muligt hurtigt at se det samlede indhold af en kasse, der indeholder mønter. Farmersmarket-tegnebogen vil også uploade det samlede beløb til en server, der er programmeret via Node-red.

Det er lavet af tre studerende fra University College Lillebælt i Danmark. Siden vores tidligere projekt, The coin sorter, har vi lært mange nye ting, som vi vil inkorporere i bygningen. Vi har valgt at opgive sorteringen af mønterne og i stedet få maskinen til at tælle dem og deponere dem i en fælles møntkasse.

Pungen består af fem dias eller slots, en for hver type mønt. Når en mønt sættes i den korrekte slot, falder den ned forbi en reflektor, som sender et HØJT signal til arduinoen. Vi vil bruge signalet til at tilføje møntværdien til det tællede total, vise det på det eksterne display og sende det nye total til en server. Når serveren modtager det samlede beløb, opdaterer den et brugergrænseflade fundet online, der viser det nye total.

Beskrivelse En kasse med fem møntåbninger, der fører til fem individuelle, interne dias, en for hver mønttype: 1kr, 2kr, 5kr, 10kr, 20kr

Et LCD -display, der viser de samlede kontanter, der er deponeret oven på kassen.

Øverst på kassen er fastgjort med luger. Løftning af toppen fjerner arduinohuset sammen med toppen indeholdende LCD'et, møntåbninger, reflektorer ect.

Komponenter og materialer - Værktøjer og udstyr til fremstilling af en kasse (kan være pap eller træ)

- Arduino Mega 2560

- 30 jumperwires

- 5 x LDR "lyssensor"

- 5 x 220 ohm modstande

- 5 x 10k ohm modstande

- 5 x hvide lysdioder

- LCD 16x02 modul

- Mønter

Kode i Arduino

Som nævnt tidligere stammer dette projekt fra et tidligere projekt, vi lavede for cirka otte måneder siden (https://www.instructables.com/id/Coin-Sorting-Machine/). På grund af dette er vi i stand til at genbruge en stor del af koden i arduino, selvom der er nogle mindre ændringer i den. Som du vil se, er koden ret enkel, hvilket enhver person med lidt erfaring med Arduino burde kunne forstå.

Node-RED Node-RED er det værktøj, vi vil bruge til at hente dataene fra arduinoen og til din computer og videre til internettet, hvis det er i din interesse. En anden vigtig grund til at bruge Node-RED er evnen til at præsentere data fra Arduino på en måde, der er let at forstå, for folk, der ikke har nogen programmerings-/kodningserfaring med Arduino og Node-RED.

Database Ved hjælp af Wampserver kan vi gemme vores værdier fra Arduino i en database. Med Wampserver er det muligt at oprette og skifte din egen database, som du vil, ved hjælp af phpMyAdmin til at administrere MySQL. I vores tilfælde har vi seks værdier, vi skal gemme (en for hver slags mønt og en for resultatet), og derfor har vi oprettet seks kolonner, hvor hver værdi kan gemmes.

Trin 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

I en mere detaljeret herregård vil vi nu forklare, hvordan vores system fungerer.

Som du vil se på rutediagrammet, er det første, der sætter processen, når en mønt sættes i den korrekte slot.

LDR -lyssensoren bemærker den reducerede mængde lys, når mønten passerer sensoren, hvilket vil udløse Arduino -programmet til at øge variablen "Antal" (Antal) med en, da der nu er en mønt i maskinen. Samtidig tilføjes værdien af mønten til variablen "resultat". "resultat" vises på LCD'en med den nye værdi.

De nye værdier for "Antal" og "resultat" sendes til Node-RED, hvor dashboardet vil opdatere sig selv med disse værdier. Endelig sender Node-RED værdierne til vores database.

Og gentag.

Trin 2: Lav en kasse

Denne gang har vi brugt Illustrator til at designe vores boks. Med en laserskærer har vi været til præcis at udforme denne boks og de funktioner, der kræves til vores projekt. I sidste ende er det op til dig at beslutte, hvordan du laver den perfekte æske til dit projekt.

Trin 3: Tilføjelse af Arduino

Tilføjelse af Arduino
Tilføjelse af Arduino

Det er tid til at implementere Arduino i kassen. Dette kan være ret svært, da sensoren kan opføre sig uforudsigelig. (Nyt) I dette trin har vi ændret den sensor, vi bruger, på grund af den førnævnte upålidelighed af disse sensorer (tcrt 5000). I stedet har vi valgt en mere enkel LDR-sensor (Lysafhængig modstand). Outputtet fra denne sensor er en analog værdi, der ændres afhængigt af mængden af lys, der når sensoren selv.

Trin 4: Arduino -kode

I dette trin sætter vi fokus på softwaren. Arduino -koden ser sådan ud:

const int sensorPin1 = 3; // TCRT-5000 sensor, der er tilsluttet pin nr. 2 int sensorState1 = 0; // Indeholder sensorens værdi (høj/lav)

int Antal10 = 0; // Variabel, der gemmer mængden af mønter, der er lagt i maskinen int

Resultat = 0; // Variabel, der gemmer den samlede værdi af alle mønter, der lægges i maskinen

ugyldig opsætning () {Serial.begin (9600); }

void loop () {int sensorState1 = analogRead (sensorPin1); // Læser sensorens tilstand

if (540 <sensorState1 <620) {// Når sensorernes udgangsværdi er mellem 540 og 620

Antal10 += 10; // - der er en mønt, der passerer sensoren, som blokerer noget lys

resultat += 10; // - og sensoren læser et lavere lysniveau}

Serial.print (Resultat);

Serial.print (","); // Adskiller variablerne med et komma, hvilket er nødvendigt, når man læser værdierne for variabler i Node-RED

Serial.println (Antal10); // - og også nødvendig når disse værdier skal gemmes i databasen

forsinkelse (100); }

Denne kode er kun skrevet til en sensor, for at gøre den lettere at læse.

Komplet kode:

Trin 5: Node-RØD

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

Når Arduino-koden kører som den skal, kan du begynde at programmere Node-RED, som kommer til at fungere som mellemlinjen mellem Arduino og databasen og som en visuel visning af, hvordan maskinen fungerer. Programmeringen af Node-RED består i at bruge noder med forskellige funktioner og indsætte de rigtige parametre for at disse noder fungerer korrekt.

Når vores data ankommer i Node-RED, sendes de til to forskellige splitfunktioner. En af disse funktioner sender de nu opdelte data videre til databasen. Den anden sender de forskellige dataværdier videre til hver deres dashboard -knudepunkter, som nu skulle kunne ses på instrumentbrættet.

Som nævnt ealier har vi seks værdier, der skal behandles. Med Node-Reds instrumentbræt-evner er vi i stand til at vise disse værdier, som du kan se på billedet til højre øverst i trin 3.

Node-RØD kode:

Trin 6: Database

Database
Database

Nu skal vi bruge en database til at gemme værdierne. Med Wampserver er det muligt at bruge phpMyAdmin til at administrere MySQL og lave din egen database ved hjælp af en lokal server, der passer til dine specifikke behov.

Først når du laver en database (farmer_market) fra bunden, skal du lave en tabel (mont_tabel), hvor du gemmer dine værdier. Afhængigt af hvor mange data du har, og hvordan du skal bestille dem, kan du lave så mange borde, som du har brug for. Fordi vi skal gemme seks forskellige værdier, og vi derfor havde brug for seks kolonner, en for hver værdi, i vores tabel. På billedet ovenfor kan du se vores database.

Når vores data ankommer i Node-RED, opdeles de af en splitfunktion, og de nu data sendes videre til databasen.

Trin 7: Evaluering

Først og fremmest vil vi nævne, at det at gøre boksen ud af træ i stedet for pap gør hele det fysiske setup meget mere pålideligt, og vi anbefaler derfor at gøre det.

Ændring af sensorerne fra en TCRT-5000 og til en simpel LDR lyssensor gav meget mere stabilitet, hvad angår sensorernes evne til hurtigt at læse, når der går en mønt forbi den. Når du arbejder med en TCRT-5000, er der mange faktorer, der skal tages i betragtning, for at sensoren kan fungere, som du gerne vil.

Tilslutning af systemet til en database og visuelt at kunne præsentere dine data på en måde, som enhver person uden forudgående kendskab til dette projekt, er i stand til at forstå, hvad der foregår, synes at give projektet mere værdi.

Anbefalede: