Makecourse USF: Machine à bonbons Arduino: 4 étapes

Makecourse USF: Machine à bonbons Arduino: 4 étapes

Table des matières:

Anonim

Cet Instructable a été créé pour répondre aux exigences du projet Makecourse de l'Université de Floride du Sud (www.makecourse.com).

Il s’agit d’une machine à bonbons simple à lancer Arduino utilisant un moteur pas à pas, deux boutons et quatre pièces imprimées en 3D. Dans ce fichier Instructable, tous les fichiers seront également fournis, étape par étape, expliquant comment construire, programmer et présenter la machine à bonbons de manière à ce qu'elle fonctionne à son plein potentiel.

** REMARQUE: Ne laissez pas dans la voiture, fera fondre le PLA et faussera l'impression si elle est chaude

Provisions:

Étape 1: Imprimez les morceaux 3D

Le fonctionnement de la machine à bonbons est que les bonbons seront canalisés vers un cylindre court à l'intérieur de la machine. Ce cylindre comporte quatre trous qui transportent le bonbon vers l’avant et qui est distribué à l’avant. Ce cylindre a une tige courte connectée au moteur pas à pas.

La première chose à faire est d’imprimer les quatre pièces en plastique de la machine à bonbons. La machine à bonbons a quatre pièces de base; La base (où les bonbons sont distribués; représentée en jaune), la partie centrale (où est logé le moteur; représentée en or), le haut (où les bonbons sont acheminés dans la machine; représentée en violet), et un court cylindre (ce qui est connecté au servomoteur qui distribue le bonbon; à l'intérieur de la machine).

Si vous souhaitez concevoir votre propre impression de machine à bonbons, n'hésitez pas à créer la vôtre. J'ai utilisé Autodesk Inventor 2014 pour concevoir mes pièces. Mais vous pourriez avoir un moteur pas à pas plus gros qui ne rentre pas dans ma conception. Vous voudrez peut-être utiliser un bonbon plus gros que celui que j'ai utilisé (M & M's)

J'ai utilisé du plastique époxy pour coller les pièces ensemble et j'ai connecté le servo au cylindre avec de la colle chaude, et tout a bien fonctionné.

Étape 2: Configuration du circuit

L'image ci-dessus est un moyen simple de configurer le circuit de la machine à bonbons. Le moteur pas à pas est branché sur le module moteur. À partir de là, vous connectez les entrées d'alimentation et de terre à l'alimentation et à la terre de la planche à pain. Branchez respectivement les broches numériques 8-11 dans le module moteur. Après cela, effectuez une configuration de base à deux boutons et branchez-les aux broches numériques 2 et 3. Finalement, prenez deux fils pour brancher la planche à pain au sol et à l’alimentation. Ceci est une configuration simple, si vous suivez le schéma, tout devrait bien se passer. Bien sûr, vous pouvez jouer avec la configuration du circuit pour qu'elle s'adapte le mieux à votre conception.

** J'ai deux boutons pour un avant et un arrière, car des bonbons sont coincés dans la machine.

Étape 3: code

