Kuidas kodus robotit teha (piltidega)

Sisukord:

Kuidas kodus robotit teha (piltidega)
Kuidas kodus robotit teha (piltidega)

Video: Kuidas kodus robotit teha (piltidega)

Video: Kuidas kodus robotit teha (piltidega)
Video: Minecrafti õpetus: Kuidas teha 4 lihtsat trappi. 2024, Mai
Anonim

Kas soovite õppida oma roboti valmistamist? Roboteid on palju erinevaid, mida saate ise ehitada. Enamik inimesi soovib näha, et robot teeb lihtsat tööd, liikudes punktist A punkti B. Roboti saab täielikult ehitada analoogkomponentidest või osta stardikomplekti. Roboti valmistamine on suurepärane viis elektroonika ja arvutiprogrammeerimise õppimiseks.

Samm

Osa 1 /5: Roboti kokkupanek

1123333 1
1123333 1

Samm 1. Pange oma komponendid kokku

Põhiroboti ehitamiseks vajate mõnda lihtsat komponenti. Enamiku või kõik need komponendid leiate kohalikust elektroonikaharrastuspoest või mõnest veebimüüjast. Mõned komplektid sisaldavad kõiki neid komponente. See robot ei vaja jootmist:

  • Arduino Uno (või muu mikrokontroller)
  • 2 servot 360 kraadi
  • 2 ratast, mis sobivad servoga
  • 1 vaba ratas
  • 1 testplaat (leivaplaat või projektitahvel), mida pole joodetud (otsige testplaati, millel on kaks positiivset ja negatiivset rida mõlemal küljel)
  • 1 lähedusandur (nelja kontaktiga pistikukaabliga)
  • 1 vajutusnupp
  • 1 takisti 10 kΩ
  • 1 USB A -kaabel
  • 1 purustatavate päiste komplekt
  • 1 6 x AA patareipesa 9V alalisvoolu pistikupesaga
  • 1 pakk 22. hüppakaableid või üks kaabel
  • Isolatsioon edasi -tagasi (topeltlint) või liimipüstol
1123333 2
1123333 2

Samm 2. Pöörake patareipesa nii, et selle tasane tagakülg on ülespoole

Roboti korpuse ehitate, kasutades akupesa alusena.

1123333 3
1123333 3

Samm 3. Asetage kaks servot, mis on suunatud samas suunas, akupesa lõpus

See ots on ots, kus kaabel tuleb akust välja. Servod peaksid puudutama põhja ja iga servo pöörlemismehhanism peaks olema akupesa külgedelt väljapoole suunatud. On oluline, et need servod oleksid õigesti paigutatud nii, et rattad oleksid sirged. Servo kaablid peavad patareipesa tagaküljelt välja tulema.

1123333 4
1123333 4

Samm 4. Liimige servod oma isolatsiooni või liimiga

Veenduge, et servo on kindlalt akupesa külge kinnitatud. Servo tagakülg peab olema joondatud akupesa tagaosaga.

Nüüd peaksid servod võtma akupesa tagaosas poole vähem ruumi

1123333 5
1123333 5

Samm 5. Kleepige testplaat patareipesa vaba ruumi suhtes risti

See testplaat ripub veidi üle akupesa esiosa ja ulatub mõlemale poole. Enne jätkamist veenduge, et testplaat oleks pingul. A -rida peaks olema servole kõige lähemal.

1123333 6
1123333 6

Samm 6. Kinnitage Arduino mikrokontroller servo ülaossa

Kui kinnitate servo õigesti, peaks kahe servo lameda osa üksteist puudutama. Kleepige Arduino plaat sellele tasasele kohale nii, et USB ja Arduino toitepistikud jäävad allapoole (testplaadist eemale). Arduino esiosa kattub testplaadiga.

1123333 7
1123333 7

Samm 7. Paigaldage rattad servodele

Vajutage rattad kindlalt pöörleva servomehhanismi külge. See võib nõuda märkimisväärset jõudu, kuna rattad on konstrueeritud nii, et neil on augud, mis vastavad täpselt servootsa kujule.

1123333 8
1123333 8

Samm 8. Paigaldage vaba ratas testplaadi põhja

Kui pöörate roboti tagurpidi, näete akupesas rippuvat väikest testplaati. Kinnitage vaba ratas selle rippuva osa külge. Vajadusel kasutage kiilu. Vaba ratas on esiratas, mis võimaldab robotil hõlpsalt igas suunas pöörata.

Kui ostsite komplekti, võib vabal rattal olla mõned kiilud, mille abil saate veenduda, et ratas ei tohi maapinda puudutada

Osa 2 viiest: Roboti juhtmestik

1123333 9
1123333 9

Samm 1. Lõika kaks 3-kontaktilist päist

Seda kasutate servo ühendamiseks testplaadiga. Lükake tihvtid läbi päiste alla, nii et need tulevad mõlemal küljel võrdsel kaugusel.

1123333 10
1123333 10

Samm 2. Sisestage kaks päist testplaadi rea E tihvtidesse 1-3 ja 6-8

Veenduge, et need oleksid kindlalt või kindlalt sisestatud.

1123333 11
1123333 11

Samm 3. Ühendage servotraadid päisega, musta juhtmega vasakul küljel (tihvtid 1 ja 6)

See ühendab servo testplaadiga. Veenduge, et vasak servo on ühendatud vasaku päisega ja parem servo on ühendatud parema päisega.

1123333 12
1123333 12

Samm 4. Ühendage punane hüppajajuhe tihvtidest C2 ja C7 punase rööpa tihvtiga (positiivne)

Kasutage kindlasti testplaadi tagaküljel olevat punast rööpa (lähemale ülejäänud roboti kehale).

1123333 13
1123333 13

Samm 5. Ühendage tihvtide B1 ja B6 must džemprijuhe sinise rööpa tihvtiga (maandus)

Kasutage kindlasti testplaadi tagaküljel asuvat sinist rööpa. Ärge kinnitage kaablit punase rööpa tihvti külge.

1123333 14
1123333 14

Samm 6. Ühendage Arduino tihvtide 12 ja 13 valged hüppajajuhtmed A3 ja A8 -ga

See võimaldab Arduino juhtida servot ja keerata ratast.

1123333 15
1123333 15

Samm 7. Kinnitage andur testplaadi esiküljele

Andur ei ole paigaldatud testplaadil olevale välisele toiteliinile, vaid kahele esimesele tihvtide reale (J). Pange see kindlasti keskele, nii et mõlemal küljel oleks võrdne arv tühje tihvte.

1123333 16
1123333 16

Samm 8. Ühendage tihvti I14 must hüppajajuhe anduri vasakul asuva esimese sinise rööpaga

See maandab anduri.

1123333 17
1123333 17

Samm 9. Ühendage punane hüppajajuhe tihvti I17 juurest anduri paremal asuva esimese punase rööpaga

See annab andurile toite.

1123333 18
1123333 18

Samm 10. Ühendage valged hüppajajuhtmed tihvtiga I15 kuni Arduino tihvtiga 9 ja ühendusega I16 kuni tihvtiga 8

See annab andurilt teavet mikrokontrollerile.

Osa 3 /5: Toitekaabli paigaldamine

1123333 19
1123333 19

Samm 1. Pöörake robot ümber, nii et näete patareipesa sees

Paigutage akupesa nii, et kaabel väljuks vasakpoolsest allosast.

1123333 20
1123333 20

Samm 2. Ühendage punane traat teise vedruga alt vasakult

Veenduge, et patareipesa on õigesti joondatud või õiges suunas.

1123333 21
1123333 21

Samm 3. Ühendage must traat viimase vedruga paremas alanurgas

Need kaks juhtmest aitavad tagada Arduinole õige pinge.

1123333 22
1123333 22

Samm 4. Ühendage punased ja mustad juhtmed punase ja sinise tihvtiga, mis asuvad testplaadi tagaküljel paremal

Must traat peaks minema tihvti 30. sinise rööpa tihvti juurde. Punane juhe peaks minema tihvti 30 punase rööpa tihvti juurde.

1123333 23
1123333 23

Samm 5. Ühendage Arduino GND tihvtist must traat sinise rööpa tagaküljega

Ühendage juhe sinise rööpa tihvtiga 28.

1123333 24
1123333 24

Samm 6. Ühendage must traat sinise rööpa tagaosast mõlema rööpa tihvti 29 sinise rööpa esiküljega

Ärge ühendage punast rööpa, kuna võite Arduino kahjustada.

1123333 25
1123333 25

Samm 7. Ühendage punane juhe punase rööpa esiosast tihvtil 30 5V pistikuga Arduino

See annab Arduinole jõudu.

1123333 26
1123333 26

Samm 8. Sisestage nuppude lüliti tihvtide 24-26 vahele

See lüliti võimaldab teil roboti välja lülitada, ilma et peaksite toite välja lülitama.

1123333 27
1123333 27

Samm 9. Ühendage punane juhe H24 -st anduri paremal asuva järgmise tühja tihvti punase rööpaga

See annab nupule toite.

1123333 28
1123333 28

Samm 10. Kasutage takisti, et ühendada H26 sinise rööpaga

Ühendage see tihvtiga otse musta juhtme kõrval, mille te eelmistes sammudes ühendasite.

1123333 29
1123333 29

Samm 11. Ühendage G26 valge traat Arduino tihvtiga 2

See võimaldab Arduino'l tuvastada nuppe.

Osa 4/5: Arduino tarkvara installimine

1123333 30
1123333 30

Samm 1. Laadige alla ja ekstraktige Arduino IDE

Siin arendatakse Arduino ja see võimaldab teil programmeerida juhiseid, mille saate seejärel oma Arduino mikrokontrollerile üles laadida. Saate selle tasuta alla laadida saidilt arduino.cc/en/main/software. Pakkige allalaaditud fail lahti, topeltklõpsates failil ja teisaldades selles sisalduva kausta hõlpsasti juurdepääsetavasse kohta. Te ei installi programmi tegelikult, vaid käivitate selle lihtsalt kaustast, mis eraldati topeltklõpsuga arduino.exe-l.

1123333 31
1123333 31

Samm 2. Ühendage patareipesa Arduinoga

Sisestage aku toitepesa Arduino pistikusse, et seda toita.

1123333 32
1123333 32

Samm 3. Sisestage Arduino USB kaudu oma arvutisse

Tõenäoliselt ei tunne Windows seadet ära.

1123333 33
1123333 33

Samm 4. Vajutage

Win+R. ja tüüp devmgmt.msc.

See käsk avab seadmehalduri.

1123333 34
1123333 34

Samm 5. Paremklõpsake jaotises Muud seadmed nuppu Tundmatu seade ja valige Värskenda draiveritarkvara

Kui te seda valikut ei näe, klõpsake nuppu Atribuudid, valige vahekaart Draiver ja seejärel klõpsake nuppu Värskenda draiverit.

1123333 35
1123333 35

Samm 6. Valige Sirvi minu arvutist draiveritarkvara

See võimaldab teil valida Arduino IDE-ga kaasas olnud sisseehitatud draiverid.

1123333 36
1123333 36

Samm 7. Klõpsake Sirvi, seejärel avage varem ekstraheeritud kaust

Siit leiate draiverite kausta.

1123333 37
1123333 37

Samm 8. Valige draiverite kaust ja klõpsake nuppu OK

Kinnitage, et soovite jätkata, kui teid hoiatatakse tundmatu tarkvara eest.

Osa 5/5: Robotite programmeerimine

1123333 38
1123333 38

Samm 1. Avage Arduino IDE, topeltklõpsates failil arduino.exe kaustas IDE

Teid tervitatakse tühja projektiga.

1123333 39
1123333 39

Samm 2. Kleepige või kleepige järgmine kood, et muuta oma robot täiustatud

Allolev kood hoiab teie Arduino töös.

#include // see lisab programmi "Servo" teegi // järgmine käsk loob kaks servoobjekti Servo leftMotor; Servo paremMootor; void setup () {leftMotor.attach (12); // kui vahetasid kogemata oma servo pin -numbrid, saad numbrid vahetada siin rightMotor.attach (13); } void loop () {leftMotor.write (180); // 360 -kraadise pöörlemise korral (pidev pöörlemine) annab number 180 käsu servole täiskiirusel edasi liikuda. rightMotor.write (0); // kui mõlemad väärtused on 180, pöörleb robot ringikujuliselt, kuna servo on tagurpidi. “0” käsib robotil täiskiirusel tagurpidi liikuda. }

1123333 40
1123333 40

Samm 3. Looge ja laadige programm üles

Programmi loomiseks ja üleslaadimiseks ühendatud Arduinole klõpsake vasakus ülanurgas paremat nooleklahvi.

Võib -olla soovite roboti pinnalt tõsta, kuna robot jätkab pärast programmi üleslaadimist edasi liikumist

1123333 41
1123333 41

Samm 4. Lisage stopp -lüliti funktsioon (tapmislüliti)

Lisage oma koodi sektsiooni "void loop ()" järgmine kood, et lisada funktsiooni "write ()" peale stopp -lüliti funktsioon.

if (digitalRead (2) == HIGH) // see käsk käivitub nupu 2 vajutamisel Arduino {while (1) {leftMotor.write (90); // "90" on servo neutraalne asend, mis käsib servol lõpetada paremale pööramiseMotor.write (90); }}

1123333 42
1123333 42

Samm 5. Laadige kood üles ja kontrollige seda

Kui stopp -lüliti kood on juba lisatud, saate koodi üles laadida ja robotit testida. Robot peaks edasi liikuma, kuni vajutate stopp -lüliti nuppu, mille tõttu robot peatub. Kogu kood näeb välja selline:

#include // järgmine käsk loob kaks Servo leftMotor servoobjekti; Servo paremMootor; 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); }

Näide

Järgmine kood kasutab robotile paigaldatud andureid, et see pööraks vasakule iga kord, kui robot puutub kokku takistusega. Vaadake koodi kommentaare, et saada teavet iga osa kasutamise kohta. Allolev kood on kogu programm.

#kaasas Servo leftMotor; Servo paremMootor; const int serialPeriod = 250; // see kood annab konsooli väljundajale iga 1/4 sekundi (250 ms) allkirjastamata pika ajaSerialDelay = 0; const int loopPeriod = 20; // see kood seab anduri lugemissageduseks 20 ms, mis on 50 Hz allkirjata long timeLoopDelay = 0; // see kood määrab TRIG ja ECHO funktsioonid Arduino tihvtidele. Reguleerige siin numbreid, kui ühendate need erineval viisil const int ultraheli2TrigPin = 8; const int ultraheli2EchoPin = 9; int ultraheli2Distance; int ultraheli2Kestus; // see kood määratleb kaks võimalikku roboti olekut: jätka edasi või pööra vasakule #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = jätka edasi (DEFAULT), 1 = keera vasakule tühjus setup () {Serial.begin (9600); // see andur määrab tihvti konfiguratsiooni pinMode (ultraheli2TrigPin, OUTPUT); pinMode (ultraheli2EchoPin, INPUT); // see määrab mootori Arduino tihvtidele leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // see kood tuvastab '' stop '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // see kood prindib silumissõnumid jadakonsoolile if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // see kood juhendab andurit lugema ja salvestama andmeid mõõdetud vahemaa oleku kohtaMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // kui takistust ei tuvastata {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // kui midagi ei ole roboti ees. ultrasonicDistance on mõne ultraheli puhul negatiivne, kui takistusi pole {// sõida edasi rightMotor.write (180); leftMotor.write (0); } else // kui meie ees on objekt {state = TURN_LEFT; }} else if (state == TURN_LEFT) // kui avastatakse takistus, pöörake vasakule {unsigned long timeToTurnLeft = 500; // 90 kraadi pööramiseks kulub umbes 0,5 sekundit. Võimalik, et peate seda väärtust korrigeerima, kui teie rattad erinevad suurusest näites allkirjastamata pika pöördeStartTime = millis (); // hoidke tingimust, kui robot hakkab pöörlema ((millis ()-turnStartTime) <timeToTurnLeft) // hoidke seda tsüklit, kuni timeToTurnLeft (500) on möödas {// pöörake vasakule, pidage meeles, et kui mõlemad on "180", robot pöördub. rightMotor.write (180); leftMotor.write (180); } olek = DRIVE_FORWARD; }} void readUltrasonicSensors () {// see on ultraheli 2. Teise anduri kasutamisel peate võib -olla seda käsku muutma. digitalWrite (ultraheli2TrigPin, HIGH); delayMikrosekundid (10); // tõmmake TRIG -pin kõrgele vähemalt 10 mikrosekundit digitalWrite (ultraheli2TrigPin, LOW); ultraheli2Kestus = pulseIn (ultraheli2EchoPin, HIGH); ultraheli2Kaugus = (ultraheli2Kestus/2)/29; } // järgmine on konsooli vigade silumiseks. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultraheli2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Soovitan: