» elektronik » Arduino »Robot på Arduino!

Robot på Arduino!


God dag till alla! Den här artikeln kommer att ägnas åt älskare av elektronik, robotik och människor med en icke-standardiserad titt på de omgivande sakerna!

Så nu kommer jag att försöka beskriva skapelsesprocessen, montering så tydligt som möjligt roboten med elektronisk stoppning, nämligen på Arduino! Låt oss gå!

Vad vi behöver:
Tretrådig slinga (3 stycken). Det är lämpligt att ta mer autentiska.

Vanliga ledningar

potentiometrar

motstånd (220 ohm)

knapp

Batterifack

prototyper ombord

Tja, självklart arduinka

Och också en utvidgningskort till det - något liknande MultiservoShieldför att kontrollera ett stort antal servon

Och mer designer, som kommer att ligga till grund för vår robot, så det är tillrådligt att välja "stark"

Från de verktyg du behöver:
En uppsättning skruvmejslar, nycklar etc.

Förutom lödkolv, lod och flussmedel


Låt oss komma igång!
Steg 1. Tillverkning av huvudramen
För att börja, samla de "två bokstäverna H" Det ser ut så här:

Sedan lite konstruktion som vår roboten kommer att stå. Det är inte alls nödvändigt som på bilden - efter eget gottfinnande .. Det visade sig så här:

Vi installerar vår "N" på supporten

Underifrån drar vi åt bultarna

På den andra "H" fixar vi den första servon, som är ansvarig för att vrida huvuden på vår framtida robot






Det visar sig något som följande:

Nästan är ramen klar! Det återstår att fästa dessa två strukturer med metallplattor och ge roboten höjd!





Steg 2: Skapa en ram för framtida robotöron
För att göra detta måste vi sätta ihop två liknande strukturer och fixera servos på dem, som visas på figuren:



Anslut sedan med bultar och muttrar till huvudramen. Det kommer att visa sig följande:




Ovanifrån:


Nåväl, en viss prototyp av roboten är nästan klar! Gå vidare ...
Steg 3. Gör ögonen och hela robotens huvud!
För detta använde jag den gamla handenheten från intercom. Personligen påminner hon mig om ett ansikte! Se mer ..

Vi gör två hål och fäster vippan för servon i röret


Vi limmar omedelbart lysdioderna på sidorna och löd trådarna på dem


Jag använde tunna:

Det var vad som hände!

Steg 4 Att göra öron
Vi kommer att använda vanliga mössor från små lådor
Fäst också gungstolarna för serv




Nu fixar vi djärvt delarna av robotens kropp på servrarna
Gilla detta:


Ovanifrån:



bak:


I princip kan du njuta av roboten nu, men vi kommer att komplicera uppgiften ... Vi kommer att vända robotens ögon och öron med hjälp av potentiometrar och våra arduinka
Steg # 5 Elektronik
Genom att kombinera arduino med multiserviceskölden sätter vi in ​​en tretrådsslinga från varje servo till stiften 9, 10, 11 (vänster örat, höger örat, cent, om du sätter roboten mot oss)
Sedan på brädan installerar vi en potentiometer, en knapp, motstånd ... Det kommer att se ut så här, ful förstås, men det viktigaste fungerar)







Mer information!
Så här installerar du knappen:


Där den vita kabeln är ström är Röd den digitala ingången till mikrokontroller nr 6, och motståndet går till marken (gul tråd)

Hur man installerar en potentiometer:


Röd tråd - kraft, gul - jord, vit - analog ingång från mikrokontroller nr 0 (vi ansluter en annan potentiometer på samma sätt, endast analog ingång till styrenhet nr 1)

Vi installerar också motstånd för lysdioder på kortet:

ström kommer att levereras från 3 och 5 stift i arduino, och kommer genom de gula och svarta ledningarna och genom motstånden går till marken (styrenhet GND)

Tja, i princip allt, vi är klara med elektronik! Det återstår bara att ladda ner nästa skiss och lek med roboten !!

#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, kl, pl, p2;
int A = 0;
int i = 0;
osignerad lång m2 = 0;
osignerad lång m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int H1 = 0;
 int h = 0;
ogiltig installation ()
{
  myservo1.attach (9); // vänster örat
  myservo2.attach (10); // höger öra
  myservo3.attach (11); // ögon
      pinMode (6, INPUT); // knapp
      pinMode (3, OUTPUT); // ögonljus PWM
      pinMode (5, OUTPUT);
}
 void loop ()
{
   
    medan (A == 0) // robot manuell styrslinga
    {
        b = digitalläsning (6);
        om (! b) k1 = 1;
        if (b == 1 && k1 == 1)
        {
              fördröjning (10);
              b = digitalläsning (6);
              if (b == 1 && k1 == 1)
                {
                 A är 1;
                 kl = 0;
                }
        }
      pl = int (analogRead (A0) / 6);
      p2 = int (analogRead (Al) / 6);
      myservo1.write (p1);
      myservo2.write (p1);
      myservo3.write (p2);
      analogWrite (3, i);
      analogWrite (5, i);
      if (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        om (i> 250) h1 = 1;
      }
     
        if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        om (i == 0) h1 = 0;
      }
    }
  medan (A == 1) // robot autonom arbetscykel
   {
       digitalWrite (13,0);
       b = digitalläsning (6);
        om (! b) k1 = 1;
        if (b == 1 && k1 == 1)
        {
            fördröjning (10);
            b = digitalläsning (6);
            if (b == 1 && k1 == 1)
            {
                A är 0;
                kl = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      if (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        om (i> 250) h1 = 1;
      }
      if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        om (i == 0) h1 = 0;
      }
   if (millis ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    rl = rl + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    om (r1 == 110) h = 1;
    m2 = millis ();
   }
   if (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;
    om (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


Koden är ganska stor, men tro mig att det är värt det!
Kortfattat, vad gör detta program:
Vi har en knapp som är ansvarig för två tillstånd i systemet: antingen kontrollerar vi roboten manuellt, eller så utförs de rörelser som redan är registrerade i förväg. När man trycker på en knapp förändras tillstånden för oss, och i koden ändras 2 cykler varandra, där motsvarande kommandon är registrerade. Våra roboters ögon tänds gradvis, blir ljusare och ljusare och bleknar sedan ut. det är därför vi har dubblat lysdioderna till stiften som stöder PWM - pulsbreddmodulering.

Foton av roboten:




liten videoinspelning, hur och vad som snurrar till slut:

Sammanfattningsvis vill jag säga att denna robot naturligtvis kan komma i åtanke under en lång tid, men det är smaken hos varje person. Gör det! Uppfinna! Växa! Lycka till alla!
7
6.7
5.7

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...