Inhoudsopgave:

UCL - Industrie 4.0: Snoepmixer 4.000 - Ajarnpa
UCL - Industrie 4.0: Snoepmixer 4.000 - Ajarnpa

Video: UCL - Industrie 4.0: Snoepmixer 4.000 - Ajarnpa

Video: UCL - Industrie 4.0: Snoepmixer 4.000 - Ajarnpa
Video: Beyond 4.0 2024, November
Anonim
UCL - Industrie 4.0: Snoepmixer 4.000
UCL - Industrie 4.0: Snoepmixer 4.000

Voor ons project in Industrie 4.0 hebben we besloten om een mixer voor snoep te maken. Het idee is dat we een gebruikerspaneel hebben, gemaakt in Node-Red, waar klanten hun snoep kunnen bestellen, waarna een arduino de bestelling verwerkt en het snoep in een kom mengt. Dan hebben we een database in SQL waarin we statische gegevens bijhouden over welke soorten snoep het meest worden besteld en het bestelde volume.

Het eerste ontwerp was om een mixer te maken voor 8 soorten snoep, en motoren te hebben om de snoepcontainers te openen en te sluiten. We hadden wat ontwerpproblemen met de containers, het snoep bleef maar vastlopen, dus besloten we de motoren te verlaten en enkele LED's te gebruiken om aan te geven dat de motoren draaien.

Stap 1: Het ontwerp

Het ontwerp
Het ontwerp
Het ontwerp
Het ontwerp

Ons model is gemaakt met 4 containers voor het snoep, waarbij een schuifdeksel wordt gebruikt om het snoep te openen en te sluiten. Onder de containers hebben we een stortkoker tot aan een kom. De kom staat dan bovenop een loadcel.

Het ontwerp in Node-Red is opgedeeld in 2 secties, Klant en Administratie.

In het klantengedeelte hebben we 5 knoppen, waarvan er 4 worden gebruikt voor het bestellen van snoep en 1 wordt gebruikt om de aankoop te accepteren. Met de aankoopknop kan de klant het gewicht van het snoep zien en de verwachte prijs, en wanneer op de aankoopknop wordt gedrukt, verschijnen het gewicht en de prijs in gekocht.

In de administratie kunnen we zien hoe vol onze containers zijn en hoeveel snoep er in totaal is gekocht.

In SQL kunnen we statistieken zien over welk snoepje wordt gekozen en het totale gewicht en inkomen van de aankopen.

Stap 2: De Arduino Curcuit

De Arduino Curcuit
De Arduino Curcuit

Op het arduino bord hebben we 4 drukknoppen, 4 tweekleurige LED's en 1 load cell met een HX711 module aangesloten.

De drukknoppen worden gebruikt voor de snoepoperator om te drukken wanneer de containers zijn gevuld met snoep.

De tweekleurige LED maakt gebruik van rode en groene kleuren. De rode kleur geeft aan dat de container leeg is en gevuld moet worden, en de groene kleur geeft aan wat voor snoep er is gekozen en dan kunnen we voor die container openen. Dit onderdeel zou geautomatiseerd zijn, maar vanwege ontwerpproblemen hebben we besloten om het handmatig te maken.

Stap 3: I/O-lijst

I/O-lijst
I/O-lijst

Van de load cell krijgen we 4 kabels, die worden aangesloten op een HX711-module

Rood naar E+

Wit naar E-

Groen naar A-

Geel tot A+

De HX711 is dan verbonden met het Arduino-bord met:

GND naar aarde

DT naar pin 3

SCK naar pin 2

VCC naar 5V

Onze drukknoppen zijn aangesloten op pinnen 44, 46, 48 en 50, de groene LED is aangesloten op pinnen 30, 32, 34 en 36, de rode LED is aangesloten op pinnen 31, 33, 35 en 37.

Stap 4: De code

In de Arduino-code beginnen we met het definiëren van onze variabelen en het instellen van onze LED's en drukknoppen op enkele pinnen.

We hebben ook een variabele ingesteld om het bestand van Node-Red te ontvangen.

Wanneer onze knoppen op de Arduino worden ingedrukt, sturen we status 5 naar de Node-red, wat aangeeft dat de containers zijn gevuld en dat we klaar zijn om snoep uit die container te verspreiden.

Wanneer we aan de Node-Red-klantzijde op een knop drukken, sturen we het nummer 1-4 naar arduino. Arduino controleert vervolgens het nummer en opent de container die aan dat nummer is gekoppeld. Dit wordt gedaan terwijl de groene LED 5 seconden brandt. Tegelijkertijd trekken we 1 af van de containerstatus om aan te geven dat er wat snoep uit die container is gehaald.

Wanneer de containerstatus 0 bereikt, gaat de rode LED branden om aan te geven dat deze container opnieuw moet worden gevuld.

Wanneer een aankoop wordt gedaan, wordt nummer 5 naar Arduino gestuurd, en dan berekent het de prijs en stuurt het de prijs en het gewicht terug naar node-red en SQL.

Het laatste deel van de Arduino-code stuurt de status en het gewicht/de prijs terug naar note-red.

Stap 5: Knooppunt-Rood

Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood

Node Red maakt alle verbindingen tussen de Arduino en de SQL-database.

De gegevens die van het klantscherm in de Node-red komen, gaan naar de arduino waar het wordt verwerkt. De verwerkte gegevens gaan dan terug naar Node Red en het Administratie-scherm.

Als we knop 1 als excampel nemen, hebben we deze verbonden met de lijnen naar zowel de arudino via de com4, als de SQL-server. Wanneer we vervolgens de knop openen, kunnen we zien dat de informatie die naar de Arduino wordt verzonden de Payload is en dat het onderwerp naar SQL wordt verzonden.

We gebruiken een functie in Node-Red om de info van de Arduino naar de SQL te sturen. In deze functie hebben we Java-code nodig om Node-red te vertellen wat we met de code moeten doen.

Functiecode:

var data = msg.payload.split(", ");var Vægt = data[13];

var Kroner = gegevens[14];

var out = "UPDATE blanding SET Vægt= '"+Vægt+"', Kroner = '"+Kroner+"' WHERE id=1";

msg.topic = uit;

bericht terugsturen;

In de code hier krijgen we een reeks gegevens van arduino en deze wordt gesplitst met een ", " tussen de cijfers.

Voor deze functie hebben we de getallen nodig die op de 13e en 14e plaats komen, en we plaatsen ze in de variabelen "Vægt en Kroner". Vervolgens nemen we de code die in SQL moet worden uitgevoerd en zetten we deze in de variabele "out", en deze wordt als een onderwerp naar SQL verzonden.

Stap 6: SQL

SQL
SQL

In de SQL-database houden we de statistieken bij over hoe vaak elke soort snoep per dag is besteld, en het gewicht en de prijs van de snoep.

De knop statestik komt van een teller die is verbonden met elke knop in Node-Red en het gewicht en de prijs komen van Arduino via een functie in Node-Red.

Stap 7: Video

In de video laten we zien dat een container wordt gevuld in het beheerdersdashboard en vervolgens wat snoep wordt besteld door op de knoppen op het klantenpaneel te klikken. Tegelijkertijd worden het gewicht en de geschatte kosten van het snoep weergegeven op het klantenpaneel.

Wanneer de klant tevreden is met zijn snoepmix, drukt hij op de aankoopknop en het werkelijke gewicht en de werkelijke kosten worden onder de knop weergegeven. Dit voltooit vervolgens het klantgedeelte en vervolgens worden het gewicht en de kosten overgebracht naar het admin-paneel en onze database in sql.

In de database houden we dan bij hoe vaak er een surden snoepje is besteld en hoeveel snoep er gewogen is en wat de kosten daarvan zijn.

Stap 8: Evaluatie

Dit was een goed project waarbij we met 3 programma's aan de slag zijn gegaan en deze met elkaar hebben laten interageren. In het begin lieten we enkele functies uitvoeren in Node-Red en sommige in Arduino, maar om het overzicht beter te houden hebben we besloten om alle functies in Arduino te stoppen en vervolgens Node-Red te laten staan voor al het visuele.

Stap 9: Verleng het project

Ons idee was om een van de containers met een motor te openen, dus de volgende stap zou zijn om een ontwerp te maken waarbij het snoep niet vast zou komen te zitten.

Aanbevolen: