Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Ceci est un projet pour SmartStorage par Kasper Borger Tulinius
Étape 1: Méthodes
Pour ce projet, j'ai utilisé quelques programmes différents.
La machine elle-même est créée en 123D Design et imprimée sur un DaVinci jr. imprimante
Pas le meilleur mais très simple et convivial.
Il est exécuté par un Arduino programmé en C.
J'ai utilisé Visual Studio 2017 pour créer un WindowsFormApp (C#).
Étape 2: Coder pour l'Arduino
Pour la machine elle-même, j'ai utilisé un Arduino Mega. Il est programmé en C. La machine est très simple. Il exécute une séquence simple pour obtenir une étagère et la présenter à l'opérateur.
Les moteurs que j'ai utilisés sont 2 petits moteurs pas à pas entraînés par 2 SBT0811.
Pour contrôler la machine, j'ai créé une application qui communique via le port com.
#include "Pas à pas.h"
#define STEPS 32 //Nombre de pas pour le tour de l'arbre interne //2048 pas pour un tour de l'arbre externe int cmd; //Fra WinApp int posZero = 0; int posUn = 1000; int postDeux = 1500; int posTrois = 2000; saisie int = 100; livraison int = -100; int step_extractor_out = 512; int step_extractor_back = -512; Palan pas à pas (ÉTAPES, 8, 10, 9, 11); Extracteur pas à 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); palan.step(posOne); retard (200); extracteur.setSpeed(300); extractor.step(steps_extractor_out); retard (200); palan.setSpeed(100); palan.pas(saisir); retard (200); extractor.step(steps_extractor_back); retard (200); palan.setSpeed(600); levage.step(-posOne-grab); retard (200); extractor.step(steps_extractor_out); retard (5000); //EVT CMD FRA WINaPP extractor.step(steps_extractor_back); retard (200); palan.step(posOne+grab); retard (200); extractor.step(steps_extractor_out); retard (200); palan.setSpeed(100); palan.step(-grab); retard (200); extractor.step(steps_extractor_back); retard (200); palan.setSpeed(600); palan.step(-posOne); Serial.begin(9600); Serial.println(0); Serial.end(); } else if (cmd == 2) { hoist.setSpeed(600); palan.step(posTwo); retard (200); extracteur.setSpeed(300); extractor.step(steps_extractor_out); retard (200); palan.setSpeed(100); palan.pas(saisir); retard (200); extractor.step(steps_extractor_back); retard (200); palan.setSpeed(600); hoist.step(-posTwo-grab); retard (200); extractor.step(steps_extractor_out); retard (5000); //EVT CMD FRA WINaPP extractor.step(steps_extractor_back); retard (200); levage.step(posTwo+grab); retard (200); extractor.step(steps_extractor_out); retard (200); palan.setSpeed(100); palan.step(-grab); retard (200); extractor.step(steps_extractor_back); retard (200); palan.setSpeed(600); palan.step(-posTwo); Serial.begin(9600); Serial.println(0); Serial.end(); } else if (cmd == 3) { hoist.setSpeed(600); palan.step(posThree); retard (200); extracteur.setSpeed(300); extractor.step(steps_extractor_out); retard (200); palan.setSpeed(100); palan.pas(saisir); retard (200); extractor.step(steps_extractor_back); retard (200); palan.setSpeed(600); hoist.step(-posThree-grab); retard (200); extractor.step(steps_extractor_out); retard (5000); //EVT CMD FRA WINaPP extractor.step(steps_extractor_back); retard (200); palan.step(posThree+grab); retard (200); extractor.step(steps_extractor_out); retard (200); palan.setSpeed(100); palan.step(-grab); retard (200); extractor.step(steps_extractor_back); retard (200); palan.setSpeed(600); levage.step(-posThree); Serial.begin(9600); Serial.println(0); Serial.end(); } }
Étape 3: application
L'application que j'ai créée est réalisée dans VisualStudio 2017.
Il s'agit d'une application Windows Forms qui, dans ce cas, inclut une base de données SQL.
La base de données a 3 tables qui contiennent des informations sur l'utilisateur, l'emplacement de chaque machine et le contenu de chaque machine.
Au démarrage de l'application, vous vous connectez avec votre nom et votre mot de passe.
Ensuite, vous choisirez quelle machine utiliser et le contenu de chaque tiroir vous sera présenté.
Ensuite, vous pouvez simplement appuyer sur "obtenir le tiroir" et la machine obtiendra le tiroir et vous pourrez mettre à jour le montant de l'article que vous avez pris ou déposé.