Hoe om 'n robot tuis te maak (met foto's)

INHOUDSOPGAWE:

Hoe om 'n robot tuis te maak (met foto's)
Hoe om 'n robot tuis te maak (met foto's)

Video: Hoe om 'n robot tuis te maak (met foto's)

Video: Hoe om 'n robot tuis te maak (met foto's)
Video: How To Make Mapart From Any Image In Minecraft 2024, Mei
Anonim

Wil u leer hoe u u eie robot kan maak? Daar is baie verskillende soorte robotte wat u self kan bou. Die meeste mense wil sien dat 'n robot maklik van punt A na B. kan beweeg. U kan 'n robot heeltemal van analoog komponente bou of 'n aansitstel koop. Om jou eie robot te maak, is 'n goeie manier om elektronika en rekenaarprogrammering te leer.

Stap

Deel 1 van 5: Die samestelling van die robot

1123333 1
1123333 1

Stap 1. Monteer u komponente

Om 'n basiese robot te bou, benodig u 'n paar eenvoudige komponente. Die meeste of al hierdie komponente kan gevind word by u plaaslike elektroniese stokperdjiewinkel, of by sommige aanlyn -kleinhandelaars. Sommige kits bevat al hierdie komponente. Hierdie robot benodig geen soldeer nie:

  • Arduino Uno (of ander mikrobeheerder)
  • 2 servo's 360 grade
  • 2 wiele wat bypassende servo pas
  • 1 gratis wiel
  • 1 toetsbord (broodbord of projekbord) wat nie gesoldeer is nie (soek 'n toetsbord met twee positiewe en negatiewe rye aan elke kant)
  • 1 nabyheidssensor (met vierpen -aansluitkabel)
  • 1 drukknopskakelaar
  • 1 weerstand 10kΩ
  • 1 USB A tot B kabel
  • 1 stel breekbare opskrifte
  • 1 6 x AA -batteryhouer met 9V DC -aansluiting
  • 1 pakkie 22. springkabels of enkele kabel
  • Isolasie heen en weer (dubbelband) of gomgeweer
1123333 2
1123333 2

Stap 2. Draai die batterykompartement sodat die plat agterkant na bo wys

U bou die robotliggaam deur die batterykompartement as basis te gebruik.

1123333 3
1123333 3

Stap 3. Rangskik twee servo's in dieselfde rigting aan die einde van die batterykamer

Hierdie einde is die einde waar die kabel uit die battery kom. Die servo's moet aan die onderkant raak, en die draaimeganisme van elke servo moet van die kante van die batterykomparty na buite wys. Dit is belangrik dat hierdie servo's korrek gerangskik is sodat die wiele reguit is. Die kabels vir die servo moet uit die agterkant van die batterykompartement kom.

1123333 4
1123333 4

Stap 4. Plak die servo's vas met u isolasie of gom

Maak seker dat die servo stewig aan die batterykompartement geheg is. Die agterkant van die servo moet in lyn wees met die agterkant van die batterykompartement.

Nou moet die servo's die helfte van die ruimte in die agterkant van die batterykamer inneem

1123333 5
1123333 5

Stap 5. Plak die toetsbord loodreg op die oorblywende spasie in die batterykompartement

Hierdie toetsbord hang effens aan die voorkant van die batterykompartement en strek na beide kante. Maak seker dat die toetsbord styf is voordat u verder gaan. Die "A" ry moet die naaste aan die servo wees.

1123333 6
1123333 6

Stap 6. Heg die Arduino -mikrobeheerder aan die bokant van die servo vas

As u die servo korrek bevestig, moet daar 'n plat deel van die twee servo's aan mekaar raak. Plak die Arduino -bord op hierdie plat plek sodat die USB- en Arduino -aansluitings na onder wys (weg van die toetsbord). Die voorkant van die Arduino oorvleuel met die toetsbord.

1123333 7
1123333 7

Stap 7. Installeer die wiele op die servo's

Druk die wiele stewig op die roterende servomeganisme. Dit kan aansienlike krag verg, aangesien die wiele ontwerp is om gate te hê wat presies ooreenstem met die vorm van die servopunt.

1123333 8
1123333 8

Stap 8. Installeer die vrywiel aan die onderkant van die toetsbord

As u die robot onderstebo draai, sien u 'n klein toetsbord wat uit die batterykompartement hang. Bevestig die vrywiel aan hierdie hangende deel. Gebruik 'n wig indien nodig. Die vrywiel dien as die voorwiel waarmee die robot maklik in enige rigting kan draai.

As u 'n kit gekoop het, het die gratis wiel 'n paar wiggies wat u kan gebruik om te verseker dat die wiel nie die grond kan raak nie

Deel 2 van 5: Bedrading van die robot

1123333 9
1123333 9

Stap 1. Sny twee 3-pen koppe

U sal dit gebruik om die servo aan die toetsbord te koppel. Druk die penne deur die opskrifte sodat hulle aan beide kante ewe ver uitkom.

1123333 10
1123333 10

Stap 2. Steek die twee opskrifte in penne 1-3 en 6-8 in ry E op die toetsbord

Maak seker dat hulle stewig of stewig ingesit is.

1123333 11
1123333 11

Stap 3. Verbind die servodrade met die kopstuk, met die swart draad aan die linkerkant (penne 1 en 6)

Dit verbind die servo met die toetsbord. Maak seker dat die linker servo aan die linkerkop gekoppel is en dat die regter servo aan die regterkop gekoppel is.

1123333 12
1123333 12

Stap 4. Verbind die rooi springdraad van penne C2 en C7 met die rooi speldpen (positief)

Maak seker dat u die rooi spoor agter op die toetsbord gebruik (nader aan die res van die robotliggaam).

1123333 13
1123333 13

Stap 5. Verbind die swart springdraad van penne B1 en B6 met die blou speldpen (grond)

Maak seker dat u die blou reling agter op die toetsbord gebruik. Moenie die kabel aan die rooi speldpen heg nie.

1123333 14
1123333 14

Stap 6. Koppel die wit springdrade van penne 12 en 13 op die Arduino aan A3 en A8

Hierdeur kan die Arduino die servo beheer en die wiel draai.

1123333 15
1123333 15

Stap 7. Bevestig die sensor aan die voorkant van die toetsbord

Die sensor is nie aan die eksterne kragrail op die toetsbord gemonteer nie, maar aan die eerste twee rye penne met die letter (J). Maak seker dat u dit reg in die middel plaas met 'n gelyke aantal leë penne aan elke kant.

1123333 16
1123333 16

Stap 8. Koppel die swart jumperdraad van pen I14 aan die eerste blou spoorpen aan die linkerkant van die sensor

Dit sal die sensor aard.

1123333 17
1123333 17

Stap 9. Verbind die rooi springdraad van pen I17 met die eerste rooi speldpen regs van die sensor

Dit sal die sensor van krag voorsien.

1123333 18
1123333 18

Stap 10. Verbind die wit springdrade van pen I15 tot pen 9 op Arduino, en van I16 tot pen 8

Dit sal inligting van die sensor aan die mikrobeheerder verskaf.

Deel 3 van 5: Die installering van die kragkabel

1123333 19
1123333 19

Stap 1. Draai die robot om sodat u die batterykompartement binne -in kan sien

Rangskik die batterykompartement sodat die kabel links onder uitkom.

1123333 20
1123333 20

Stap 2. Verbind die rooi draad met die tweede veer van links onder

Maak seker dat die batterykompartement behoorlik in lyn is of in die regte rigting wys.

1123333 21
1123333 21

Stap 3. Verbind die swart draad met die laaste veer regs onder

Hierdie twee drade sal help om die regte spanning aan die Arduino te verskaf.

1123333 22
1123333 22

Stap 4. Verbind die rooi en swart drade met die rooi en blou penne wat aan die regterkant aan die agterkant van die toetsbord is

Die swart draad moet na die blou speldpen op pen 30 gaan. Die rooi draad moet na die rooi speldpen op pen 30 gaan.

1123333 23
1123333 23

Stap 5. Koppel die swart draad van die GND -pen op die Arduino aan die agterkant van die blou spoor

Verbind die draad met pen 28 op die blou reling.

1123333 24
1123333 24

Stap 6. Verbind die swart draad van die agterkant van die blou reling met die voorkant van die blou reling op pen 29 vir albei relings

Moenie die rooi spoor aansluit nie, aangesien u die Arduino kan beskadig.

1123333 25
1123333 25

Stap 7. Verbind die rooi draad van die voorkant van die rooi spoor op pen 30 met die 5V -pen op Arduino

Dit bied krag aan die Arduino.

1123333 26
1123333 26

Stap 8. Plaas die drukknopskakelaar in die spasie tussen penne 24-26

Met hierdie skakelaar kan u die robot afskakel sonder om die krag af te skakel.

1123333 27
1123333 27

Stap 9. Koppel die rooi draad van H24 aan die rooi spoor op die volgende leë pen regs van die sensor

Dit gee die knoppie krag.

1123333 28
1123333 28

Stap 10. Gebruik 'n weerstand om H26 aan die blou spoor te koppel

Koppel dit aan die pen direk langs die swart draad wat u pas in die vorige stappe verbind het.

1123333 29
1123333 29

Stap 11. Koppel die wit draad van G26 aan pen 2 op Arduino

Dit sal Arduino in staat stel om drukknoppies op te spoor.

Deel 4 van 5: Die installering van die Arduino -sagteware

1123333 30
1123333 30

Stap 1. Laai en haal Arduino IDE uit

Dit is hier waar Arduino ontwikkel word, waarmee u instruksies kan programmeer wat u dan na u Arduino -mikrobeheerder kan oplaai. U kan dit gratis aflaai van arduino.cc/en/main/software. Pak die afgelaaide lêer uit deur dubbelklik op die lêer en skuif die lêergids na 'n maklik toeganklike plek. U sal die program nie eintlik installeer nie, maar u sal dit net uit 'n gids hardloop wat u onttrek het deur te dubbelklik op arduino.exe.

1123333 31
1123333 31

Stap 2. Koppel die batterykompartement aan die Arduino

Steek die agterste aansluiting van die battery in die aansluiting op die Arduino om dit aan te dryf.

1123333 32
1123333 32

Stap 3. Plaas Arduino via u USB in u rekenaar

Die kans is groot dat Windows die toestel nie herken nie.

1123333 33
1123333 33

Stap 4. Druk

Wen+R. en tik devmgmt.msc.

Hierdie opdrag sal die Toestelbestuurder oopmaak.

1123333 34
1123333 34

Stap 5. Klik met die rechtermuisknop op Onbekende toestel onder Ander toestelle en kies Bestuurdersprogrammatuur opdateer

As u hierdie opsie nie sien nie, klik dan op Eienskappe, klik op die oortjie Bestuurder en klik dan op Bestuurder opdateer.

1123333 35
1123333 35

Stap 6. Kies Blaai deur my rekenaar vir bestuurdersagteware

Hiermee kan u die ingeboude bestuurders kies wat by die Arduino IDE kom.

1123333 36
1123333 36

Stap 7. Klik op Browse, en maak dan die gids oop wat u vroeër onttrek het

U vind die gids bestuurders daarin.

1123333 37
1123333 37

Stap 8. Kies die gids bestuurders en klik OK

Bevestig dat u wil voortgaan as u gewaarsku word oor onbekende sagteware.

Deel 5 van 5: Robots programmeer

1123333 38
1123333 38

Stap 1. Maak Arduino IDE oop deur te dubbelklik op die arduino.exe-lêer in die IDE-lêergids

U word begroet met 'n leë projek.

1123333 39
1123333 39

Stap 2. Plak of plak die volgende kode om u robot gevorderd te maak

Die onderstaande kode sal u Arduino aan die gang hou.

#include // dit voeg die "Servo" -biblioteek by die program // die volgende opdrag skep twee servo -voorwerpe Servo leftMotor; Servo regsMotor; ongeldige opstelling () {leftMotor.attach (12); // as jy per ongeluk die speldnommers vir jou servo verruil het, kan jy die nommers hier regsMotor.aanheg (13); } leemte -lus () {leftMotor.write (180); // met 'n 360 grade rotasie (deurlopende rotasie), gee die getal 180 die servo die opdrag om teen volle spoed "vorentoe" te beweeg. rightMotor.write (0); // as beide waardes 180 is, sal die robot in 'n sirkel draai omdat die servo omgekeer is. “0” sê vir die robot om teen volle spoed “agteruit” te beweeg. }

1123333 40
1123333 40

Stap 3. Skep en laai die program op

Klik op die pyltjie regs in die linker boonste hoek om 'n program te skep en op te laai na die gekoppelde Arduino.

U kan die robot van die oppervlak af lig, want die robot sal voortgaan om vorentoe te loop nadat die program opgelaai is

1123333 41
1123333 41

Stap 4. Voeg 'n stop skakelaar funksie (kill switch) by

Voeg die volgende kode by die "void lus ()" gedeelte van u kode om 'n stop skakelaar funksie by te voeg bo -op die "skryf ()" funksie.

if (digitalRead (2) == HOOG) // hierdie opdrag loop wanneer die knoppie op pen 2 Arduino ingedruk word {terwyl (1) {leftMotor.write (90); // "90" is die neutrale posisie van die servo, wat die servo sê om op te hou om regs te draai Motor.write (90); }}

1123333 42
1123333 42

Stap 5. Laai u kode op en kontroleer dit

Met die stopskakelkode wat reeds bygevoeg is, kan u die kode oplaai en die robot toets. Die robot moet vorentoe aangaan totdat u op die stopskakelaar knoppie druk, wat veroorsaak dat die robot stop. Die volledige kode sal so lyk:

#include // die volgende opdrag skep twee servo leftMotor servo -voorwerpe; Servo regsMotor; ongeldige opstelling () {leftMotor.attach (12); rightMotor.attach (13); } leemte -lus () {if (digitalRead (2) == HOOG) {terwyl (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Voorbeeld

Die volgende kode gebruik sensors wat op die robot geïnstalleer is, om dit links te laat draai wanneer die robot 'n hindernis teëkom. Kyk na die kommentaar in die kode vir besonderhede oor hoe om elke deel te gebruik. Die onderstaande kode is die hele program.

#sluit Servo linksMotor in; Servo regsMotor; const int serialPeriod = 250; // hierdie kode gee die vertraging van die konsole -uitset elke 1/4 sekonde (250 ms) ongetekende lang tydSerialDelay = 0; const int loopPeriod = 20; // hierdie kode stel die sensorleesfrekwensie op 20 ms, wat 50 Hz is, ongetekende long timeLoopDelay = 0; // hierdie kode ken die TRIG- en ECHO -funksies toe aan die penne op die Arduino. Pas die getalle hier aan as u dit op 'n ander manier verbind, const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // hierdie kode definieer twee moontlike robottoestande: gaan vorentoe of draai links #definieer DRIVE_FORWARD 0 #definieer TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = gaan vorentoe (standaard), 1 = draai leë opstelling () {Serial.begin (9600); // hierdie sensor bepaal die pin -konfigurasie pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // dit ken die motor toe aan die Arduino -penne leftMotor.attach (12); rightMotor.attach (13); } leemte -lus () {if (digitalRead (2) == HOOG) // hierdie kode bespeur 'n '' stop '' {terwyl (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // hierdie kode druk ontfoutingsboodskappe na die seriële konsole as (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // hierdie kode gee die sensor opdrag om data oor die gemete afstand stateMachine () te lees en te stoor; timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // as geen hindernis bespeur word nie {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // as niks voor die robot is nie. ultrasonicDistance sal vir sommige ultrasonics negatief wees as daar geen hindernisse is nie {// ry vorentoe na regsMotor.write (180); leftMotor.write (0); } anders // as daar 'n voorwerp voor ons is {state = TURN_LEFT; }} anders as (state == TURN_LEFT) // as 'n hindernis bespeur word, draai links {unsigned long timeToTurnLeft = 500; // neem ongeveer 0,5 sekondes om 90 grade te draai. Miskien moet u hierdie waarde aanpas as u wiele in grootte verskil van die grootte in die voorbeeld unsigned long turnStartTime = millis (); // behou die toestand wanneer die robot begin draai terwyl ((millis ()-turnStartTime) <timeToTurnLeft) // hierdie siklus hou totdat timeToTurnLeft (500) verby is {// draai links, onthou dat as albei "180" is, die robot sal draai. rightMotor.write (180); leftMotor.write (180); } staat = DRIVE_FORWARD; }} void readUltrasonicSensors () {// dit is vir ultraklank 2. U moet moontlik hierdie opdrag verander as u 'n ander sensor gebruik. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // trek die TRIG -pen hoog vir ten minste 10 mikrosekondes digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulsIn (ultrasonic2EchoPin, HOOG); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // die volgende is vir ontfoutingsfoute in die konsole. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Aanbeveel: