Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
Es tracta d’un projecte de SmartStorage de Kasper Borger Tulinius
Pas 1: Mètodes
Per a aquest projecte he utilitzat alguns programes diferents.
La pròpia màquina es crea en disseny 123D i s’imprimeix en un DaVinci jr. impressora
No és el millor però molt senzill i fàcil d’utilitzar.
El dirigeix un Arduino programat en C.
He utilitzat Visual Studio 2017 per crear un WindowsFormApp (C #).
Pas 2: Codi de l'Arduino
Per a la màquina mateixa he utilitzat un Arduino Mega. Es programa en C. La màquina és molt senzilla. Executa una seqüència senzilla per obtenir un prestatge i presentar-lo a l’operador.
Els motors que he utilitzat són 2 petits motors pas a pas impulsats per 2 SBT0811.
Per controlar la màquina, he creat una aplicació que es comunica pel port de com.
#include "Stepper.h"
#define STEPS 32 // Nombre de passos per a la revolució de l’eix intern // 2048 passos per a una revolució de l’eix extern int cmd; // Fra WinApp int posZero = 0; int posOne = 1000; int posTwo = 1500; int posThree = 2000; int grab = 100; int entrega = -100; int steps_extractor_out = 512; int steps_extractor_back = -512; Polipast elevador (STEPS, 8, 10, 9, 11); Extractor pas a pas (STEPS, 2, 3, 4, 5); void setup () {} void loop () {Serial.begin (9600); cmd = Serial.read (); if (cmd == 1) {Serial.end (); retard (1000); } else if (cmd == 0) {hoist.setSpeed (600); aixecar.step (posOne); retard (200); extractor.setSpeed (300); extractor.step (passos_extractor_out); retard (200); hoist.setSpeed (100); aixecar.step (agafar); retard (200); extractor.step (passos_extractor_back); retard (200); hoist.setSpeed (600); hoist.step (-posOne-grab); retard (200); extractor.step (passos_extractor_out); retard (5000); // EVT CMD FRA WINaPP extractor.step (passos_extractor_back); retard (200); aixecar.step (posOne + agafar); retard (200); extractor.step (passos_extractor_out); retard (200); hoist.setSpeed (100); aixecar.step (-grab); retard (200); extractor.step (passos_extractor_back); retard (200); hoist.setSpeed (600); aixecar.step (-posOne); Serial.begin (9600); Serial.println (0); Serial.end (); } else if (cmd == 2) {hoist.setSpeed (600); aixecar.step (posTwo); retard (200); extractor.setSpeed (300); extractor.step (passos_extractor_out); retard (200); hoist.setSpeed (100); aixecar.step (agafar); retard (200); extractor.step (passos_extractor_back); retard (200); hoist.setSpeed (600); hoist.step (-posTwo-grab); retard (200); extractor.step (passos_extractor_out); retard (5000); // EVT CMD FRA WINaPP extractor.step (passos_extractor_back); retard (200); hoist.step (posTwo + grab); retard (200); extractor.step (passos_extractor_out); retard (200); hoist.setSpeed (100); aixecar.step (-grab); retard (200); extractor.step (passos_extractor_back); retard (200); hoist.setSpeed (600); hoist.step (-posTwo); Serial.begin (9600); Serial.println (0); Serial.end (); } else if (cmd == 3) {hoist.setSpeed (600); aixecar.step (posThree); retard (200); extractor.setSpeed (300); extractor.step (passos_extractor_out); retard (200); hoist.setSpeed (100); aixecar.step (agafar); retard (200); extractor.step (passos_extractor_back); retard (200); hoist.setSpeed (600); hoist.step (-posThree-grab); retard (200); extractor.step (passos_extractor_out); retard (5000); // EVT CMD FRA WINaPP extractor.step (passos_extractor_back); retard (200); hoist.step (posThree + grab); retard (200); extractor.step (passos_extractor_out); retard (200); hoist.setSpeed (100); aixecar.step (-grab); retard (200); extractor.step (passos_extractor_back); retard (200); hoist.setSpeed (600); hoist.step (-posThree); Serial.begin (9600); Serial.println (0); Serial.end (); }}
Pas 3: aplicació
L’aplicació que he creat es fa a VisualStudio 2017.
És una aplicació de formularis de Windows que en aquest cas inclou una base de dades SQL.
La base de dades té 3 taules que contenen informació sobre l'usuari, la ubicació de cada màquina i el contingut de cada màquina.
En iniciar l'aplicació, inicieu la sessió amb el vostre nom i pw.
A continuació, escollireu quina màquina voleu operar i el contingut de cada calaix us serà presentat.
A continuació, simplement premeu "obtenir calaix" i la màquina obtindrà el calaix i podreu actualitzar la quantitat de l'article que heu pres o arxivat.