Table des matières:

Bot Sumo imprimé en 3D Arduino : 6 étapes
Bot Sumo imprimé en 3D Arduino : 6 étapes

Vidéo: Bot Sumo imprimé en 3D Arduino : 6 étapes

Vidéo: Bot Sumo imprimé en 3D Arduino : 6 étapes
Vidéo: Amazing arduino project 2024, Novembre
Anonim
Bot Sumo imprimé en 3D Arduino
Bot Sumo imprimé en 3D Arduino

J'avais donc un tas de pièces qui traînaient dans ma maison. Je voulais participer à une compétition de sumo dans quelques mois mais je n'avais pas de bot. Au lieu d'acheter un bot ou d'utiliser une conception existante qui m'obligerait à acheter des éléments pour le projet, je suis allé de l'avant et j'ai créé mon propre bot à partir de ma propre conception à partir de mes propres pièces. Vous aurez besoin des éléments suivants pour ce tutoriel.

  1. Une de chaque pièce imprimée en 3D trouvée ici.
  2. Une batterie de 7,4 volts ou deux batteries 18650.
  3. Un support de batterie si besoin.
  4. Arduino uno.
  5. Bouclier de dérivation Arduino uno.
  6. Câble USB pour Arduino.
  7. Alimentation de paillasse (en option).
  8. Chargeur (facultatif).
  9. Fils et beaucoup d'entre eux.
  10. Servos à rotation continue à engrenages métalliques de taille standard.
  11. Deux capteurs de commutation infrarouge.
  12. Servo roues de 7 cm.
  13. Interrupteur marche et arrêt.

Ce code est en constante évolution. Le code de ce robot peut être trouvé ici. Il s'agit de la version la plus récente de ce code de projet. Prendre plaisir!

Étape 1: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
  1. Le robot utilise deux servos à engrenages métalliques. Vous voudrez les visser à l'aide de boulons et d'écrous m3 avec les servos à l'intérieur du châssis tournés vers l'extérieur dans les deux sens. Il n'y a qu'une seule façon pour les servos d'entrer dans le robot, ce sera donc assez simple.
  2. Fixez les roues d'asservissement.
  3. Fixez les capteurs infrarouges de manière à ce qu'ils soient orientés vers le bas à l'avant du robot. Ils sont fixés par deux vis à travers les trous M3 à l'avant du robot. Il y a des fentes au bas du robot pour qu'ils puissent regarder à travers. Vous devez faire attention que les capteurs ne captent pas le châssis et puissent voir tout au long des fentes. Vous en apprendrez plus à ce sujet plus tard lorsque nous testerons le robot pour voir si votre travail pratique a fonctionné.
  4. Placez le capteur HC-SR04 à l'intérieur des deux trous faisant face à l'extérieur du robot de l'intérieur. Les trous sont situés à l'avant du châssis.
  5. Mettez l'Arduino Uno à l'intérieur du châssis avec le blindage dessus.
  6. Câblez tout ensemble selon la liste à puces ci-dessous.

    1. Alimentation de la source d'alimentation de votre choix à l'interrupteur d'alimentation. Vous câblerez un fil positif ou négatif à l'interrupteur. Si vous choisissez le fil négatif, ce sera votre masse tandis que si vous choisissez le fil positif, ce sera votre fil de source d'alimentation. L'autre fil selon qu'il est positif ou négatif sera votre positif ou négatif.
    2. Connectez le fil positif à vin sur l'Arduino et les fils positifs sur les servos.
    3. Connectez la terre à la terre sur les servos et l'Arduino.
    4. Connectez 5v du régulateur 5 volts de l'Arduino à toutes les bornes positives de chacun des capteurs.
    5. Câblez les capteurs à la terre sur l'Arduino.
    6. Enfin, câblez la broche 7 de l'Arduino au capteur infrarouge droit, la broche 6 au capteur infrarouge gauche, la broche 8 à l'un des servos, la broche 9 au dernier servo.

Avertissement: Le fait de ne pas câbler correctement le robot peut entraîner la fumée du robot et la destruction de l'électronique

Étape 2: Premiers signes de vie

Avertissement: Ne connectez pas le robot à votre ordinateur lorsqu'il est sous tension ou avec les servos en cours de câblage. Ne pas le faire pourrait endommager votre ordinateur

mode int = 3;

Cette ligne de code ci-dessus est la variable cruciale pour le robot. Il fait ce qui suit s'il est égal à chaque nombre répertorié ci-dessous.

  1. Tant qu'il est égal à zéro, le robot se déplace selon un schéma particulier.
  2. Si le mode est égal à un, le robot imprime la sortie vers l'ordinateur de chacune des lectures des capteurs.
  3. Lorsqu'il est égal à deux, le robot évite les bords et les obstacles s'il les rencontre.
  4. Le robot combat d'autres robots.

Ce sont les différents modes du robot utilisés pour tester et aider le robot à progresser. Vous devrez remplacer ce "3" par zéro pour la première étape de ce didacticiel.

Téléchargez maintenant le code sur le robot. Vous le verrez avancer, reculer, gauche et droite dans cet ordre.

Étape 3: Il peut voir

mode entier = 0;

Remplacez la variable suivante par "1" si l'étape précédente est terminée. Désormais, lorsqu'il est connecté à votre moniteur série sur Arduino, il imprime ce que votre robot voit. "0" signifie pour les capteurs de bord qu'ils voient quelque chose. "1" signifie qu'il ne voit aucun bord. Si vous remarquez que la logique est inversée, prenez-en note pour les prochaines étapes.

Ne vous inquiétez pas pour le capteur ping. Je n'ai pas encore fait fonctionner ça de toute façon. Ce robot est en plein développement.

Étape 4: Il peut éviter le bord de la table

void Éviter (){

int sensorStateLeft = digitalRead(leftSensor);

int sensorStateRight = digitalRead(rightSensor);

retard (50);

if (Ping.ping_cm() >= 15 && sensorStateLeft == 0 && sensorStateRight == 0){

left.write(0); right.write(90);

}

if(Ping.ping_cm() <= 15 && Ping.ping_cm() != 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

gauche.écriture(90);

right.write(0); }

}

Ce code ci-dessus est le code invoqué lorsque le mode est égal à deux. Si l'étape précédente est terminée, changez le mode pour qu'il soit égal à "2".

Si les capteurs sont inversés, n'hésitez pas à inverser "sensorStateLeft" et "sensorStateRight" dans chacune des instructions "if" pour qu'ils soient égaux à un nombre différent de celui qui leur a été donné, soit "1" ou "0".

Maintenant, le robot peut éviter le bord d'une arène de sumo. Il est presque prêt à se battre. N'hésitez pas à le tester pour voir si cela fonctionne ou non.

Étape 5: COMBAT

Votre sumo est prêt à se battre maintenant avec quelques changements de code. Changez de mode pour être égal à "3" et inversez la logique si nécessaire dans le vide "Sumo". Maintenant, votre robot devrait éviter le bord de l'arène mais ne peut pas détecter d'autres robots. Il évite essentiellement les bords de l'arène et se déplace suffisamment rapidement pour pouvoir, espérons-le, pousser un robot hors du bord de la table. Prendre plaisir!

Étape 6: Conclusion

Votre robot est maintenant terminé. S'il y a des problèmes ou des commentaires pour ce projet, n'hésitez pas à me le faire savoir. Je suis incroyablement ouvert aux commentaires parce que je ne sais pas si c'était un tutoriel bien fait ou non. Prendre plaisir!

Conseillé: