Inhaltsverzeichnis:

UCL - IIoT - Farmers Market - Gunook
UCL - IIoT - Farmers Market - Gunook

Video: UCL - IIoT - Farmers Market - Gunook

Video: UCL - IIoT - Farmers Market - Gunook
Video: Declining resiliency: implications for the UK construction industry and policymakers | Mark Farmer 2024, Juli
Anonim
UCL - IIoT - Bauernmarkt
UCL - IIoT - Bauernmarkt

Die Farmersmarket Wallet kann auf Messen, Bauernmärkten oder anderen Zusammenkünften verwendet werden, auf denen Waren verkauft werden.

Die Farmersmarket Wallet ist eine Münzzählmaschine, die es ermöglicht, den Gesamtinhalt einer Schachtel mit Münzen schnell zu sehen. Das Bauernmarkt-Wallet lädt die Summe auch auf einen über Node-red programmierten Server hoch.

Es wird von drei Studenten des University College Lillebælt in Dänemark hergestellt. Seit unserem vorherigen Projekt, dem Münzsortierer, haben wir viele neue Dinge gelernt, die wir in den Build integrieren werden. Wir haben uns entschieden, auf das Sortieren der Münzen zu verzichten und sie stattdessen vom Automaten zählen zu lassen und sie in einer gemeinsamen Münzbox zu deponieren.

Die Brieftasche besteht aus fünf Schiebern oder Schlitzen, einer für jede Münzsorte. Wenn eine Münze in den richtigen Schlitz gesteckt wird, fällt sie an einem Reflektor vorbei, der ein HIGH-Signal an das Arduino sendet. Wir verwenden das Signal, um den Münzwert zum gezählten Gesamtwert hinzuzufügen, ihn auf dem externen Display anzuzeigen und den neuen Gesamtwert an einen Server zu senden. Sobald der Server die Gesamtsumme erhält, aktualisiert er eine online gefundene Benutzeroberfläche, die die neue Gesamtsumme anzeigt.

BeschreibungEine Schachtel mit fünf Münzschlitzen, die zu fünf einzelnen internen Schiebern führen, einer für jede Münzsorte: 1kr, 2kr, 5kr, 10kr, 20kr

Ein LCD-Display, das das gesamte Bargeld anzeigt, das oben auf der Box deponiert wurde.

Die Oberseite der Box ist mit Luken gesichert. Wenn Sie die Oberseite anheben, wird das Arduino-Gehäuse zusammen mit der Oberseite mit dem LCD, den Münzschlitzen, den Reflektoren usw. herausgenommen, sodass nur die Schachtel übrig bleibt, in die die Münze eingeworfen wird.

Komponenten und Materialien - Werkzeuge und Ausrüstung zur Herstellung einer Schachtel (könnte Karton oder Holz sein)

- Arduino Mega 2560

- 30 Überbrückungsdrähte

- 5 x LDR "Lichtsensor"

- 5 x 220 Ohm Widerstände

- 5 x 10k Ohm Widerstände

- 5 x weiße LEDs

- LCD 16x02 Modul

- Münzen

Code in Arduino

