Inhaltsverzeichnis:
Video: EAL - SmartStorage - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Dies ist ein Projekt für SmartStorage von Kasper Borger Tulinius
Schritt 1: Methoden
Für dieses Projekt habe ich ein paar verschiedene Programme verwendet.
Die Maschine selbst ist im 123D Design erstellt und auf einer DaVinci jr. gedruckt. Drucker
Nicht das Beste, aber sehr einfach und benutzerfreundlich.
Es wird von einem in C programmierten Arduino betrieben.
Ich habe Visual Studio 2017 verwendet, um eine WindowsFormApp (C#) zu erstellen.
Schritt 2: Code für den Arduino
Für die Maschine selbst habe ich ein Arduino Mega verwendet. Es ist in C programmiert. Die Maschine ist sehr einfach. Es läuft eine einfache Sequenz ab, um ein Regal zu holen und es dem Bediener zu präsentieren.
Die Motoren, die ich verwendet habe, sind 2 kleine Schrittmotoren, die von 2 SBT0811 angetrieben werden.
Um die Maschine zu steuern, habe ich eine App erstellt, die über den COM-Port kommuniziert.
#include "Stepper.h"
#define STEPS 32 //Anzahl der Schritte für die Umdrehung der Innenwelle //2048 Schritte für eine Umdrehung der Außenwelle int cmd; //Fra WinApp int posZero = 0; int posOne = 1000; int posTwo= 1500; int posThree = 2000; int grab = 100; int liefern = -100; int steps_extractor_out = 512; int steps_extractor_back = -512; Stepper-Hebezeug (SCHRITTE, 8, 10, 9, 11); Stepper-Extraktor (SCHRITTE, 2, 3, 4, 5); Void setup () {} Void Schleife () { Serial.begin (9600); cmd = Serial.read(); if (cmd == 1) { Serial.end(); Verzögerung (1000); aufrechtzuerhalten. Sonst if (cmd == 0) {hoist.setSpeed (600); Hebebühne. Schritt (posOne); Verzögerung (200); Extractor.setSpeed(300); Extractor.step (steps_extractor_out); Verzögerung (200); hebe.setSpeed(100); Hebebühne. Schritt (greifen); Verzögerung (200); Extractor.step (steps_extractor_back); Verzögerung (200); hebe.setSpeed(600); hoist.step(-posOne-grab); Verzögerung (200); Extractor.step (steps_extractor_out); Verzögerung (5000); //EVT CMD FRA WINaPP Extractor.step(steps_extractor_back); Verzögerung (200); hoist.step (posOne + greifen); Verzögerung (200); Extractor.step (steps_extractor_out); Verzögerung (200); hebe.setSpeed(100); hoist.step(-greifen); Verzögerung (200); Extractor.step (steps_extractor_back); Verzögerung (200); hebe.setSpeed(600); Hebebühne. Schritt(-posOne); Serial.begin (9600); Serial.println(0); Serial.end(); aufrechtzuerhalten. Sonst if (cmd == 2) {hoist.setSpeed (600); Hebebühne. Schritt (posTwo); Verzögerung (200); Extractor.setSpeed(300); Extractor.step (steps_extractor_out); Verzögerung (200); hebe.setSpeed(100); Hebebühne. Schritt (greifen); Verzögerung (200); Extractor.step (steps_extractor_back); Verzögerung (200); hebe.setSpeed(600); hoist.step(-posTwo-grab); Verzögerung (200); Extractor.step (steps_extractor_out); Verzögerung (5000); //EVT CMD FRA WINaPP Extractor.step(steps_extractor_back); Verzögerung (200); hoist.step (posTwo + greifen); Verzögerung (200); Extractor.step (steps_extractor_out); Verzögerung (200); hebe.setSpeed(100); hoist.step(-greifen); Verzögerung (200); Extractor.step (steps_extractor_back); Verzögerung (200); hebe.setSpeed(600); hoist.step(-posTwo); Serial.begin (9600); Serial.println(0); Serial.end(); aufrechtzuerhalten. Sonst if (cmd == 3) {hoist.setSpeed (600); hoist.step (posThree); Verzögerung (200); Extractor.setSpeed(300); Extractor.step (steps_extractor_out); Verzögerung (200); hebe.setSpeed(100); Hebebühne. Schritt (greifen); Verzögerung (200); Extractor.step (steps_extractor_back); Verzögerung (200); hebe.setSpeed(600); hoist.step(-posThree-grab); Verzögerung (200); Extractor.step (steps_extractor_out); Verzögerung (5000); //EVT CMD FRA WINaPP Extractor.step(steps_extractor_back); Verzögerung (200); hoist.step (posThree+grab); Verzögerung (200); Extractor.step (steps_extractor_out); Verzögerung (200); hebe.setSpeed(100); hoist.step(-greifen); Verzögerung (200); Extractor.step (steps_extractor_back); Verzögerung (200); hebe.setSpeed(600); hoist.step(-posThree); Serial.begin (9600); Serial.println(0); Serial.end(); } }
Schritt 3: App
Die von mir erstellte App wurde in VisualStudio 2017 erstellt.
Es handelt sich um eine Windows-Formular-Anwendung, die in diesem Fall eine SQL-Datenbank enthält.
Die Datenbank enthält 3 Tabellen, die Informationen über den Benutzer, den Standort jedes Computers und den Inhalt jedes Computers enthalten.
Beim Starten der App loggen Sie sich mit Ihrem Namen und PW ein.
Dann wählen Sie, welche Maschine Sie bedienen möchten und der Inhalt jeder Schublade wird Ihnen präsentiert.
Dann können Sie einfach auf "Schublade holen" drücken und die Maschine holt die Schublade und Sie können die Menge des angegebenen Artikels aktualisieren, den Sie eingenommen oder abgelegt haben.