Inhaltsverzeichnis:

EAL - SmartStorage - Gunook
EAL - SmartStorage - Gunook

Video: EAL - SmartStorage - Gunook

Video: EAL - SmartStorage - Gunook
Video: Very Unique Idea DIY Woodworking Project // How To Build A Real Art Table With A Fancy Design 2024, Juli
Anonim
EAL - SmartStorage
EAL - SmartStorage
EAL - SmartStorage
EAL - SmartStorage

Dies ist ein Projekt für SmartStorage von Kasper Borger Tulinius

Schritt 1: Methoden

Methoden
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

Code für den Arduino
Code für den Arduino
Code für den Arduino
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

App
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.