Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er et prosjekt for SmartStorage av Kasper Borger Tulinius
Trinn 1: Metoder
For dette prosjektet har jeg brukt noen forskjellige programmer.
Selve maskinen er laget i 123D Design og printete på en DaVinci jr. skriver
Ikke den beste, men veldig enkel og brukervennlig.
Den drives av en Arduino programmert i C.
Jeg har brukt Visual Studio 2017 til å lage en WindowsFormApp (C#).
Trinn 2: Kode for Arduino
For selve maskinen har jeg brukt en Arduino Mega. Den er programmert i C. Maskinen er veldig enkel. Den kjører en enkel sekvens for å få en hylle og presentere den for operatøren.
Motorene jeg har brukt er 2 små trinnmotorer drevet av 2 SBT0811.
For å kontrollere maskinen har jeg laget en app som kommuniserer via com -porten.
#inkludere "Stepper.h"
#define TRINN 32 // Antall trinn for omdreining av indre aksel // 2048 trinn for en omdreining av eksternaæ aksel int cmd; // Fra WinApp int posZero = 0; int posOne = 1000; int posTwo = 1500; int posThree = 2000; int grab = 100; int levere = -100; int steps_extractor_out = 512; int trinn_extractor_back = -512; Stepper heise (TRINN, 8, 10, 9, 11); Stepper extractor (STEPS, 2, 3, 4, 5); void setup () {} void loop () {Serial.begin (9600); cmd = Serial.read (); if (cmd == 1) {Serial.end (); forsinkelse (1000); } annet hvis (cmd == 0) {hoist.setSpeed (600); heise.step (posOne); forsinkelse (200); extractor.setSpeed (300); extractor.step (trinn_extractor_out); forsinkelse (200); hoist.setSpeed (100); heise.step (grip); forsinkelse (200); extractor.step (trinn_extractor_back); forsinkelse (200); hoist.setSpeed (600); heise.step (-posOne-grab); forsinkelse (200); extractor.step (trinn_extractor_out); forsinkelse (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); forsinkelse (200); heise.step (posOne+grab); forsinkelse (200); extractor.step (trinn_extractor_out); forsinkelse (200); hoist.setSpeed (100); heise.steg (-grab); forsinkelse (200); extractor.step (trinn_extractor_back); forsinkelse (200); hoist.setSpeed (600); heise.step (-posOne); Serial.begin (9600); Serial.println (0); Serial.end (); } annet hvis (cmd == 2) {hoist.setSpeed (600); heise.step (posTwo); forsinkelse (200); extractor.setSpeed (300); extractor.step (trinn_extractor_out); forsinkelse (200); hoist.setSpeed (100); heise.step (grip); forsinkelse (200); extractor.step (trinn_extractor_back); forsinkelse (200); hoist.setSpeed (600); heise.step (-posTwo-grab); forsinkelse (200); extractor.step (trinn_extractor_out); forsinkelse (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); forsinkelse (200); heise.step (posTwo+grab); forsinkelse (200); extractor.step (trinn_extractor_out); forsinkelse (200); hoist.setSpeed (100); heise.steg (-grab); forsinkelse (200); extractor.step (trinn_extractor_back); forsinkelse (200); hoist.setSpeed (600); heise.step (-posTwo); Serial.begin (9600); Serial.println (0); Serial.end (); } annet hvis (cmd == 3) {hoist.setSpeed (600); heise.step (posThree); forsinkelse (200); extractor.setSpeed (300); extractor.step (trinn_extractor_out); forsinkelse (200); hoist.setSpeed (100); heise.step (grip); forsinkelse (200); extractor.step (trinn_extractor_back); forsinkelse (200); hoist.setSpeed (600); heise.step (-posTre-grab); forsinkelse (200); extractor.step (trinn_extractor_out); forsinkelse (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); forsinkelse (200); heise.step (posThree+grab); forsinkelse (200); extractor.step (trinn_extractor_out); forsinkelse (200); hoist.setSpeed (100); heise.steg (-grab); forsinkelse (200); extractor.step (trinn_extractor_back); forsinkelse (200); hoist.setSpeed (600); heise.step (-posThree); Serial.begin (9600); Serial.println (0); Serial.end (); }}
Trinn 3: App
Appen jeg har opprettet er laget i VisualStudio 2017.
Det er en Windows-skjemaapplikasjon som i dette tilfellet inkluderer en SQL-database.
Databasen har 3 tabeller som inneholder informasjon om brukeren, plasseringen av hver maskin og innholdet på hver maskin.
Når du starter appen logger du på med navn og pw.
Deretter vil du velge hvilken maskin du vil bruke, og innholdet i hver skuff vil bli presentert for deg.
Deretter kan du bare trykke "få skuff", og maskinen vil få skuffen, og du kan oppdatere mengden av det gitte elementet du har tatt eller arkivert.