// Robert Core // Utilisation de deux boutons pour contrôler la direction du moteur pas à pas int button_1 = 2; // Le bouton 1 est branché sur le port numérique 2 int button_2 = 3; // Le bouton 2 est branché sur le port numérique 3 int motorPin1 = 8; // La broche 1 du moteur est branchée sur le port numérique 8 int motorPin2 = 9; // La broche 2 du moteur est branchée sur le port numérique 9 int motorPin3 = 10; // La broche du moteur 3 est branchée sur le port numérique 10 int intPin4 = 11; // La broche 4 du moteur est branchée sur le port numérique 11 int motor_Speed ​​= 3; // Indique la vitesse à laquelle le moteur pas à pas est int motor_Step; int val1 = 0; int val2 = 0; void setup () {// valeurs d'entrée et de sortie des broches pinMode (button_1, INPUT); pinMode (button_2, INPUT); pinMode (motorPin1, OUTPUT); pinMode (motorPin2, OUTPUT); pinMode (motorPin3, OUTPUT); pinMode (motorPin4, OUTPUT); } void loop () {val1 = digitalRead (button_1); // si le bouton 1 est enfoncé, le moteur tournera dans le sens horaire si (val1 == HIGH) {digitalWrite (motorPin1, HIGH); // la broche du moteur est en mode digitalWrite (motorPin2, LOW); // La broche du moteur est désactivée. DigitalWrite (motorPin3, LOW); // La broche du moteur est désactivée. DigitalWrite (motorPin4, LOW); // La broche du moteur est off delay (motor_Speed); digitalWrite (motorPin1, LOW); // la broche du moteur est désactivée digitalWrite (motorPin2, HIGH); // la broche du moteur est en digitalWrite (motorPin3, LOW); // la broche du moteur est désactivée digitalWrite (motorPin4, LOW); // la broche du moteur est hors délai (motor_Speed); digitalWrite (motorPin1, LOW); // la broche du moteur est désactivée digitalWrite (motorPin2, LOW); // la broche du moteur est désactivée digitalWrite (motorPin3, HIGH); // la broche du moteur est digitalWrite (motorPin4, LOW); // la broche est hors délai (motor_Speed); digitalWrite (motorPin1, LOW); // broche moteur est désactivée digitalWrite (motorPin2, LOW); // broche moteur est désactivée digitalWrite (motorPin3, LOW); // broche moteur est désactivée digitalWrite (motorPin4, HIGH); // broche moteur est en retard (motor_Speed); } val2 = digitalRead (button_2); // si le bouton 2 est enfoncé, le moteur ira dans le sens contraire des aiguilles d'une montre si (val2 == HIGH) {digitalWrite (motorPin4, HIGH); // la broche du moteur est sur digitalWrite (motorPin3, LOW); // moteur la broche est désactivée digitalWrite (motorPin2, LOW); // la broche du moteur est désactivée digitalWrite (motorPin1, LOW); // la broche du moteur est désactivée (motor_Speed); digitalWrite (motorPin4, LOW); // la broche du moteur est désactivée digitalWrite (motorPin3, HIGH); // la broche du moteur est en digitalWrite (motorPin2, LOW); // la broche du moteur est désactivée digitalWrite (motorPin1, LOW); // la broche du moteur est hors délai (motor_Speed); digitalWrite (motorPin4, LOW); // la broche du moteur est désactivée digitalWrite (motorPin3, LOW); // la broche du moteur est désactivée digitalWrite (motorPin2, HIGH); // la broche du moteur est en digitalWrite (motorPin1, LOW); // la broche du moteur est hors délai (motor_Speed); digitalWrite (motorPin4, LOW); // la broche du moteur est désactivée digitalWrite (motorPin3, LOW); // la broche du moteur est désactivée. digitalWrite (motorPin2, LOW); // la broche du moteur est désactivée. digitalWrite (motorPin1, HIGH); // la broche du moteur est en retard (motor_Speed); }}

Ci-dessus, le code que j'ai utilisé pour la machine à bonbons. C'est un contrôle de base de moteur pas à pas à deux boutons. En séquence, il active l'une des broches du moteur tandis que les autres sont désactivés. Ensuite, la broche moteur suivante s’allume pendant que le reste est éteint, etc. Le bouton 1 (val 1) est dans un sens (motorpin 1,2,3,4) alors que le bouton 2 (val 2) est dans l'autre sens (motorpin 4,3,2,1). Le délai est combien de temps entre chaque étape l'Arduino attendra. Plus le nombre est petit, plus vite. J'ai découvert qu'un retard de 3 est le délai le plus rapide que le stepper puisse faire.

Étape 4: Produit fini

Voici à quoi ressemble mon produit final.J'ai cimenté les trois morceaux ensemble, puis cémenté celui-ci au-dessus d'une boîte Arduino qui contient l'Arduino ainsi que la planche à pain. J'ai percé deux trous pour les boutons et les ai collés contre le mur de la boîte. À l'arrière, j'ai percé un trou pour la prise USB afin de pouvoir alimenter l'Arduino avec une alimentation rechargeable. Lorsque vous appuyez sur le bouton rouge, le cylindre tourne et distribue le bonbon par la fente située dans la partie inférieure.

Merci d'avoir jeté un coup d'œil sur Intractable et j'espère que vous vous amuserez à construire une machine à bonbons:)