Kuinka tehdä robotti kotona (kuvilla)

Sisällysluettelo:

Kuinka tehdä robotti kotona (kuvilla)
Kuinka tehdä robotti kotona (kuvilla)

Video: Kuinka tehdä robotti kotona (kuvilla)

Video: Kuinka tehdä robotti kotona (kuvilla)
Video: Tutorial miten ladata minecraft map! (kuvaus) 2024, Saattaa
Anonim

Haluatko oppia tekemään oman robotin? On olemassa monia erilaisia robotteja, jotka voit rakentaa itse. Useimmat ihmiset haluavat nähdä robotin tekevän helpon työn siirtyäkseen pisteestä A paikkaan B. Voit rakentaa robotin kokonaan analogisista komponenteista tai ostaa aloituspakkauksen. Oman robotin tekeminen on loistava tapa oppia elektroniikkaa ja tietokoneohjelmointia.

Vaihe

Osa 1/5: Robotin kokoaminen

1123333 1
1123333 1

Vaihe 1. Kokoa osat

Perusrobotin rakentamiseen tarvitset muutamia yksinkertaisia komponentteja. Löydät suurimman osan tai kaikki nämä komponentit paikallisesta elektroniikkakaupasta tai joistakin verkkokaupoista. Jotkut sarjat sisältävät kaikki nämä komponentit. Tämä robotti ei vaadi juottamista:

  • Arduino Uno (tai muu mikro -ohjain)
  • 2 servoa 360 astetta
  • 2 pyörää, jotka sopivat servoon
  • 1 vapaa pyörä
  • 1 testilevy (leipälevy tai projektialusta), jota ei ole juotettu (etsi testilevyä, jossa on kaksi positiivista ja negatiivista riviä kummallakin puolella)
  • 1 läheisyysanturi (nelinapaisella liitäntäkaapelilla)
  • 1 painonappikytkin
  • 1 vastus 10 kΩ
  • 1 USB A - B -kaapeli
  • 1 sarja rikkoutuvia otsikoita
  • 1 6 x AA -paristopidike, jossa 9 V DC -pistorasia
  • 1 pakkaus 22. hyppykaapelit tai yksi kaapeli
  • Eristys edestakaisin (kaksoisnauha) tai liimapistooli
1123333 2
1123333 2

Vaihe 2. Käännä paristokotelo niin, että sen tasainen selkäpuoli on ylöspäin

Robotin runko rakennetaan käyttämällä paristolokeroa pohjana.

1123333 3
1123333 3

Vaihe 3. Järjestä kaksi servoa samaan suuntaan akkupaikan päähän

Tämä pää on pää, jossa kaapeli tulee ulos akusta. Servojen tulee koskettaa pohjaa ja kunkin servon pyörimismekanismin tulee olla ulos paristolokeron sivuilta. On tärkeää, että nämä servot on järjestetty oikein niin, että pyörät ovat suorat. Servokaapeleiden on tultava ulos paristokotelon takaa.

1123333 4
1123333 4

Vaihe 4. Liimaa servot eristyksellä tai liimalla

Varmista, että servo on tiukasti kiinni paristolokerossa. Servon takaosan on oltava linjassa paristokotelon takaosan kanssa.

Nyt servojen pitäisi ottaa puolet tilasta akkupaikan takana

1123333 5
1123333 5

Vaihe 5. Kiinnitä testikortti kohtisuoraan paristolokeron jäljellä olevaan tilaan

Tämä testikortti roikkuu hieman paristokotelon etupuolella ja ulottuu molemmille puolille. Varmista, että testikortti on tiukka ennen kuin jatkat. A -rivin tulisi olla lähimpänä servoa.

1123333 6
1123333 6

Vaihe 6. Kiinnitä Arduino -mikro -ohjain servon yläosaan

Jos kiinnität servon oikein, molempien servojen tulee osua tasaisesti toisiinsa. Kiinnitä Arduino -kortti tähän tasaiseen kohtaan niin, että USB- ja Arduino -virtaliittimet ovat alaspäin (poispäin testikortista). Arduinon etuosa on päällekkäin testikortin kanssa.

1123333 7
1123333 7

Vaihe 7. Asenna pyörät servoihin

Paina pyörät lujasti pyörivään servomekanismiin. Tämä voi vaatia huomattavaa voimaa, koska pyörissä on reiät, jotka vastaavat tarkasti servokärjen muotoa.

1123333 8
1123333 8

Vaihe 8. Asenna vapaa pyörä testikortin pohjaan

Jos käännät robotin ylösalaisin, näet paristolokerosta riippuvan pienen testikortin. Kiinnitä vapaa pyörä tähän riippuvaan osaan. Käytä kiilaa tarvittaessa. Vapaa pyörä toimii etupyöränä, jonka avulla robotti voi kääntyä helposti mihin tahansa suuntaan.

Jos ostit sarjan, vapaassa pyörässä voi olla kiilat, joiden avulla voit varmistaa, että pyörä voi koskettaa maata vapaasti

Osa 2/5: Robotin kytkentä

1123333 9
1123333 9

Vaihe 1. Leikkaa kaksi 3-nastaista otsikkoa

Käytät tätä liittääksesi servon testikorttiin. Työnnä tapit alas otsikoiden läpi niin, että ne tulevat ulos yhtä pitkälle molemmilta puolilta.

1123333 10
1123333 10

Vaihe 2. Aseta kaksi otsikkoa testialustan rivin E nastoihin 1-3 ja 6-8

Varmista, että ne on asetettu tiukasti tai tukevasti paikalleen.

1123333 11
1123333 11

Vaihe 3. Liitä servojohdot otsakkeella ja musta johto vasemmalla puolella (nastat 1 ja 6)

Tämä yhdistää servon testikorttiin. Varmista, että vasen servo on liitetty vasempaan otsikkoon ja oikea servo oikeaan.

1123333 12
1123333 12

Vaihe 4. Liitä punainen hyppyjohdin nastoista C2 ja C7 punaiseen kiskoon (positiivinen)

Varmista, että käytät testikortin takana olevaa punaista kiskoa (lähempänä muuta robottirunkoa).

1123333 13
1123333 13

Vaihe 5. Liitä nastojen B1 ja B6 musta hyppyjohdin siniseen kiskoon (maadoitus)

Varmista, että käytät testikortin takana olevaa sinistä kiskoa. Älä kiinnitä kaapelia punaiseen kiskoon.

1123333 14
1123333 14

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

Tämä antaa Arduinolle mahdollisuuden hallita servoa ja kääntää pyörää.

1123333 15
1123333 15

Vaihe 7. Kiinnitä anturi testikortin etuosaan

Anturia ei ole asennettu testikortin ulkoiseen virtakiskoon, vaan kahteen ensimmäiseen riviin, joissa on kirjaimet (J). Varmista, että asetat sen keskelle, ja molemmilla puolilla on sama määrä tyhjiä tappeja.

1123333 16
1123333 16

Vaihe 8. Liitä musta hyppyjohdin nastasta I14 ensimmäiseen siniseen kiskotappiin anturin vasemmalla puolella

Tämä maadoittaa anturin.

1123333 17
1123333 17

Vaihe 9. Liitä punainen hyppyjohdin nastasta I17 ensimmäiseen punaiseen kiskotappiin anturin oikealla puolella

Tämä antaa virran anturille.

1123333 18
1123333 18

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

Tämä antaa tietoja anturista mikro -ohjaimeen.

Osa 3/5: Virtajohdon asentaminen

1123333 19
1123333 19

Vaihe 1. Käännä robotti ympäri, jotta näet paristolokeron sisällä

Järjestä paristolokero niin, että kaapeli tulee ulos vasemman alakulman kautta.

1123333 20
1123333 20

Vaihe 2. Kytke punainen johto toisesta jousesta vasemmalta alhaalta

Varmista, että paristolokero on oikein kohdistettu tai oikeaan suuntaan.

1123333 21
1123333 21

Vaihe 3. Liitä musta johto viimeiseen jouseen oikeassa alakulmassa

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

1123333 22
1123333 22

Vaihe 4. Liitä punainen ja musta johto punaisiin ja sinisiin nastoihin, jotka ovat testikortin takana oikealla puolella

Mustan langan tulisi mennä tapin 30 siniseen kiskoon.

1123333 23
1123333 23

Vaihe 5. Liitä musta johto Arduinon GND -nastasta sinisen kiskon takaosaan

Kytke johto sinisen kiskon nastaan 28.

1123333 24
1123333 24

Vaihe 6. Liitä musta johto sinisen kiskon takaosasta sinisen kiskon etuosaan tapissa 29 molemmille kiskoille

Älä liitä punaista kiskoa, koska voit vahingoittaa Arduinoa.

1123333 25
1123333 25

Vaihe 7. Liitä punainen johto punaisen kiskon etuosasta nastassa 30 5 V: n nastaan Arduinossa

Tämä antaa virtaa Arduinolle.

1123333 26
1123333 26

Vaihe 8. Työnnä painikekytkin nastojen 24-26 väliseen tilaan

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

1123333 27
1123333 27

Vaihe 9. Liitä punainen johto H24: stä punaiseen kiskoon seuraavassa tyhjässä tapissa anturin oikealla puolella

Tämä antaa virtaa painikkeelle.

1123333 28
1123333 28

Vaihe 10. Liitä H26 siniseen kiskoon vastuksen avulla

Liitä se nastaan suoraan mustan johdon viereen, jonka juuri liitit edellisissä vaiheissa.

1123333 29
1123333 29

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

Tämä antaa Arduinolle mahdollisuuden tunnistaa painikkeet.

Osa 4/5: Arduino -ohjelmiston asennus

1123333 30
1123333 30

Vaihe 1. Lataa ja pura Arduino IDE

Täällä Arduino on kehitetty 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 tiedostoa ja siirtämällä sen sisältämä kansio helppokäyttöiseen paikkaan. Et todellakaan asenna ohjelmaa, vaan suoritat sen vain kansiosta, joka purettiin kaksoisnapsauttamalla arduino.exe-tiedostoa.

1123333 31
1123333 31

Vaihe 2. Liitä paristolokero Arduinoon

Kytke akun takaosa pistorasiaan Arduinon liittimeen.

1123333 32
1123333 32

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

On todennäköistä, että Windows ei tunnista laitetta.

1123333 33
1123333 33

Vaihe 4. Paina

Win+R. ja tyyppi devmgmt.msc.

Tämä komento avaa Laitehallinnan.

1123333 34
1123333 34

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

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

1123333 35
1123333 35

Vaihe 6. Valitse Selaa tietokoneeltani ohjainohjelmistoa

Tämän avulla voit valita Arduino IDE: n mukana tulleet sisäänrakennetut ohjaimet.

1123333 36
1123333 36

Vaihe 7. Napsauta Selaa ja avaa aiemmin purkamasi kansio

Löydät siitä ohjainkansion.

1123333 37
1123333 37

Vaihe 8. Valitse ohjainkansio ja napsauta OK

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

Osa 5/5: Robottien ohjelmointi

1123333 38
1123333 38

Vaihe 1. Avaa Arduino IDE kaksoisnapsauttamalla arduino.exe-tiedostoa IDE-kansiossa

Sinua tervehditään tyhjällä projektilla.

1123333 39
1123333 39

Vaihe 2. Liitä tai liitä seuraava koodi, jotta robotti kehittyy

Alla oleva koodi pitää Arduinosi käynnissä.

#include // tämä lisää "servokirjaston" ohjelmaan // seuraava komento luo kaksi servo -objektia Servo leftMotor; Servo oikeaMoottori; void setup () {leftMotor.attach (12); // jos olet vahingossa vaihtanut servon nastanumerot, voit vaihtaa numerot täällä rightMotor.attach (13); } void loop () {leftMotor.write (180); // 360 asteen kierto (jatkuva kierto), numero 180 kehottaa servoa siirtymään eteenpäin eteenpäin täydellä nopeudella. rightMotor.write (0); // jos molemmat arvot ovat 180, robotti pyörii ympyrässä, koska servo on päinvastainen. "0" käskee robotin siirtymään "taaksepäin" täydellä nopeudella. }

1123333 40
1123333 40

Vaihe 3. Luo ja lataa ohjelma

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

Saatat haluta nostaa robotin pois pinnalta, koska robotti jatkaa kävelemistä eteenpäin ohjelman lataamisen jälkeen

1123333 41
1123333 41

Vaihe 4. Lisää pysäytyskytkin (tappokytkin)

Lisää seuraava koodi koodisi "void loop ()" -osioon lisätäksesi pysäytyskytkintoiminnon "write ()" -toiminnon päälle.

if (digitalRead (2) == HIGH) // tämä komento suoritetaan, kun painiketta painetaan nastassa 2 Arduino {while (1) {leftMotor.write (90); // "90" on servon neutraali asento, joka kehottaa servoa pysähtymään oikealleMotor.write (90); }}

1123333 42
1123333 42

Vaihe 5. Lataa ja tarkista koodisi

Kun pysäytyskytkimen koodi on jo lisätty, voit ladata koodin ja testata robottia. Robotin tulee jatkaa eteenpäin, kunnes painat pysäytyskytkimen painiketta, joka saa robotin pysähtymään. Koko koodi näyttää tältä:

#include // seuraava komento luo kaksi Servo leftMotor servo -objektia; 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); }

Esimerkki

Seuraava koodi käyttää robottiin asennettuja antureita, jotta se kääntyy vasemmalle aina, kun robotti kohtaa esteen. Katso koodin kommentit saadaksesi lisätietoja kunkin osan käytöstä. Alla oleva koodi on koko ohjelma.

#sisältää Servo leftMotor; Servo oikeaMoottori; const int serialPeriod = 250; // tämä koodi antaa konsolin lähtöajan viiveen joka 1/4 sekunnin (250 ms) allekirjoittamaton pitkä aikaSerialDelay = 0; const int loopPeriod = 20; // tämä koodi asettaa anturin lukutaajuudeksi 20 ms, joka on 50 Hz unsigned long timeLoopDelay = 0; // tämä koodi määrittää TRIG- ja ECHO -toiminnot Arduinon nastoille. Säädä numeroita tässä, jos liität ne eri tavalla const int ultraääni2TrigPin = 8; const int ultraääni2EchoPin = 9; int ultraääni2Etäisyys; int ultraääni2Kesto; // tämä koodi määrittelee kaksi mahdollista robottitilaa: jatka eteenpäin tai käänny vasemmalle #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = jatka eteenpäin (OLETUS), 1 = käänny vasemmalle tyhjä asetus () {Serial.begin (9600); // tämä anturi määrittää pin -konfiguraation pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultraääni2EchoPin, INPUT); // tämä määrittää moottorin Arduinon nastoihin leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // tämä koodi havaitsee '' pysäytyksen '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // tämä koodi tulostaa virheenkorjausviestit sarjakonsolille, jos (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // tämä koodi kehottaa anturia lukemaan ja tallentamaan mitatun etäisyyden tilaaMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // jos estettä ei havaita {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // jos mitään ei ole robotin edessä. 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 0,5 sekuntia. Saatat joutua säätämään tätä arvoa, jos pyörät ovat kooltaan erilaiset kuin esimerkissä oleva allekirjoittamaton pitkä turnStartTime = millis (); // säilytä ehto, kun robotti alkaa kääntyä ((millis ()-turnStartTime) <timeToTurnLeft) // säilytä tämä sykli, kunnes timeToTurnLeft (500) on ohitettu {// käänny vasemmalle, muista, että kun molemmat ovat "180", robotti kääntyy. rightMotor.write (180); leftMotor.write (180); } tila = DRIVE_FORWARD; }} void readUltrasonicSensors () {// tämä koskee ultraääntä 2. Tämä komento on ehkä muutettava, jos käytät toista anturia. digitalWrite (ultraääni2TrigPin, HIGH); delayMikrosekuntia (10); // vedä TRIG -nasta korkealle 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: