2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
To je projekt za SmartStorage avtorja Kasperja Borgerja Tuliniusa
1. korak: Metode
Za ta projekt sem uporabil nekaj različnih programov.
Stroj je izdelan v 123D Design in je tiskan na DaVinci jr. tiskalnik
Ni najboljši, a zelo preprost in uporabniku prijazen.
Vodi ga Arduino, programiran v C.
Visual Studio 2017 sem uporabil za izdelavo programa WindowsFormApp (C#).
2. korak: Koda za Arduino
Za sam stroj sem uporabil Arduino Mega. Programiran je v C. Stroj je zelo preprost. Izvaja preprosto zaporedje, da dobi polico in jo predstavi operaterju.
Motorja, ki sem jih uporabil, sta 2 majhna koračna motorja, ki ju poganja 2 SBT0811.
Za nadzor stroja sem naredil aplikacijo, ki komunicira prek vmesnika com.
#include "Stepper.h"
#define STEPS 32 // Število korakov za vrtljaje notranje gredi // 2048 korakov za en vrtljaj zunanje gredi int cmd; // Fra WinApp int posZero = 0; int posOne = 1000; int posTwo = 1500; int posThree = 2000; int grab = 100; int dostava = -100; int steps_extractor_out = 512; int steps_extractor_back = -512; Steper dvigalo (STEPS, 8, 10, 9, 11); Koračni ekstraktor (STEPS, 2, 3, 4, 5); void setup () {} void loop () {Serial.begin (9600); cmd = Serial.read (); if (cmd == 1) {Serial.end (); zamuda (1000); } else if (cmd == 0) {hoist.setSpeed (600); dvigalo.korak (posOne); zamuda (200); extractor.setSpeed (300); extractor.step (steps_extractor_out); zamuda (200); hoist.setSpeed (100); dvigalo.korak (zgrabi); zamuda (200); extractor.step (koraki_extractor_back); zamuda (200); hoist.setSpeed (600); hoist.step (-posOne-grab); zamuda (200); extractor.step (steps_extractor_out); zamuda (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); zamuda (200); dvigalo.korak (posOne+zgrabi); zamuda (200); extractor.step (steps_extractor_out); zamuda (200); hoist.setSpeed (100); dvigalo.korak (-grab); zamuda (200); extractor.step (koraki_extractor_back); zamuda (200); hoist.setSpeed (600); dvigalo.korak (-posOne); Serial.begin (9600); Serial.println (0); Serial.end (); } else if (cmd == 2) {hoist.setSpeed (600); dvigalo.korak (posTwo); zamuda (200); extractor.setSpeed (300); extractor.step (steps_extractor_out); zamuda (200); hoist.setSpeed (100); dvigalo.korak (zgrabi); zamuda (200); extractor.step (koraki_extractor_back); zamuda (200); hoist.setSpeed (600); dvigalo.step (-posTwo-grab); zamuda (200); extractor.step (steps_extractor_out); zamuda (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); zamuda (200); dvigalo.korak (posTwo+zgrabi); zamuda (200); extractor.step (steps_extractor_out); zamuda (200); hoist.setSpeed (100); dvigalo.korak (-grab); zamuda (200); extractor.step (koraki_extractor_back); zamuda (200); hoist.setSpeed (600); dvigalo.step (-posTwo); Serial.begin (9600); Serial.println (0); Serial.end (); } else if (cmd == 3) {hoist.setSpeed (600); dvigalo.korak (posThree); zamuda (200); extractor.setSpeed (300); extractor.step (steps_extractor_out); zamuda (200); hoist.setSpeed (100); dvigalo.korak (zgrabi); zamuda (200); extractor.step (koraki_extractor_back); zamuda (200); hoist.setSpeed (600); hoist.step (-posThree-grab); zamuda (200); extractor.step (steps_extractor_out); zamuda (5000); // EVT CMD FRA WINaPP extractor.step (steps_extractor_back); zamuda (200); dvigalo.korak (posThree+zgrabi); zamuda (200); extractor.step (steps_extractor_out); zamuda (200); hoist.setSpeed (100); dvigalo.korak (-grab); zamuda (200); extractor.step (koraki_extractor_back); zamuda (200); hoist.setSpeed (600); dvigalo.step (-posThree); Serial.begin (9600); Serial.println (0); Serial.end (); }}
3. korak: Aplikacija
Aplikacija, ki sem jo ustvaril, je narejena v programu VisualStudio 2017.
To je aplikacija za obrazce Windows, ki v tem primeru vključuje bazo podatkov SQL.
Baza podatkov ima 3 tabele, ki vsebujejo podatke o uporabniku, lokaciji vsakega stroja in vsebino vsakega stroja.
Ko zaženete aplikacijo, se prijavite s svojim imenom in pw.
Nato boste izbrali, kateri stroj želite upravljati, vsebina vsakega predala pa bo vnaprej nastavljena.
Nato lahko preprosto pritisnete »get drawer« in naprava bo dobila predal in lahko posodobite količino danega predmeta, ki ste ga vzeli ali vložili.