Kuinka rakentaa robotti kotona (kuvilla)

Sisällysluettelo:

Kuinka rakentaa robotti kotona (kuvilla)
Kuinka rakentaa robotti kotona (kuvilla)

Video: Kuinka rakentaa robotti kotona (kuvilla)

Video: Kuinka rakentaa robotti kotona (kuvilla)
Video: Sketchup - ryhmien käyttäminen mallinnuksen apuna 2024, Huhtikuu
Anonim

Haluatko oppia rakentamaan oman robotin? On olemassa paljon erilaisia robotteja, jotka voit tehdä itse. Useimmat ihmiset haluavat nähdä robotin suorittavan yksinkertaiset tehtävät siirtymällä pisteestä A pisteeseen B. Voit tehdä robotin kokonaan analogisista komponenteista tai ostaa aloituspakkauksen tyhjästä! Oman robotin rakentaminen on loistava tapa opettaa itsellesi sekä elektroniikkaa että tietokoneohjelmointia.

Askeleet

Osa 1/6: Robotin kokoaminen

1123333 1
1123333 1

Vaihe 1. Kerää komponentit

Perusrobotin rakentamiseen tarvitset useita yksinkertaisia komponentteja. Löydät useimmat, ellei kaikki, nämä komponentit paikallisesta elektroniikkaharrastekaupastasi tai useista verkkokaupoista. Jotkut perussarjat voivat sisältää myös kaikki nämä komponentit. Tämä robotti ei vaadi juottamista:

  • Arduino Uno (tai muu mikro -ohjain)
  • 2 jatkuvasti pyörivää servoa
  • 2 pyörää, jotka sopivat servoihin
  • 1 pyörätela
  • 1 pieni juototon leipälauta (etsi leipälauta, jossa on kaksi positiivista ja negatiivista viivaa kummallakin puolella)
  • 1 etäisyysanturi (nelinapaisella liitäntäkaapelilla)
  • 1 minipainike
  • 1 10 kΩ vastus
  • 1 USB A - B -kaapeli
  • 1 sarja irrotettavia otsikoita
  • 1 6 x AA -paristopidike 9 V DC -virtaliittimellä
  • 1 pakkaus hyppyjohtoja tai 22-koukkuinen kytkentäjohto
  • Vahva kaksipuolinen teippi tai kuuma liima
1123333 2
1123333 2

Vaihe 2. Käännä akku ympäri niin, että litteä selkäpuoli on ylöspäin

Rakennat robotin vartalon käyttämällä akkua pohjana.

1123333 3
1123333 3

Vaihe 3. Kohdista kaksi servoa akun päähän

Tämän pitäisi olla se loppu, josta akun lanka tulee ulos. Servojen tulee koskettaa pohjaa ja kummankin pyörivän mekanismin tulee osoittaa ulos akun sivuilta. Servot on kohdistettava oikein, jotta pyörät menevät suoraan. Servojen johtojen tulee irrota akun takaosasta.

1123333 4
1123333 4

Vaihe 4. Kiinnitä servot teipillä tai liimalla

Varmista, että ne on kiinnitetty tukevasti akkuun. Servojen selkänojien tulee olla samassa tasossa akun takaosan kanssa.

Servojen pitäisi nyt ottaa akun takaosa

1123333 5
1123333 5

Vaihe 5. Kiinnitä leipälevy kohtisuoraan akun avoimeen tilaan

Sen pitäisi roikkua hieman akun etupuolella ja ulottua kummaltakin puolelta. Varmista, että se on kunnolla kiinni ennen kuin jatkat. "A" -rivin tulisi olla lähimpänä servoja.

1123333 6
1123333 6

Vaihe 6. Kiinnitä Arduino -mikro -ohjain servojen yläosiin

Jos kiinnität servot kunnolla, niiden tulee olla tasaiset, koskettavat. Kiinnitä Arduino -kortti tähän tasaiseen tilaan niin, että Arduinon USB- ja virtaliittimet ovat taaksepäin (pois leipälevystä). Arduinon etuosan tulisi olla juuri ja juuri päällekkäin leipälevyn kanssa.

1123333 7
1123333 7

Vaihe 7. Aseta pyörät servojen päälle

Paina pyörät lujasti servon pyörivään mekanismiin. Tämä voi vaatia huomattavan määrän voimaa, koska pyörät on suunniteltu sopimaan mahdollisimman tiukasti parhaan pidon saavuttamiseksi.

1123333 8
1123333 8

Vaihe 8. Kiinnitä pyörä pyörölevyn pohjaan

Jos käännät kotelon ympäri, sinun pitäisi nähdä hieman leipälevyä, joka ulottuu akun ohi. Kiinnitä pyörä tähän jatkokappaleeseen käyttämällä tarvittaessa nousuputkia. Pyörä toimii etupyöränä, jolloin robotti voi helposti kääntyä mihin tahansa suuntaan.

Jos ostit sarjan, pyörän mukana on saattanut tulla muutama nousuputki, joiden avulla voit varmistaa, että pyörä saavuttaa maan. i

Osa 2/6: Robotin kytkentä

1123333 9
1123333 9

Vaihe 1. Katkaise kaksi 3-nastaista otsikkoa

Käytät näitä yhdistääksesi servot leipälautaan. Työnnä tapit alas otsikon läpi niin, että tapit tulevat ulos samalta etäisyydeltä molemmilta puolilta.

1123333 10
1123333 10

Vaihe 2. Aseta kaksi otsikkoa leipälaudan rivin E nastoihin 1-3 ja 6-8

Varmista, että ne ovat tiukasti kiinni.

1123333 11
1123333 11

Vaihe 3. Liitä servojohdot liittimiin, musta kaapeli vasemmalla puolella (nastat 1 ja 6)

Tämä yhdistää servot leipälautaan. Varmista, että vasen servo on kytketty vasempaan otsikkoon ja oikea servo oikeaan otsikkoon.

1123333 12
1123333 12

Vaihe 4. Liitä punaiset hyppyjohtimet nastoista C2 ja C7 punaisiin (positiivisiin) kiskoihin

Varmista, että käytät punaista kiskoa leipälaudan takana (lähempänä muuta koteloa).

1123333 13
1123333 13

Vaihe 5. Liitä mustat hyppyjohtimet nastoista B1 ja B6 sinisiin (maadoitettuihin) kiskoihin

Varmista, että käytät leipälevyn takana olevaa sinistä kiskoa. Älä kytke niitä punaisiin kiskoihin.

1123333 14
1123333 14

Vaihe 6. Liitä valkoiset hyppyjohdot Arduinon nastoista 12 ja 13 A3 ja A8

Tämä antaa Arduinolle mahdollisuuden hallita servoja ja kääntää pyöriä.

1123333 15
1123333 15

Vaihe 7. Kiinnitä anturi leipälevyn etuosaan

Se ei kytkeydy leipälaudan ulkoisiin virtakiskoihin, vaan kirjaimellisten nastojen ensimmäiseen riviin (J). Varmista, että asetat sen täsmälleen keskelle, ja molemmilla puolilla on yhtä monta nastaa.

1123333 16
1123333 16

Vaihe 8. Liitä musta hyppyjohdin nastasta I14 ensimmäiseen saatavana olevaan siniseen kiskoon, joka on anturin vasemmalla puolella

Tämä maadoittaa anturin.

1123333 17
1123333 17

Vaihe 9. Liitä punainen hyppyjohdin nastasta I17 ensimmäiseen käytettävissä olevaan punaiseen kiskoon, joka on anturin oikealla puolella

Tämä antaa anturille virran.

1123333 18
1123333 18

Vaihe 10. Liitä valkoiset hyppyjohtimet nastasta I15 Arduinon nastaan 9 ja liittimestä I16 nastaan 8

Tämä syöttää tietoja anturista mikro -ohjaimeen.

Osa 3/6: Virran kytkeminen

1123333 19
1123333 19

Vaihe 1. Käännä robotti kyljelleen niin, että näet pakkauksen paristot

Suuntaa se siten, että akkukaapeli tulee ulos vasemmalta pohjasta.

1123333 20
1123333 20

Vaihe 2. Kytke punainen johto toiseen jouseen alhaalta vasemmalta

Varmista, että akku on suunnattu oikein.

1123333 21
1123333 21

Vaihe 3. Liitä musta johto oikeassa alakulmassa olevaan viimeiseen jouseen

Nämä kaksi kaapelia auttavat tarjoamaan oikean jännitteen Arduinolle.

1123333 22
1123333 22

Vaihe 4. Kytke punaiset ja mustat johdot leipälevyn takana olevaan oikeaan punaiseen ja siniseen nastaan

Musta kaapeli on kytkettävä siniseen kiskotappiin nastassa 30. Punainen kaapeli on kytkettävä punaiseen kiskotappiin nastassa 30.

1123333 23
1123333 23

Vaihe 5. Liitä musta johto Arduinon GND -nastasta siniseen takakiskoon

Liitä se sinisen kiskon nastaan 28.

1123333 24
1123333 24

Vaihe 6. Liitä musta johto takasinisestä kiskosta etuosan siniseen kiskoon nastassa 29 kullekin

Älä yhdistä punaisia kiskoja, koska vahingoitat Arduinoa.

1123333 25
1123333 25

Vaihe 7. Liitä punainen johto etupunaisesta kiskosta nastassa 30 Arduinon 5 V: n napaan

Tämä antaa virtaa Arduinolle.

1123333 26
1123333 26

Vaihe 8. Työnnä painikekytkin nastojen 24-26 rivien väliin

Tämän kytkimen avulla voit sammuttaa robotin irrottamatta virtaa.

1123333 27
1123333 27

Vaihe 9. Liitä punainen johto H24: stä punaiseen kiskoon seuraavassa käytettävissä olevassa tapissa anturin oikealla puolella

Tämä käynnistää painikkeen.

1123333 28
1123333 28

Vaihe 10. Liitä H26 siniseen kiskoon vastuksen avulla

Liitä se nastaan suoraan sen mustan johdon viereen, jonka liitit muutama vaihe sitten.

1123333 29
1123333 29

Vaihe 11. Liitä valkoinen johto G26: sta Arduinon nastaan 2

Tämä antaa Arduinolle mahdollisuuden rekisteröidä painike.

Osa 4/6: Arduino -ohjelmiston asennus

1123333 30
1123333 30

Vaihe 1. Lataa ja pura Arduino IDE

Tämä on Arduino -kehitysympäristö, ja sen avulla voit ohjelmoida ohjeita, jotka voit ladata Arduino -mikrokontrolleriisi. Voit ladata sen ilmaiseksi osoitteesta arduino.cc/en/main/software. Pura ladattu tiedosto kaksoisnapsauttamalla sitä ja siirrä kansio sisälle helppokäyttöiseen paikkaan. Et todellakaan asenna ohjelmaa. Sen sijaan suoritat sen vain puretusta kansiosta kaksoisnapsauttamalla arduino.exe-tiedostoa.

1123333 31
1123333 31

Vaihe 2. Liitä akku Arduinoon

Kytke akun takaisinliitin Arduinon liittimeen, jotta se saa virtaa.

1123333 32
1123333 32

Vaihe 3. Liitä Arduino tietokoneeseen USB -liitännän kautta

Windows ei todennäköisesti tunnista laitetta.

1123333 33
1123333 33

Vaihe 4. Paina

⊞ Win+R ja tyyppi devmgmt.msc.

Tämä käynnistää Laitehallinnan.

1123333 34
1123333 34

Vaihe 5. Napsauta hiiren kakkospainikkeella "Tuntematon laite" "Muut laitteet" -osiossa ja valitse "Päivitä ohjainohjelmisto

" Jos et näe tätä vaihtoehtoa, napsauta sen sijaan "Ominaisuudet", valitse "Ohjain" -välilehti ja napsauta "Päivitä ohjain".

1123333 35
1123333 35

Vaihe 6. Valitse "Selaa tietokoneeltani ohjainohjelmistoa

" Tämän avulla voit valita Arduino IDE: n mukana tulleen ohjaimen.

1123333 36
1123333 36

Vaihe 7. Napsauta "Selaa" ja siirry aiemmin purkamaasi kansioon

Löydät "ajurit" -kansion sisältä.

1123333 37
1123333 37

Vaihe 8. Valitse "Drivers" -kansio ja napsauta "OK"

" Vahvista, että haluat jatkaa, jos sinua varoitetaan tuntemattomasta ohjelmistosta.

Osa 5/6: Robotin ohjelmointi

1123333 38
1123333 38

Vaihe 1. Käynnistä Arduino IDE kaksoisnapsauttamalla arduino.exe-tiedostoa IDE-kansiossa

Sinut tervehditään tyhjällä projektilla.

1123333 39
1123333 39

Vaihe 2. Liitä seuraava koodi saadaksesi robotin toimimaan suoraan

Alla oleva koodi saa Arduinosi jatkuvasti siirtymään eteenpäin.

#include // tämä lisää "servokirjaston" ohjelmaan // seuraava luo kaksi servo -objektia Servo leftMotor; Servo oikeaMoottori; void setup () {leftMotor.attach (12); // jos olet vahingossa vaihtanut servojen pin -numeroita, voit vaihtaa numerot täällä rightMotor.attach (13); } void loop () {leftMotor.write (180); // jatkuvalla pyörimisellä 180 käskee servoa siirtymään täydellä nopeudella "eteenpäin". oikeaMoottori. kirjoittaa (0); // jos molemmat ovat 180, robotti menee ympyrään, koska servot on käännetty. "0" kertoo sen siirtyvän täydellä nopeudella "taaksepäin". }

1123333 40
1123333 40

Vaihe 3. Luo ja lataa ohjelma

Napsauta oikeaa nuolipainiketta vasemmassa yläkulmassa rakentaaksesi ja ladataksesi ohjelman yhdistettyyn Arduinoon.

Haluat ehkä nostaa robotin pois pinnalta, koska se jatkaa eteenpäin vain, kun ohjelma on ladattu

1123333 41
1123333 41

Vaihe 4. Lisää tappokytkintoiminto

Lisää seuraava koodi koodisi "void loop ()" -osioon, jotta tappokytkin otetaan käyttöön "write ()" -toimintojen yläpuolella.

if (digitalRead (2) == HIGH) // tämä rekisteröidään, kun painiketta painetaan Arduinon nastassa 2 {while (1) {leftMotor.write (90); // "90" on servojen neutraali asento, joka käskee heitä lopettamaan oikealle kääntymisenMotor.write (90); }}

1123333 42
1123333 42

Vaihe 5. Lataa ja testaa koodisi

Kun tappokytkimen koodi on lisätty, voit ladata ja testata robotin. Sen pitäisi ajaa eteenpäin, kunnes painat kytkintä, jolloin se lakkaa liikkumasta. Koko koodin pitäisi näyttää tältä:

#include // seuraava luo kaksi servo -objektia Servo leftMotor; Servo oikeaMoottori; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Osa 6/6: Esimerkki

Vaihe 1. Seuraa esimerkkiä

Seuraava koodi käyttää robottiin kiinnitettyä anturia, jotta se kääntyy vasemmalle aina, kun se kohtaa esteen. Katso koodin kommentit saadaksesi lisätietoja siitä, mitä kukin osa tekee. Alla oleva koodi on koko ohjelma.

#sisältää Servo leftMotor; Servo oikeaMoottori; const int serialPeriod = 250; // tämä rajoittaa tulostuksen konsoliin kerran 1/4 sekunnissa allekirjoittamattoman pitkän ajanSerialDelay = 0; const int loopPeriod = 20; // tämä asettaa kuinka usein anturi ottaa lukeman 20 ms: ksi, mikä on 50 Hz: n taajuus, joka on pitkä aikaLoopDelay = 0; // tämä määrittää TRIG- ja ECHO -toiminnot Arduinon nastoille. Säädä numeroita tässä, jos olet liittänyt eri konstit int ultraääni2TrigPin = 8; const int ultraääni2EchoPin = 9; int ultraääni2Etäisyys; int ultraääni2Kesto; // tämä määrittelee robotille kaksi mahdollista tilaa: ajaminen eteenpäin tai kääntyminen vasemmalle #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = aja eteenpäin (DEFAULT), 1 = käänny vasemmalle tyhjä asetus () {Serial.begin (9600); // nämä anturitapin kokoonpanot pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultraääni2EchoPin, INPUT); // tämä määrittää moottorit Arduinon nastoille leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // tämä havaitsee tappokytkimen {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // tämä tulostaa virheenkorjausviestit sarjakonsolille, jos (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // tämä ohjaa anturia lukemaan ja tallentamaan mitatut etäisyydet stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // jos esteitä ei havaittu {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // jos robotin edessä ei ole mitään. ultrasonicDistance on negatiivinen joillekin ultraäänilaitteille, jos esteitä ei ole {// aja eteenpäin rightMotor.write (180); leftMotor.write (0); } else // jos edessämme on objekti {state = TURN_LEFT; }} else if (state == TURN_LEFT) // jos este havaitaan, käänny vasemmalle {unsigned long timeToTurnLeft = 500; // 90 asteen kääntyminen kestää noin.5 sekuntia. Saatat joutua säätämään tätä, jos pyörät ovat eri kokoisia kuin esimerkki pitkäikäinen käännösStartTime = millis (); // säästää aikaa, jonka aloimme kääntää, kun ((millis ()-turnStartTime) <timeToTurnLeft) // pysyy tässä silmukassa, kunnes timeToTurnLeft on kulunut {// käänny vasemmalle, muista, että kun molemmat on asetettu arvoon "180", se kääntyy. rightMotor.write (180); leftMotor.write (180); } tila = DRIVE_FORWARD; }} void readUltrasonicSensors () {// tämä koskee ultraääntä 2. Nämä komennot on ehkä muutettava, jos käytät toista anturia. digitalWrite (ultraääni2TrigPin, HIGH); delayMikrosekuntia (10); // pitää trig -nastan korkeana vähintään 10 mikrosekuntia digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultraääni2EchoPin, HIGH); ultraääni2Etäisyys = (ultraääni2Kesto/2)/29; } // seuraava koskee konsolin virheenkorjausvirheitä. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Sarjajälki (ultraääni2etäisyys); Sarjajälki ("cm"); Sarja.println (); timeSerialDelay = millis (); }}

Suositeltava: