Hoe om `n robot by die huis te bou
Wil jy leer hoe om jou eie robot te bou? Daar is baie verskillende tipes robotte wat jy self kan maak. Die meeste mense wil `n robot sien, die eenvoudige take verrig om van punt A na punt B te beweeg. Jy kan `n robot heeltemal van analoog komponente maak of `n voorgeregskit van nuuts af koop! Die bou van jou eie robot is `n goeie manier om jouself beide elektronika sowel as rekenaarprogrammering te leer.
Stappe
Deel 1 van 6:
Samestelling van die robot1. Versamel jou komponente. Om `n basiese robot te bou, benodig jy verskeie eenvoudige komponente. U kan die meeste vind, indien nie almal van hierdie komponente by u plaaslike elektroniese stokperdjie-winkel of verskeie aanlyn-kleinhandelaars nie. Sommige basiese kits kan ook al hierdie komponente insluit. Hierdie robot vereis geen soldering nie:
- Arduino uno (of ander mikrokontroleerder)
- 2 Deurlopende Rotasie Servos
- 2 wiele wat pas by die servos
- 1 caster roller
- 1 klein solderlose broodbord (kyk vir `n broodbord wat twee positiewe en negatiewe lyne aan elke kant het)
- 1 afstand sensor (met vier-pen connector kabel)
- 1 mini druk-knoppie skakelaar
- 1 10kΩ resistor
- 1 USB A tot B-kabel
- 1 stel wegbreekkoppe
- 1 6 x AA battery houer met 9v DC Power Jack
- 1 pak jumper drade of 22-gauge hook-up draad
- Sterk dubbelzijdige band of warm gom

2. Flip die battery verpak sodat die plat rug in die gesig staar. Jy sal die robot se liggaam bou deur die batterypak as basis te gebruik.

3. Rig die twee servos aan die einde van die batterypak. Dit moet die einde wees dat die batterypak se draad uit die servos kom, moet die bottoms raak, en die roterende meganismes van elkeen moet die kante van die batterypakket uitkyk. Die servos moet behoorlik in lyn wees sodat die wiele reguit gaan. Die drade vir die servos moet van die agterkant van die battery pak kom.

4. Plak die servos met jou band of gom aan. Maak seker dat hulle stewig aan die batteryverpak is. Die rug van die servos moet in lyn wees met die agterkant van die batterypakket.

5. Plek die broodbord loodreg op die oop ruimte op die batterypak. Dit moet net `n bietjie oor die voorkant van die batterypak hang en sal buite elke kant strek. Maak seker dat dit stewig vasgemaak is voordat dit voortgaan. Die "N" ry moet die naaste aan die servos wees.

6. Heg die arduino-mikrokontroleerder aan die top van die servos. As u die servos behoorlik aangeheg het, moet daar `n plat spasie wees wat deur hulle raak. Plak die arduino bord op hierdie platruimte sodat die arduino se USB- en kragverbindings die rug in die gesig staar (weg van die broodbord). Die voorkant van die arduino moet net skaars die broodbord oorvleuel.

7. Plaas die wiele op die servos. Druk die wiele stewig op die roterende meganisme van die servo. Dit kan `n beduidende hoeveelheid krag vereis, aangesien die wiele ontwerp is om so styf as moontlik vir die beste trekkrag te pas.

8. Heg die stroois aan die onderkant van die broodbord. As jy die onderstel oorbeweeg, moet jy `n bietjie broodbord sien wat verby die batteryverpak is. Heg die stroois aan op hierdie uitgebreide stuk, met behulp van stygers indien nodig. Die kassie dien as die voorwiel, sodat die robot maklik in enige rigting kan draai.
Deel 2 van 6:
Bedrading van die robot1. Breek twee 3-pen opskrifte af. Jy sal dit gebruik om die servos aan die broodbord te koppel. Druk die penne deur die koptekst sodat die penne op `n gelyke afstand aan weerskante uitkom.

2. Plaas die twee opskrifte in Pins 1-3 en 6-8 op ry E van die broodbord. Maak seker dat hulle stewig ingevoeg is.

3. Koppel die servo kabels aan die opskrifte, met die swart kabel aan die linkerkant (penne 1 en 6). Dit sal die servos aan die broodbord verbind. Maak seker dat die linker sersie aan die linkeropskrif en die regte servo aan die regteropkop gekoppel is.

4. Koppel rooi trui drade van penne C2 en C7 tot rooi (positiewe) spoorpennetjies. Maak seker dat jy die rooi spoor op die agterkant van die broodbord gebruik (nader aan die res van die onderstel).

5. Koppel swart jumper drade van PINS B1 en B6 tot blou (grond) spoorpennetjies. Maak seker dat jy die blou spoor op die agterkant van die broodbord gebruik. Moenie hulle in die rooi spoorpenne koppel nie.

6. Koppel wit trui drade van penne 12 en 13 op die arduino tot A3 en A8. Dit sal die arduino toelaat om die servos te beheer en die wiele te draai.

7. Heg die sensor aan die voorkant van die broodbord. Dit word nie in die buitenste kragrails op die broodbord ingeprop nie, maar in plaas van die eerste ry van gelisensieerde penne (J). Maak seker dat jy dit in die presiese sentrum plaas, met `n gelyke aantal penne aan elke kant beskikbaar.

8. Koppel `n swart jumper draad van PIN I14 na die eerste beskikbare blou spoorpen aan die linkerkant van die sensor. Dit sal die sensor grond gee.

9. Koppel `n rooi trui draad van PIN I17 na die eerste beskikbare rooi spoorpen regs van die sensor. Dit sal die sensor dryf.

10. Koppel wit trui drade van PIN I15 na PIN 9 op die Arduino, en van I16 tot PIN 8. Dit sal inligting van die sensor na die mikrokontroleerder voed.
Deel 3 van 6:
Bedrading van die krag1. Flip die robot aan sy kant sodat jy die batterye in die pak kan sien. Oriënteer dit sodat die batterypakkabel aan die linkerkant kom.

2. Koppel `n rooi draad aan die tweede lente van links op die bodem. Maak seker dat die batterypak korrek georiënteer is.

3. Koppel `n swart draad aan die laaste lente op die onderkant. Hierdie twee kabels sal help om die korrekte spanning aan die Arduino te verskaf.

4. Koppel die rooi en swart drade aan die heel regs rooi en blou penne op die agterkant van die broodbord. Die swart kabel moet in die blou spoorpen by PIN 30 ingeprop word. Die rooi kabel moet in die Rooi Rail Pin by PIN 30 ingeprop word.

5. Koppel `n swart draad van die GND-pen op die arduino na die agterblou spoor. Koppel dit by PIN 28 op die blou spoor.

6. Koppel `n swart draad van die rugblou spoor na die voorblou spoor by PIN 29 vir elkeen. Doen nie Koppel die rooi rails, aangesien u die arduino waarskynlik sal beskadig.

7. Koppel `n rooi draad van die front Rooi Spoor by PIN 30 tot die 5V-pen op die Arduino. Dit sal krag aan die arduino verskaf.

8. Voeg die drukknop in die gaping tussen rye op penne 24-26. Hierdie skakelaar sal jou toelaat om die robot af te skakel sonder om die krag te ontkoppel.

9. Koppel `n rooi draad van H24 na die rooi spoor in die volgende beskikbare PIN regs van die sensor. Dit sal die knoppie magtig.

10. Gebruik die resistor om H26 aan die Blou Rail te koppel. Koppel dit direk aan die pen langs die swart draad wat jy `n paar stappe gelede verbind het.

11. Koppel `n wit draad van G26 na PIN 2 op die Arduino. Dit sal die arduino toelaat om die drukknoppie te registreer.
Deel 4 van 6:
Die installering van die arduino sagteware1. Laai en onttrek die Arduino IDE. Dit is die Arduino-ontwikkelingsomgewing en laat jou toe om instruksies te lewer wat jy kan oplaai na jou Arduino-mikrokontroleerder. U kan dit gratis aflaai arduino.cc / en / hoof / sagteware. Unzip die afgelaaide lêer deur dubbel te klik en skuif die gids binne na `n maklike toegang tot die plek. Jy sal nie eintlik die program installeer nie. In plaas daarvan, sal jy dit net uit die onttrekte vouer hardloop deur dubbel te klik arduino.EXE.

2. Koppel die batterypakket aan die arduino. Steek die battery terug jack in die connector op die arduino om dit krag te gee.

3. Steek die arduino in jou rekenaar via USB. Windows sal waarskynlik nie die toestel herken nie.

4. Pers . ⊞ wen+R en tik devmgmt.MSc. Dit sal die toestelbestuurder begin.

5. Regskliek op die "Onbekende toestel" in die "Ander toestelle" afdeling en kies "Werk bestuurder sagteware op." As jy nie hierdie opsie sien nie, klik "Eienskappe" In plaas daarvan, kies die "Bestuurder" tab, en klik dan "Update bestuurder."

6. Uitkies "Blaai deur my rekenaar vir bestuurder sagteware." Dit sal jou toelaat om die bestuurder wat by die Arduino-IDE gekom het, te kies.

7. Kliek "Snuffel" dan navigeer na die gids wat jy vroeër onttrek het. Jy sal `n "bestuurders" gids binne.

8. Kies die "bestuurders" gids en klik "Ok." Bevestig dat u wil voortgaan as u gewaarsku het oor onbekende sagteware.
Deel 5 van 6:
Programmering van die robot1. Begin die Arduino IDE deur dubbel te klik op die arduino.EXE Lêer in die IDE-lêergids. Jy sal met `n leë projek begroet word.

2. Plak die volgende kode om jou robot reguit te maak. Die onderstaande kode sal jou arduino voortdurend vorentoe beweeg.
#include // Dit voeg die "Servo" Biblioteek aan die program // Die volgende skep twee servo objeksservo leftmotor-servo RightMotor-Void Setup () {LeftMotor.Heg (12) - / / As u per ongeluk die PIN-nommers vir u servos opgeskakel het, kan u die nommers herrugsmotor ruil.Heg (13) -} Void Loop () {LeftMotor.Skryf (180) - / / Met deurlopende rotasie vertel 180 die servo om teen volle spoed te beweeg "voorwaartse."RightMotor. Skryf (0) - / / As albei hiervan op 180 is, sal die robot in `n sirkel gaan omdat die servos omgekeer word. "0," vertel dit om volle spoed te beweeg "agteruit."}

3. Bou en laai die program op. Klik die regter pyltjie knoppie in die boonste linkerhoek om die program op te bou en op te laai na die gekoppelde arduino.

4. Voeg die Kill Switch-funksionaliteit by. Voeg die volgende kode by die "Void Loop ()" gedeelte van u kode om die doodskakelaar te aktiveer, bo die "Skryf ()" Funksies.
indien (digitalread (2) == hoog) // hierdie registreer wanneer die knoppie op PIN 2 van die Arduino gedruk word (terwyl (1) {Leftmotor.Skryf (90) - / / "90" is neutrale posisie vir die servos, wat hulle vertel om te stop om te stop.skryf (90) -}}

5. Laai en toets jou kode op. Met die doodskakelkode wat bygevoeg is, kan jy die robot oplaai en toets. Dit moet voortgaan om vorentoe te ry totdat jy die skakelaar druk, op watter punt dit sal ophou beweeg. Die volledige kode moet so lyk:
#include // die volgende skep twee servo objectsservo leftmotor-servo RightMotor-Void Setup () {Leftmotor.Heg (12) -regtmotor aan.Heg (13) -} void lus () {indien (digitalread (2) == hoog) {terwyl (1) {linkermotor.Skryf (90) -RightMotor.Skryf (90) -}} Linksmotor.Skryf (180) -Rigtmotor.skryf (0) -}
Deel 6 van 6:
Voorbeeld1. Volg `n voorbeeld. Die volgende kode sal die sensor wat aan die robot geheg is, gebruik om dit na links te draai wanneer dit `n hindernis ervaar. Sien die kommentaar in die kode vir besonderhede oor wat elke deel doen. Die onderstaande kode is die hele program.
#include servo leftmotor-servo RightMotor-Const Int Serialperiod = 250 - / / Hierdie beperking van die konsole na die konsole tot een keer elke 1/4 SecondunnSigned Long TimeSerialDelay = 0-Const Int Loopperiod = 20 - // Hierdie stel hoe dikwels die sensor `n lees tot 20ms, wat `n frekwensie van 50hzunsigned is lang tydlopdelay = 0 - //. Dit gee die trig en echo funksies aan die penne op die arduino. Maak aan die nommers hier as jy anders verbind word. Int ultrasonic2trigpin = 8-Const int ultrasonic2echopin = 9-int ultrasonic2distance-int ultrasonic2duration - int ultrasonic2duration - // Dit definieer die twee moontlike state vir die robot: ry vorentoe of draai links State = Drive_forward- // 0 = Ry vorentoe (verstek), 1 = Draai linkervoid-opstelling () {serial.BEGIN (9600) - // Hierdie sensor PIN ConfigurationsPinmode (Ultrasonic2Trigpin, Uitset) -Pinmode (Ultrasonic2echopin, Input) - / / Dit ken die motors aan die Arduino Pinsleftmotor.Heg (12) -regtmotor aan.Heg (13) -} Void Loop () {IF (DigitalRead (2) == hoog) // Dit ontdek die doodskakelaar {terwyl (1) {linkermotor.Skryf (90) -RightMotor.Skryf (90) -}} Debugoutput () - / / Hierdie druk ontfouting boodskappe aan die seriële konsolif (millis () - Timeloopdelay >= Loopperiod) {REDUTRASIONICSENTORS () - // Dit beveel die sensor om die gemeet afsonderingTatemachine () - Timeloopdelay = MILLIS () -} te lees en te stoor () {IF (State == Drive_forward) / of geen struikelblokke opgespoor word nie {indien (ultrasonic2distance > 6 || Ultrasonic2distance < 0) / / As daar niks voor die robot is nie. UltrasonicDiscance sal negatief wees vir `n paar ultrasonics as daar geen hindernis is nie (// drive forwarnhightmotor.Skryf (180) -leftmotor.Skryf (0) -} Else / / As daar `n voorwerp voor ons is {state = turn_left -}} anders as (meld == Turn_left) / / As `n hindernis opgespoor word, draai links (ongetekende lang timeturnleft = 500- / / Dit neem om .5 sekondes om 90 grade te draai. Miskien moet jy dit aanpas as jou wiele `n ander grootte is as die voorbeeld van Long TurnstartTime = Millis () - / / stoor die tyd wat ons begin draai het (((Millis () - TurnstartTime) < TimeTooturnleft) // Bly in hierdie lus totdat timeturnleft verloop het {// Draai links, onthou dat wanneer albei ingestel is op "180" Dit sal draai.RightMotor.Skryf (180) -leftmotor.Skryf (180) -} State = Drive_forward -}} Void Readultrasonicsensors () {/ / Dit is vir ultrasoniese 2. U moet hierdie opdragte verander as u `n ander sensor gebruik.digitalwrite (ultrasonic2trigpin, hoë) -Delaymicroseconds (10) - // hou die trig-pen hoog vir ten minste 10 mikroskondesdigitalwrite (ultrasonic2trigpin, lae) -ultrasonic2Duration = pulsein (ultrasonic2echopin, hoë) -ultrasonic2distance = (ultrasonic2duration / 2) / 29-} // Die volgende is vir die ontfouting van foute in die konsole.Void debugoutput () (indien ((millis () - TimeserialDelay) > Serialperiod) {Serial.Druk ("Ultrasonic2Disance: ") -Serial.Druk (Ultrasonic2Disance) -Serial.Druk ("cm") -Serial.Printle () - TimeserialDelay = Millis () -}}
Video
Deur hierdie diens te gebruik, kan sommige inligting met YouTube gedeel word.
Wenke
Deel op sosiale netwerke: