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
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
Stap 2. Draai die batterykompartement sodat die plat agterkant na bo wys
U bou die robotliggaam deur die batterykompartement as basis te gebruik.
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.
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
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.
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.
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.
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
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
Stap 1. Draai die robot om sodat u die batterykompartement binne -in kan sien
Rangskik die batterykompartement sodat die kabel links onder uitkom.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
Stap 3. Plaas Arduino via u USB in u rekenaar
Die kans is groot dat Windows die toestel nie herken nie.
Stap 4. Druk
Wen+R. en tik devmgmt.msc.
Hierdie opdrag sal die Toestelbestuurder oopmaak.
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.
Stap 6. Kies Blaai deur my rekenaar vir bestuurdersagteware
Hiermee kan u die ingeboude bestuurders kies wat by die Arduino IDE kom.
Stap 7. Klik op Browse, en maak dan die gids oop wat u vroeër onttrek het
U vind die gids bestuurders daarin.
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
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.
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. }
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
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); }}
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 (); }}