Kleinteilelagerhaltung mit Wiegezelle

Hallo,

ich bin kompletter Neuling und muss/möchte im Zuge einer FH Arbeit ein Projekt ausarbeiten.
Ambitionen mich mit Programmieren und Arduino zu beschäftigen hatte ich aber schon länger -> Motivation ist da.

Ausgangsmaterial:
Wiegezelle und Arduino Starterset:

Gewünschtes Ergebnis:
Datenbank (CSV, Excel Tabelle) mit Kleinteilebestand und Einzelgewichten aktualisieren, indem man ID des Teils angibt und durch Wiegen die Anzahl der Teile auf der Waage dem Bestand hinzufügt oder entnimmt.

Was schon funktioniert:
Wiegezelle ist verbunden, über IDE kalibriert und gibt richtige Massen aus.

Leider bin ich so unerfahren, dass ich nicht weiß wie ich nach dem Nötigen suche.
Vielen Dank im voraus!

LG

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

1 Like

Dann schreibe doch mit Deinen Worten auf, was Du derzeit noch suchst.
Ich könnte mir z.B. vorstellen, dass Du in der DB (warum nimmst Du keine echte DB, z.B. MySQL/MariaDB), eine Tabelle mit Stammdaten halten willst, die zur ID die Anzahl pro Gramm oder sowas Ähnliches bereit stellt.
Die Verbindung zum PC/Datenbank willst Du evtl. per Serial machen.
Wenn Du noch in der Planungsphase bist, könntest Du auch über einen ESP8266 bzw. ESP32 nachdenken, da hast Du WLAN gleich mit dabei. Allerdings 3,3V Signalpegel.

Gib uns mal einen Link zu Deiner Wägezelle und Deinen Sketch, wie Du diese bisher ausliest. Starterset mit welchen Arduino?

Gruß Tommy

Beschreibe dein Vorhaben aus User-Sicht.
Definiere die Akteure.
Definiere die Usecases für jeden Akteur und arbeite diese aus.
Damit ergibt sich mit unter auch Anforderungen an die Hardware.
Wie z.B. soll die ID eines Teils erfasst werden? mit einer Zehnertastatur? aha, wie schließt man sowas an? Gibt es dafür Libraries?
10er Tastatur für die ID ist ja recht, aber wie unterscheidest du ein hinzufügen/ein herausnehmen? Vieleicht doch eine, zwei, drei weitere Tasten?

Wer soll wo (auf welchem Device) welche Daten sehen?

Wenn die ganzen Vorraussetzungen vorliegen, kann man sich dann auch zusammensuchen was dazu notwendig ist.

Danke für den Input!
Ich versuche alles aufzuklären.

Starterset (ELEGOO UNO R3 Ultimate Starter Kit):

Wägezelle:
war schon vorhanden und ohne Beschriftung, ebenso das HX711 Modul
image

Bibliothek:
HX711_ADC

Ausgabe des Gewichts bisher:
Serial Monitor des IDE (Code ziemlich 1:1 aus Bib), Excel Datenstream

Usecase:
Kleinteilelager mit nebenstehendem PC (Windows) und meiner Wiegezelle. Kann in Zukunft auch Rasperry Pi werden. Aber meine Ausgangslage ist Arduino per USB an PC.
In der Datenbank ist der Bestand aufgezeichnet (ID, Teilebezeichnung, Anzahl, Einzelteilgewicht).
Nun kann man bei der Inventur die DB hernehmen um den Bestand zu sehen und mit der Waage, die über das Gewicht der Gesamtmenge (z.b.: Schrauben) die Anzahl ausgibt, auch den Bestand kontrollieren. Im Alltag kann man eine Handvoll Schrauben aus dem Regal nehmen in die Waage legen und somit die Anzahl aus der Datenbank ausbuchen.
Am Besten wäre ein Fenster am PC mit Dropdown für die Teile Bezeichnung inkl. Suchfenster. Tasten für Teil anlegen, Einbuchen und Ausbuchen bestehender Teile. So wie man es aus Access DB kennt, nur habe ich von deren Programmierung ebenso keine Ahnung. Lese mich gerne ein wenn es nur eine valide Möglichkeit ist.

Ziel:
Ziel ist es ein fertiges Konzept zu präsentieren. Weitere Teile kann ich nur besorgen wenn diese schnell geliefert und noch schneller am Laufen sind.

Zu Excel als "DB" kann ich nichts sagen, besonders nicht, was den wahlfreien Zugriff betrifft. Im Endeffekt wird es nach erstem Eindruck darauf hinaus laufen, dass die Bedienung hauptsächlich über Excel erfolgen wird. Ich würde trotzdem am Arduino ein LCD-Display (2 oder besser 4 zeilig) anschließen, dass die Aktion, das Teil und den Messwert anzeigt.

Grober Ablauf:
Excel: Teil auswählen (durchaus per Dropdown) - Aktion (Add/Sub) auswählen -> an Arduino übertragen und anzeigen -> Teile auflegen -> Messwert mit Taster bestätigen (alle Teile drauf) -> Messwert an PC übergeben -> weiter in Excel

Die Kalibrierung auf die Gewichte der Einzelteile lasse ich vorerst weg, das wird eine zusätzliche Funktion werden, die man auch von Excel anstoßen kann.

D.h. der Hauptteil der Programmierung wird in VBA erfolgen, am Arduino nur die Leseroutine für die Daten vom Excel, die Anzeige, das Wiegen und der Taster und danach das Absenden des Messwertes (Umrechnung in Anzahl in Excel)

Die Überlegungen gehen davon aus, dass sich Excel ähnlich wie eine "normale" DB ansprechen lässt. Ich selbst würde sowas mit ESP8266, WEebsite darauf und MySQL-DB machen, evtl. (sehr wahrscheinlich, weil der ADC vom ESP nicht sehr gut ist) noch ein separates ADC-Modul für die Messung.

Gruß Tommy

1 Like

Die Pins vom UNO könnten knapp werden, das mußt Du im Auge behalten. A4 & A5 sind I²C-Bus, alle analogen Pins können auch digital.

Für Dein Projekt zu gebrauchen

  • UNO
  • 2x16 LC-Display
  • 4x4 Tastenfeld
  • vierfach Siebensegmentanzeige
  • RFID für Unterscheidung täglich und Inventur

Mehr Teile drängen sich mir nicht auf.

Da könntest Du Dir schon mal passende Programmbibliotheken auswählen und je ein Beispiel zum Laufen bekommen. Für LCD mit Umlauten LCD with I2C Expander PCF8574.

1 Like

das ist kein Usecasekatalog. Das ist eine lose, unstrukturierte Sammlung von mehr oder weniger weichen Anforderungen.

https://framr.tv/en/blog/what-are-use-cases-definition-and-examples/

https://t2informatik.de/wissen-kompakt/use-case/

Was hat man euch in der FH gelernt wie man ein Softwareprojekt beginnt? Da muss doch mehr gewesen sein als mal ein paar Zeilen C++ Code zu schreiben.

1 Like

Danke für deine Antwort. Mein Studiengang hat fast nichts mit IT zu tun, deshalb auch kaum Kenntnis von der Thematik.

Wenn Ihr nix mit IT zu tun habt, warum bearbeitet Ihr dann IT-Themen?
Das geht so ganz ohne Grundlagen nicht.
Wenn Du wenigstens Excel mit VBA halbwegs gut programmieren kannst, dann nich den von mir vorgeschlagenen Weg, ansonsten such Dir ein anderes Thema.
Ohne die Kenntnisse gehst Du unter.

Wie lange Zeit hast Du?

Gruß Tommy

Richtung Maschinenbau (bis auf etwas Python nichts dabei). Soll ein interdisziplinäres Projekt sein und befürchte der Prof wusste nicht wieviel Programmieren das abverlangt. Habe prinzipiell das Interesse mir das anzueignen, aber die Zeit ist sehr knapp.

Wie knapp genau? Wann ist Abgabe!

Gruß Tommy

Die Abgabe des finalen Konzeptes ist am 23.11.
Ich glaube ich verwende eure Argumente um das Thema einzustampfen...

biete ihm ein Maschinenbau Projekt an. Ein IT Projekt macht für dich keinen Sinn.

Ja, ist besser. Bis dahin bekommst Du kein bewertungsfähiges Ergebnis.
Du kannst ja die Möglichkeiten beschreiben, aber das braucht wesentlich mehr Zeit, wenn auf beiden Ebenen (Excel und Arduino) jegliche Erfahrung in der Programmierung fehlt.
Du hast das Thema ja auch nicht erst seit heute!

Gruß Tommy

Arduinos werden in C++ programmiert. Die Sprache muß man nicht bis in den letzten Winkel kennen, aber ein gewisses Maß an Grundwissen ist schon nötig. Das kloppt man sich nicht mal eben ins Gehirn.

Wenn man noch nie ein Konzept für eine per Programm zu lösende Aufgabenstellung erstellt hat, kann einen nur der Entwurf eines Bedienmenüs schon gut beschäftigen und das eine oder andere Mal in eine Sackgasse führen.

Selbst ein geübter Hobbyprogrammierer könnte bei den zwanzig Tagen schon ins Schwitzen geraten.

Die würde ich schon für den Excel-Teil (was ich überhaupt nicht habe) benötigen.
Der Arduino Teil nach meiner Vorstellung (Lesen/Anzeigen/Taster/Senden) wäre 1 Tag (ohne Wägeroutine).

Gruß Tommy

Vielen Dank für all eure Antworten!
Ich werde es mit dem Starter Set langsam angehen und vielleicht schaffe ich es dieses Projekt irgendwann zu verwirklichen.

Aber nicht bis zum 23.11.2022.
Ansonsten kannst Du gern konkrete Fragen stellen, wenn sie dann auftauchen.

Gruß Tommy

Wenn es ein interdisziplinäres Projekt ist
was sind denn alles für Disziplinen beteiligt?

Einmal schreibst du

Was heißt in diesem Fall "Konzept"
Ein Text von einer halben DIN A4-Seite auf der beschrieben steht wir wollen die XY-Datenbank nehmen. Einen Arduino mit Wägezelle und Arduino sendet Daten per serieller Schnittstelle und das wars es
oder heißt Konzept einen Prototyp fertig gebaut und programmiert haben?

oder heißt Konzept einen Terminplan vorlegen auf dem Meilensteine und geschätzte Dauer steht?

Aus dem Satz könnte man ja eher vermuten der Prof stellt sich vor der Prototyp läuft.

Was ist denn das Fachgebiet des Profs? (Rhetorik?) Wenn du mir das benennen kannst dann beschreibe ich ein Analogon passend zu seinem Fachgebiet.
Aufgabenstellung .... Fertigstellung in 3 Wochen

Damit dem Prof klar wird das braucht keine 3 Wochen sondern 3x3 Monate.