Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Detta är ett projekt för SmartStorage av Kasper Borger Tulinius
Steg 1: Metoder
För detta projekt har jag använt några olika program.
Själva maskinen är skapad i 123D Design och printete på en DaVinci jr. skrivare
Inte det bästa men väldigt enkelt och användarvänligt.
Den drivs av en Arduino programmerad i C.
Jag har använt Visual Studio 2017 för att göra en WindowsFormApp (C#).
Steg 2: Kod för Arduino
Till själva maskinen har jag använt en Arduino Mega. Den är programmerad i C. Maskinen är mycket enkel. Den kör en enkel sekvens för att få en hylla och presentera den för operatören.
De motorer jag har använt är två små stegmotorer som drivs av 2 SBT0811.
För att styra maskinen har jag gjort en app som kommunicerar via komporten.
#inkludera "Stepper.h"
#define STEG 32 // Antal steg för varv av det inre axeln // 2048 steg för en varv för externaæ axel int cmd; // Fra WinApp int posZero = 0; int posOne = 1000; int posTwo = 1500; int posThree = 2000; int grab = 100; int leverera = -100; int steps_extractor_out = 512; int step_extractor_back = -512; Stepphiss (STEG, 8, 10, 9, 11); Stegextraktor (STEPS, 2, 3, 4, 5); void setup () {} void loop () {Serial.begin (9600); cmd = Serial.read (); if (cmd == 1) {Serial.end (); fördröjning (1000); } annars if (cmd == 0) {hoist.setSpeed (600); hoist.step (posOne); fördröjning (200); extractor.setSpeed (300); extractor.step (steg_extractor_out); fördröjning (200); hoist.setSpeed (100); hiss.steg (grepp); fördröjning (200); extractor.step (steg_extractor_back); fördröjning (200); hoist.setSpeed (600); hoist.step (-posOne-grab); fördröjning (200); extractor.step (steg_extractor_out); fördröjning (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); fördröjning (200); hoist.step (posOne+grab); fördröjning (200); extractor.step (steg_extractor_out); fördröjning (200); hoist.setSpeed (100); hiss.steg (-grab); fördröjning (200); extractor.step (steg_extractor_back); fördröjning (200); hoist.setSpeed (600); hoist.step (-posOne); Serial.begin (9600); Serial.println (0); Serial.end (); } annars if (cmd == 2) {hoist.setSpeed (600); hiss.steg (posTwo); fördröjning (200); extractor.setSpeed (300); extractor.step (steg_extractor_out); fördröjning (200); hoist.setSpeed (100); hiss.steg (grepp); fördröjning (200); extractor.step (steg_extractor_back); fördröjning (200); hoist.setSpeed (600); hoist.step (-posTwo-grab); fördröjning (200); extractor.step (steg_extractor_out); fördröjning (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); fördröjning (200); hiss.steg (posTwo+grab); fördröjning (200); extractor.step (steg_extractor_out); fördröjning (200); hoist.setSpeed (100); hiss.steg (-grab); fördröjning (200); extractor.step (steg_extractor_back); fördröjning (200); hoist.setSpeed (600); hoist.step (-posTwo); Serial.begin (9600); Serial.println (0); Serial.end (); } annars if (cmd == 3) {hoist.setSpeed (600); hoist.step (posThree); fördröjning (200); extractor.setSpeed (300); extractor.step (steg_extractor_out); fördröjning (200); hoist.setSpeed (100); hiss.steg (grepp); fördröjning (200); extractor.step (steg_extractor_back); fördröjning (200); hoist.setSpeed (600); hoist.step (-posThree-grab); fördröjning (200); extractor.step (steg_extractor_out); fördröjning (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); fördröjning (200); hoist.step (posThree+grab); fördröjning (200); extractor.step (steg_extractor_out); fördröjning (200); hoist.setSpeed (100); hiss.steg (-grab); fördröjning (200); extractor.step (steg_extractor_back); fördröjning (200); hoist.setSpeed (600); hoist.step (-posThree); Serial.begin (9600); Serial.println (0); Serial.end (); }}
Steg 3: App
Appen jag har skapat är gjord i VisualStudio 2017.
Det är en Windows-formapplikation som i detta fall innehåller en SQL-databas.
Databasen har tre tabeller som innehåller information om användaren, platsen för varje maskin och innehållet i varje maskin.
När du startar appen loggar du in med ditt namn och pw.
Sedan väljer du vilken maskin du vill använda och innehållet i varje låda kommer att presenteras för dig.
Sedan kan du helt enkelt trycka på "hämta låda" och maskinen får lådan och du kan uppdatera mängden av det angivna objektet du har tagit eller lagt in.