» elektronikk » Arduino »Robot på Arduino!

Robot på Arduino!


God dag til alle! Denne artikkelen vil bli viet til elskere av elektronikk, robotikk, samt mennesker med et ikke-standard utseende på de omkringliggende tingene!

Så nå vil jeg prøve å beskrive prosessen med opprettelse, montering så tydelig som mulig roboten med elektronisk stuffing, nemlig på Arduino! La oss gå!

Hva vi trenger:
Tretrådsløyfe (3 stk). Det anbefales å ta mer autentisk.

Vanlige ledninger

potentiometers

motstander (220 ohm)

knapp

Batterirom

Labkort

Vel, selvfølgelig arduinka

Og også et utvidelseskort til det - noe sånt MultiservoShieldå kontrollere et stort antall servoer

Og noe mer designer, som vil være grunnlaget for roboten vår, så det tilrådes å velge "sterk"

Fra verktøyene du trenger:
Et sett med skrutrekkere, nøkler osv.

Samt loddejern, lodde og flux


La oss komme i gang!
Trinn 1. Fremstilling av hovedrammen
For å starte, samle de "to bokstavene H" Det ser slik ut:

Så litt konstruksjon som vår roboten vil stå. Det er slett ikke nødvendig som på bildet - etter eget skjønn. Det viste seg slik:

Vi installerer vår "N" på støtten

Nedenfra strammer vi boltene

På den andre "H" fikser vi den første servoen, som er ansvarlig for å vri hodene til vår fremtidige robot






Det viser seg noe som følgende:

Nesten rammen er klar! Det gjenstår å feste disse to strukturene med metallplater og gi roboten høyde!





Trinn 2: Lage en ramme for fremtidige robotører
For å gjøre dette, må vi sette sammen to lignende strukturer og fikse servoer på dem, som vist på figuren:



Deretter bruker du bolter og muttere til hovedrammen. Det vil vise seg følgende:




Topp utsikt:


Vel, en viss prototype av roboten er nesten klar! Gå videre ..
Trinn 3. Å lage øyne og hele hodet til roboten vår!
For dette brukte jeg det gamle håndsettet fra intercom. Personlig minner hun meg om et ansikt! Se mer ..

Vi lager to hull og fest vippa for servoen til røret


Vi limer umiddelbart lysdiodene på sidene og lodder ledningene til dem


Jeg brukte tynne:

Det var det som skjedde!

Trinn 4 Å lage ører
Vi vil bruke vanlige lokker fra små bokser
Fest også gyngestolene til serv




Nå fikser vi frimodig delene av robotens kropp på serverne
Liker dette:


Topp utsikt:



bak:


I prinsippet kan du glede deg over roboten nå, men vi vil komplisere oppgaven .. Vi vil snu øynene og ørene på roboten ved hjelp av potensiometre og arduinkaene våre
Trinn 5 Elektronikk
Ved å kombinere arduino med multiserviceskjoldet setter vi inn en tretrådssløyfe fra hver servo til pinnene 9, 10, 11 (Venstre øre, høyre øre, Cent, hvis du legger roboten mot oss)
Så på brødbordet installerer vi et potensiometer, en knapp, motstander. Det vil se slik ut, stygt selvfølgelig, men det viktigste fungerer)







Flere detaljer!
Slik installerer du knappen:


Der den hvite ledningen er strøm, er rød den digitale inngangen til mikrokontroller nr. 6, og motstanden går i bakken (gul ledning)

Slik installerer du et potensiometer:


Rød ledning - strøm, gul - jord, hvit - analog inngang til mikrokontroller nr. 0 (vi kobler til et annet potensiometer på samme måte, bare analog inngang til kontroller nr. 1)

Vi installerer også motstander for LED på brettet:

strøm vil bli levert fra 3 og 5 pinner på arduino, og vil komme gjennom de gule og svarte ledningene og gjennom motstandene gå til bakken (kontroller GND)

Vel, i utgangspunktet alt, er vi ferdige med elektronikk! Det gjenstår bare å laste ned det neste skisse og leke med roboten !!

#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
usignert lang m2 = 0;
usignert lang m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
ugyldig oppsett ()
{
  myservo1.attach (9); // venstre øre
  myservo2.attach (10); // høyre øre
  myservo3.attach (11); // øyne
      pinMode (6, INPUT); // knapp
      pinMode (3, UTGANG); // øynene lyser PWM
      pinMode (5, UTGANG);
}
 void loop ()
{
   
    mens (A == 0) // robot manuell kontrollsløyfe
    {
        b = digitallesning (6);
        hvis (! b) k1 = 1;
        if (b == 1 && k1 == 1)
        {
              forsinkelse (10);
              b = digitallesning (6);
              if (b == 1 && k1 == 1)
                {
                 A er 1;
                 k1 = 0;
                }
        }
      p1 = int (analogRead (A0) / 6);
      p2 = int (analogRead (A1) / 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 ();
        hvis (i> 250) h1 = 1;
      }
     
        if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        hvis (i == 0) h1 = 0;
      }
    }
  mens (A == 1) // robot autonom arbeidsyklus
   {
       digitalWrite (13.0);
       b = digitallesning (6);
        hvis (! b) k1 = 1;
        if (b == 1 && k1 == 1)
        {
            forsinkelse (10);
            b = digitallesning (6);
            if (b == 1 && k1 == 1)
            {
                A er 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      if (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        hvis (i> 250) h1 = 1;
      }
      if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        hvis (i == 0) h1 = 0;
      }
   if (millis ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    r1 = r1 + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    hvis (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;
    hvis (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


Koden er ganske stor, men tro meg at den er verdt det!
Kort hva gjør dette programmet:
Vi har en knapp som er ansvarlig for 2 tilstander i systemet: enten styrer vi roboten manuelt, eller så utfører de bevegelsene som allerede er registrert på forhånd. Når du trykker på en knapp, endres tilstandene for oss, og i koden endres 2 sykluser seg imellom, hvor de tilsvarende kommandoene er registrert. Øynene til roboten vår lyser gradvis opp, blir lysere og lysere og blekner deretter ut. Derfor har vi kalt lysdiodene til pinnene som støtter PWM - pulsbreddemodulasjon.

Bilder av roboten:




liten videoopptak, hvordan og hva som snurrer til slutt:

Avslutningsvis vil jeg si at selvfølgelig kan denne roboten tas i tankene i lang tid, men dette er smaken til enhver person. Gjør det! Oppfinne! Vokse! Lykke til alle sammen!
7
6.7
5.7

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...