» elektronik » Arduino »Robot på Arduino!

Robot på Arduino!


God dag til alle! Denne artikel vil blive viet til elskere af elektronik, robotik såvel som folk med et ikke-standard kig på de omkringliggende ting!

Så nu vil jeg forsøge at beskrive processen med oprettelse, samling så klart som muligt roboten med elektronisk fyldning, nemlig på Arduino! Lad os gå!

Hvad vi har brug for:
Tretrådsløjfe (3 stykker). Det tilrådes at tage mere autentiske.

Almindelige ledninger

potentiometre

modstande (220 ohm)

knap

Batterirum

prototyping board

Selvfølgelig arduinka

Og også et ekspansionskort til det - noget i retning af MultiservoShieldtil at kontrollere et stort antal servoer

Og mere designer, som vil være grundlaget for vores robot, så det tilrådes at vælge "stærk"

Fra de værktøjer, du har brug for:
Et sæt skruetrækkere, nøgler osv.

Samt et loddejern, lodde og flux


Lad os komme i gang!
Trin 1. Fremstilling af hovedrammen
For at starte, skal du samle de "to bogstaver H" Det ser sådan ud:

Så nogle konstruktioner, som vores roboten vil stå. Det er slet ikke nødvendigt som på billedet - efter din skøn. Det viste sig sådan:

Vi installerer vores "N" på supporten

Fra neden strammes vi boltene

På den anden "H" fikser vi den første servo, der er ansvarlig for at dreje hovederne på vores fremtidige robot






Det viser sig noget i det følgende:

Næsten rammen er klar! Det gjenstår at fastgøre disse to strukturer med metalplader og give robotten højde!





Trin 2: Lav en ramme til fremtidige robotører
For at gøre dette er vi nødt til at samle to lignende strukturer og fastgøre servoer på dem, som vist på figuren:



Forbind derefter med bolte og møtrikker til hovedrammen. Det viser sig følgende:




Udsigt fra oven:


Nå, en bestemt prototype af roboten er næsten klar! Gå videre ..
Trin 3. At skabe øjne og hele hovedet på vores robot!
Til dette brugte jeg det gamle håndsæt fra intercom. Personligt minder hun mig om et ansigt! Se mere ..

Vi laver to huller og fastgør vipperen til servoen på røret


Vi limer straks lysdioderne på siderne og lodder ledningerne på dem


Jeg brugte tynde:

Det er hvad der skete!

Trin # 4 At få øre
Vi bruger almindelige kasketter fra små kasser
Fastgør også gyngestole til serv




Nu fixer vi med frimodighed dele af robottens krop på serverne
Kan du lide dette:


Udsigt fra oven:



bag:


I princippet kan du nyde roboten nu, men vi komplicerer opgaven. Vi vender robotens øjne og ører ved hjælp af potentiometre og vores arduinka
Trin 5 Elektronik
Ved at kombinere arduino med multiserviceskjoldet indsætter vi en tretrådssløjfe fra hver servo til stifterne 9, 10, 11 (venstre øre, højre øre, cent, hvis du lægger roboten mod os)
Derefter installerer vi på brødbrættet et potentiometer, en knap, modstande .. Det vil se sådan ud, grimt selvfølgelig, men det vigtigste fungerer)







Flere detaljer!
Sådan installeres knappen:


Hvor den hvide ledning har strøm, er Rød den digitale indgang fra mikrokontroller nr. 6, og modstanden går til jorden (gul ledning)

Sådan installeres et potentiometer:


Rød ledning - strøm, gul jord, hvid - analog indgang af mikrokontroller nr. 0 (vi tilslutter et andet potentiometer på samme måde, kun analog indgang til controller nr. 1)

Vi installerer også modstande til LED på tavlen:

strøm leveres fra 3 og 5 ben på arduino og kommer gennem de gule og sorte ledninger og gennem modstandene går til jorden (GND for controlleren)

Grundlæggende alt, vi er færdige med elektronik! Det gjenstår kun at downloade det næste skitse og leg med roboten !!

#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
usigneret lang m2 = 0;
usigneret lang m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
ugyldig opsætning ()
{
  myservo1.attach (9); // venstre øre
  myservo2.attach (10); // højre øre
  myservo3.attach (11); // øjne
      pinMode (6, INPUT); // knap
      pinMode (3, OUTPUT); // øjne lys PWM
      pinMode (5, OUTPUT);
}
 void loop ()
{
   
    mens (A == 0) // robot manuel kontrolsløjfe
    {
        b = digital læse (6);
        hvis (! b) k1 = 1;
        hvis (b == 1 && k1 == 1)
        {
              forsinkelse (10);
              b = digital læse (6);
              hvis (b == 1 && k1 == 1)
                {
                 A er 1;
                 k1 = 0;
                }
        }
      p1 = 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 ();
        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 arbejdscyklus
   {
       digitalWrite (13,0);
       b = digital læse (6);
        hvis (! b) k1 = 1;
        hvis (b == 1 && k1 == 1)
        {
            forsinkelse (10);
            b = digital læse (6);
            hvis (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 ret stor, men tro mig, det er det værd!
Kort, hvad gør dette program:
Vi har en knap, der er ansvarlig for 2 tilstande i systemet: enten styrer vi roboten manuelt, eller den udfører bevægelser, der allerede er registreret på forhånd. Når der trykkes på en knap, ændres tilstande for os, og i koden ændrer 2 cykler sig imellem, hvor de tilsvarende kommandoer er registreret. Øjnene på vores robot lyser gradvist op, bliver lysere og lysere og falmer derefter ud. det er derfor, vi har døbt lysdioderne til stifterne, der understøtter PWM - pulsbreddemodulering.

Fotos af roboten:




lille videooptagelse, hvordan og hvad der til sidst drejer:

Afslutningsvis vil jeg sige, at denne robot naturligvis kan bringes i tankerne i lang tid, men dette er smagen af ​​enhver person. Gør det! Invent! Grow! Held og lykke til alle sammen!
7
6.7
5.7

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt

Vi råder dig til at læse:

Giv den til smartphonen ...