Wie bereits erwähnt, stammt dieses Projekt aus einem früheren Projekt, das wir vor etwa acht Monaten erstellt haben (https://www.instructables.com/id/Coin-Sorting-Machine/). Aus diesem Grund können wir einen großen Teil des Codes in arduino wiederverwenden, obwohl es einige kleinere Änderungen gibt. Wie Sie sehen werden, ist der Code ziemlich einfach, den jede Person mit ein wenig Erfahrung mit Arduino verstehen sollte.

Node-RED Node-RED ist das Tool, mit dem wir die Daten vom Arduino auf Ihren Computer und weiter ins Internet übertragen, wenn dies in Ihrem Interesse ist. Ein weiterer wichtiger Grund für die Verwendung von Node-RED ist die Möglichkeit, Daten von Arduino auf eine leicht verständliche Weise für Personen zu präsentieren, die keine Programmier-/Codierungserfahrung mit Arduino und Node-RED haben.

Datenbank Mit Wampserver können wir unsere Werte von Arduino in einer Datenbank speichern. Mit Wampserver ist es möglich, Ihre eigene Datenbank nach Belieben zu erstellen und abzuwechseln, indem Sie phpMyAdmin verwenden, um MySQL zu administrieren. In unserem Fall müssen wir sechs Werte speichern (einen für jede Münzart und einen für das Ergebnis) und haben daher sechs Spalten erstellt, in denen jeder Wert gespeichert werden kann.

Schritt 1: Wie funktioniert es?

Wie funktioniert es?
Wie funktioniert es?

In einem ausführlichen Manor erklären wir nun, wie unser System funktioniert.

Wie Sie im Flussdiagramm sehen werden, ist das erste, was den Prozess einstellt, wenn eine Münze in den richtigen Schlitz gesteckt wird.

Der LDR-Lichtsensor bemerkt die reduzierte Lichtmenge, wenn die Münze am Sensor vorbeiläuft, was das Arduino-Programm auslöst, die Variable "Antal" (Anzahl) um eins zu erhöhen, da sich jetzt eine Münze im Automaten befindet. Gleichzeitig wird der Wert der Münze zur Variablen "Ergebnis" addiert. Auf dem LCD wird "result" mit seinem neuen Wert angezeigt.

Die neuen Werte von "Antal" und "Result" werden an Node-RED gesendet, in dem sich das Dashboard mit diesen Werten aktualisiert. Zuletzt sendet Node-RED die Werte an unsere Datenbank.

Und wiederholen.

Schritt 2: Erstellen einer Box

Dieses Mal haben wir Illustrator verwendet, um unsere Box zu entwerfen. Mit einem Laserschneider haben wir diese Box und die Funktionen, die für unser Projekt erforderlich sind, präzise gefertigt. Am Ende liegt es an Ihnen, zu entscheiden, wie Sie die perfekte Box für Ihr Projekt herstellen.

Schritt 3: Arduino hinzufügen

Arduino hinzufügen
Arduino hinzufügen

Es ist Zeit, das Arduino in die Box zu implementieren. Dies kann ziemlich schwierig sein, da sich der Sensor unvorhersehbar verhalten kann. (Neu) In diesem Schritt haben wir den Sensor, den wir verwenden, aufgrund der oben erwähnten Unzuverlässigkeit dieser Sensoren (tcrt 5000) geändert. Stattdessen haben wir uns für einen einfacheren LDR-Sensor (Lichtabhängiger Widerstand) entschieden. Der Ausgang dieses Sensors ist ein analoger Wert, der sich abhängig von der Lichtmenge ändert, die den Sensor selbst erreicht.

Schritt 4: Arduino-Code

In diesem Schritt legen wir unseren Fokus auf die Software. Der Arduino-Code sieht so aus:

const int sensorPin1 = 3; //TCRT-5000-Sensor, der an Pin Nr. 2 int sensorState1 = 0; // Enthält den Wert des Sensors (High/Low)

int Antal10 = 0; //Variable, die die Menge der in den Automaten eingeworfenen Münzen speichert int

Ergebnis = 0; //Variable, die den kombinierten Wert aller in den Automaten eingeworfenen Münzen speichert

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

Void Schleife () { Int sensorState1 = analogRead (sensorPin1); // Liest den Zustand des Sensors

if (540 < sensorState1 < 620) {// Wenn der Ausgabewert des Sensors zwischen 540 und 620 liegt

Antal10 += 10; // - eine Münze passiert den Sensor, der etwas Licht blockiert

Ergebnis += 10; // - und der Sensor liest ein niedrigeres Lichtniveau}

Serial.print (Ergebnis);

Serial.print (", "); // Trennt die Variablen mit einem Komma, was beim Lesen der Variablenwerte in Node-RED notwendig ist

Serial.println (Antal10); // - und wird auch benötigt, wenn diese Werte in der Datenbank gespeichert werden sollen

Verzögerung (100); }

Dieser Code wird nur für einen Sensor geschrieben, um das Lesen zu erleichtern.

Vollständiger Code:

Schritt 5: Knoten-RED

Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED

Wenn der Arduino-Code so läuft, wie er sein sollte, können Sie mit der Programmierung von Node-RED beginnen, das als Middlelink zwischen Arduino und der Datenbank fungiert und als visuelle Anzeige der Leistung der Maschine dient. Die Programmierung von Node-RED besteht darin, Knoten mit unterschiedlichen Funktionen zu verwenden und die richtigen Parameter einzugeben, damit diese Knoten richtig funktionieren.

Wenn unsere Daten in Node-RED ankommen, werden sie an zwei verschiedene Split-Funktionen gesendet. Eine dieser Funktionen sendet die nun gesplitteten Daten an die Datenbank. Der andere sendet die verschiedenen Datenwerte an jeden ihrer Dashboard-Knoten, die jetzt auf dem Dashboard sichtbar sein sollten.

Wie bereits erwähnt, haben wir sechs zu behandelnde Werte. Mit den Dashboard-Fähigkeiten von Node-Red können wir diese Werte anzeigen, wie Sie im Bild rechts oben in Schritt 3 sehen.

Node-RED-Code:

Schritt 6: Datenbank

Datenbank
Datenbank

Jetzt werden wir eine Datenbank verwenden, um die Werte zu speichern. Mit Wampserver ist es möglich, phpMyAdmin zu verwenden, um MySQL zu verwalten und Ihre eigene Datenbank zu erstellen, indem Sie einen lokalen Server verwenden, der Ihren spezifischen Anforderungen entspricht.

Wenn Sie eine Datenbank (farmers_market) von Grund auf neu erstellen, müssen Sie zuerst eine Tabelle (mont_tabel) erstellen, in der Sie Ihre Werte speichern. Je nachdem, wie viele Daten Sie haben und wie Sie diese bestellen müssen, können Sie so viele Tabellen erstellen, wie Sie benötigen. Weil wir sechs verschiedene Werte speichern müssen und deshalb in unserer Tabelle sechs Spalten, eine für jeden Wert, benötigt haben. Im Bild oben sehen Sie unsere Datenbank.

Wenn unsere Daten in Node-RED ankommen, werden sie durch eine Split-Funktion gesplittet und die aktuellen Daten werden an die Datenbank gesendet.

Schritt 7: Auswertung

Zuallererst möchten wir erwähnen, dass die Herstellung der Box aus Holz anstelle von Pappe den gesamten physischen Aufbau viel zuverlässiger macht, und wir empfehlen daher, dies zu tun.

Der Wechsel der Sensoren von einem TCRT-5000 zu einem einfachen LDR-Lichtsensor gab viel mehr Stabilität, da die Sensoren schnell lesen können, wenn eine Münze vorbeikommt. Bei der Arbeit mit einem TCRT-5000 müssen viele Faktoren berücksichtigt werden, damit der Sensor wie gewünscht funktioniert.

Das Anschließen des Systems an eine Datenbank und die Möglichkeit, Ihre Daten visuell so darzustellen, dass jede Person ohne vorherige Kenntnis dieses Projekts verstehen kann, was vor sich geht, scheint dem Projekt mehr Wert zu verleihen.

Empfohlen: