» Électronique » Arduino »Robot sur Arduino!

Robot sur Arduino!


Bonne journée à tous! Cet article sera consacré aux amateurs d'électronique, de robotique, ainsi qu'aux personnes ayant un regard non standard sur les choses environnantes!

Alors maintenant, je vais essayer de décrire le processus de création, d'assemblage aussi clairement que possible le robot avec e farce, à savoir, sur Arduino! C'est parti!

Ce dont nous avons besoin:
Boucle à trois fils (3 pièces). Il est conseillé de prendre plus authentique.

Fils ordinaires

Potentiomètres

Résistances (220 ohms)

Bouton

Compartiment à piles

Planche à pain

Eh bien, bien sûr, moi-même arduinka

Et aussi une carte d'extension - quelque chose comme MultiservoShieldpour contrôler un grand nombre de servos

Et encore constructeur, qui sera la base de notre robot, il est donc conseillé de choisir "fort"

Parmi les outils dont vous aurez besoin:
Un jeu de tournevis, clés, etc.

Ainsi qu'un fer à souder, une soudure et un flux


Eh bien, commençons!
Étape # 1. Fabrication du châssis principal
Pour commencer, récupérez les "deux lettres H". Cela ressemble à ceci:

Puis une construction sur laquelle notre le robot se tiendra. Ce n'est pas du tout nécessaire comme sur la photo - à votre discrétion .. Cela s'est avéré comme ceci:

Nous installons notre "N" sur le support

Par le bas, nous resserrons les boulons

De l'autre "H" nous fixons le premier servo, qui est responsable de faire tourner les têtes de notre futur robot






Il s'avère quelque chose comme ceci:

Presque le cadre est prêt! Reste à fixer ces deux structures avec des plaques métalliques et à donner la hauteur au robot!





Étape # 2: Faire un cadre pour les futures oreilles de robot
Pour ce faire, nous devons assembler deux structures similaires et fixer les servos dessus, comme indiqué dans la figure:



Ensuite, à l'aide de boulons et d'écrous, connectez-vous au châssis principal. Il se révélera ce qui suit:




Vue de dessus:


Eh bien, un certain prototype du robot est presque prêt! Allez-y ..
Étape # 3. Faire des yeux et toute la tête de notre robot!
Pour cela, j'ai utilisé l'ancien combiné de l'interphone. Personnellement, elle me rappelle un visage! Voir plus ..

Nous faisons deux trous et fixons la bascule pour le servo au tube


Nous collons immédiatement les LED sur les côtés et y soudons les fils


J'en ai utilisé des fins:

Voilà ce qui s'est passé!

Étape # 4 Faire des oreilles
Nous utiliserons des bouchons ordinaires de petites boîtes
Fixez également les chaises à bascule pour serv




Maintenant, nous fixons hardiment les parties du corps du robot sur les serveurs
Comme ça:


Vue de dessus:



Retour:


En principe, vous pouvez profiter du robot maintenant, mais nous compliquerons la tâche. Nous tournerons les yeux et les oreilles du robot à l'aide de potentiomètres et de notre arduinka
Étape # 5 Électronique
En combinant l'arduino avec le bouclier multiservice, nous insérons une boucle à trois fils de chaque servo aux broches 9, 10, 11 (oreille gauche, oreille droite, cent, si vous mettez le robot face à nous)
Ensuite, sur la planche à pain, nous installons un potentiomètre, un bouton, des résistances .. Cela ressemblera à ça, moche bien sûr, mais l'essentiel fonctionne)







Plus de détails!
Comment installer le bouton:


Lorsque le fil blanc est l'alimentation, le rouge est l'entrée numérique du microcontrôleur n ° 6 et la résistance passe à la masse (fil jaune)

Comment installer un potentiomètre:


Fil rouge - alimentation, Jaune - terre, Blanc - entrée analogique du microcontrôleur n ° 0 (nous connectons un autre potentiomètre de la même manière, uniquement entrée analogique du contrôleur n ° 1)

Nous installons également des résistances pour LED sur la carte:

le courant sera fourni par 3 et 5 broches de l'arduino, et passera par les fils jaune et noir et par les résistances ira à la terre (contrôleur GND)

Eh bien, pratiquement tout, nous avons fini avec l'électronique! Il ne reste plus qu'à télécharger le prochain croquis et jouer avec le robot !!

#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
m2 long non signé = 0;
long non signé m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
void setup ()
{
  myservo1.attach (9); // oreille gauche
  myservo2.attach (10); // oreille droite
  myservo3.attach (11); // yeux
      pinMode (6, ENTRÉE); // bouton
      pinMode (3, SORTIE); // yeux allume PWM
      pinMode (5, SORTIE);
}
 boucle vide ()
{
   
    while (A == 0) // boucle de commande manuelle du robot
    {
        b = digitalRead (6);
        si (! b) k1 = 1;
        si (b == 1 && k1 == 1)
        {
              retard (10);
              b = digitalRead (6);
              si (b == 1 && k1 == 1)
                {
                 A est 1;
                 k1 = 0;
                }
        }
      p1 = int (lecture analogique (A0) / 6);
      p2 = int (lecture analogique (A1) / 6);
      myservo1.write (p1);
      myservo2.write (p1);
      myservo3.write (p2);
      analogWrite (3, i);
      analogWrite (5, i);
      si (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        si (i> 250) h1 = 1;
      }
     
        si (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        si (i == 0) h1 = 0;
      }
    }
  while (A == 1) // cycle de travail autonome du robot
   {
       digitalWrite (13.0);
       b = digitalRead (6);
        si (! b) k1 = 1;
        si (b == 1 && k1 == 1)
        {
            retard (10);
            b = digitalRead (6);
            si (b == 1 && k1 == 1)
            {
                A est 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      si (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        si (i> 250) h1 = 1;
      }
      si (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        si (i == 0) h1 = 0;
      }
   si (millis ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    r1 = r1 + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    si (r1 == 110) h = 1;
    m2 = millis ();
   }
   si (millis ()> = m2 + 15 && h == 1)
   {
    myservo1.write (r1); // 110
    myservo2.write (r2); // 70
    myservo3.write (r3); // 110
    r1 = r1-1;
    r2 = r2 + 1;
    r3 = r3-1;
    si (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


Le code est assez gros, mais croyez-moi, ça vaut le coup!
En bref, que fait ce programme:
Nous avons un bouton qui est responsable de 2 états du système: soit nous contrôlons le robot manuellement, soit il exécute les mouvements déjà enregistrés à l'avance. Lorsqu'un bouton est enfoncé, les états changent pour nous, et dans le code, 2 cycles changent entre eux, dans lesquels les commandes correspondantes sont enregistrées. Les yeux de notre robot s'éclairent progressivement, deviennent de plus en plus brillants, puis disparaissent. c'est pourquoi nous avons surnommé les LED sur les broches supportant la modulation de largeur d'impulsion PWM.

Photos du robot:




Petit enregistrement vidéo, comment et quoi tourne finalement:

En conclusion, je veux dire que, bien sûr, ce robot peut être évoqué pendant longtemps, mais c'est le goût de chaque personne. Faites-le! Inventez! Évoluez! Bonne chance à tous!
7
6.7
5.7

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer

Nous vous conseillons de lire:

Donnez-le au smartphone ...