Si të ndërtoni një robot në shtëpi (me fotografi)

Përmbajtje:

Si të ndërtoni një robot në shtëpi (me fotografi)
Si të ndërtoni një robot në shtëpi (me fotografi)

Video: Si të ndërtoni një robot në shtëpi (me fotografi)

Video: Si të ndërtoni një robot në shtëpi (me fotografi)
Video: Топ 5 скрытых полезных программ Windows 10 2024, Prill
Anonim

Dëshironi të mësoni se si të krijoni robotin tuaj? Ekzistojnë shumë lloje të ndryshme robotësh që mund t'i bëni vetë. Shumica e njerëzve duan të shohin një robot që kryen detyrat e thjeshta të lëvizjes nga pika A në pikën B. Ju mund të bëni një robot plotësisht nga përbërës analogë ose të blini një çantë fillestare nga e para! Ndërtimi i robotit tuaj është një mënyrë e shkëlqyeshme për të mësuar veten si elektronikë ashtu edhe programim kompjuterik.

Hapa

Pjesa 1 nga 6: Montimi i Robotit

1123333 1
1123333 1

Hapi 1. Mblidhni përbërësit tuaj

Për të ndërtuar një robot bazë, do t'ju duhet disa përbërës të thjeshtë. Ju mund të gjeni shumicën, nëse jo të gjithë, të këtyre përbërësve në dyqanin tuaj të hobi elektronik, ose disa shitës me pakicë online. Disa komplete bazë mund të përfshijnë të gjithë këta përbërës gjithashtu. Ky robot nuk kërkon bashkim:

  • Arduino Uno (ose mikrokontrollues tjetër)
  • 2 servos rrotullimi të vazhdueshëm
  • 2 rrota që përshtaten me servos
  • 1 rul rrotullues
  • 1 pjatë e vogël pa saldim (kërkoni një dërrasë buke që ka dy vija pozitive dhe negative në secilën anë)
  • 1 sensor distancë (me kabllo lidhës me katër kunja)
  • 1 çelës mini me buton
  • 1 rezistencë 10kΩ
  • 1 kabllo USB A në B
  • 1 grup titujsh të shkëputur
  • 1 mbajtëse baterie 6 x AA me prizë rryme 9V DC
  • 1 pako tela kërcyes ose tela lidhës me 22 matësa
  • Shirit i fortë i dyanshëm ose zam i nxehtë
1123333 2
1123333 2

Hapi 2. Përmbysni paketën e baterisë në mënyrë që pjesa e pasme e sheshtë të kthehet lart

Ju do të ndërtoni trupin e robotit duke përdorur baterinë si bazë.

1123333 3
1123333 3

Hapi 3. Rreshtoni dy servot në fund të paketës së baterisë

Ky duhet të jetë fundi që tela e baterisë po del nga Servosët duhet të prekin fundet, dhe mekanizmat rrotullues të secilit duhet të jenë përballë anëve të paketës së baterisë. Servo -të duhet të rreshtohen siç duhet në mënyrë që rrotat të shkojnë drejt. Telat për servos duhet të dalin nga pjesa e pasme e paketës së baterisë.

1123333 4
1123333 4

Hapi 4. Ngjitini servot me shiritin ose ngjitësin tuaj

Sigurohuni që ato të jenë të lidhura fort me paketën e baterisë. Pjesët e pasme të servos duhet të jenë të barabarta me pjesën e pasme të paketës së baterisë.

Serviset tani duhet të marrin gjysmën e pasme të baterisë

1123333 5
1123333 5

Hapi 5. Vendoseni pllakën e bukës pingul në hapësirën e hapur në paketën e baterisë

Duhet të varet pak para baterisë dhe do të shtrihet përtej secilës anë. Sigurohuni që të jetë fiksuar mirë para se të vazhdoni. Rreshti "A" duhet të jetë më afër servos.

1123333 6
1123333 6

Hapi 6. Bashkangjitni mikrokontrolluesin Arduino në majat e servos

Nëse i keni bashkangjitur servot siç duhet, duhet të ketë një hapësirë të sheshtë të krijuar prej tyre duke prekur. Ngjiteni tabelën Arduino në këtë hapësirë të sheshtë në mënyrë që lidhësit USB dhe Power të Arduino të shikojnë nga ana e pasme (larg bordit të bukës). Pjesa e përparme e Arduino -s duhet të mbivendoset me bukë.

1123333 7
1123333 7

Hapi 7. Vendosni rrotat në servos

Shtypni fort rrotat në mekanizmin rrotullues të servo. Kjo mund të kërkojë një forcë të konsiderueshme, pasi rrotat janë të dizajnuara që të përshtaten sa më fort që të jetë e mundur për tërheqjen më të mirë.

1123333 8
1123333 8

Hapi 8. Bashkojeni enën në fund të dërrasës së bukës

Nëse e ktheni shasinë, duhet të shihni një copë buke që shtrihet përtej baterisë. Bashkangjiteni enën në këtë pjesë të zgjatur, duke përdorur ngritës nëse është e nevojshme. Rrota vepron si rrota e përparme, duke lejuar që roboti të kthehet lehtësisht në çdo drejtim.

Nëse keni blerë një çantë, ena mund të ketë ardhur me disa ngritës që mund t'i përdorni për të siguruar që ena të arrijë në tokë. i

Pjesa 2 nga 6: Instalimi i robotit

1123333 9
1123333 9

Hapi 1. Thyej dy kokë me 3 kunja

Ju do t'i përdorni këto për të lidhur servot në tryezën e bukës. Shtypni kunjat poshtë kokës në mënyrë që kunjat të dalin në një distancë të barabartë nga të dy anët.

1123333 10
1123333 10

Hapi 2. Futni dy titujt në kunjat 1-3 dhe 6-8 në rreshtin E të pjatës

Sigurohuni që ato të jenë futur fort.

1123333 11
1123333 11

Hapi 3. Lidhni servo kabllot me titujt, me kabllon e zi në anën e majtë (kunjat 1 dhe 6)

Kjo do të lidhë servos me tabelën e bukës. Sigurohuni që servo e majtë është e lidhur me kokën e majtë dhe servo e djathtë me kokën e djathtë.

1123333 12
1123333 12

Hapi 4. Lidhni telat me bluzë të kuqe nga kunjat C2 dhe C7 në kunjat e hekurudhave të kuqe (pozitive)

Sigurohuni që përdorni shinën e kuqe në pjesën e pasme të dërrasës së bukës (më afër pjesës tjetër të shasisë).

1123333 13
1123333 13

Hapi 5. Lidhni telat e bluzës së zezë nga kunjat B1 dhe B6 në kunjat e hekurudhës blu (tokësore)

Sigurohuni që përdorni shinën blu në pjesën e pasme të dërrasës së bukës. Mos i lidhni në kunjat e hekurudhës së kuqe.

1123333 14
1123333 14

Hapi 6. Lidhni telat me bluzë të bardhë nga kunjat 12 dhe 13 në Arduino në A3 dhe A8

Kjo do të lejojë që Arduino të kontrollojë servot dhe të rrotullojë rrotat.

1123333 15
1123333 15

Hapi 7. Bashkojeni sensorin në pjesën e përparme të dërrasës së bukës

Nuk futet në shinat e jashtme të energjisë në dërrasën e bukës, por përkundrazi në rreshtin e parë të kunjave me shkronja (J). Sigurohuni që ta vendosni në qendrën e saktë, me një numër të barabartë kunjash të disponueshëm në secilën anë.

1123333 16
1123333 16

Hapi 8. Lidhni një tel bluzë të zezë nga kunja I14 në kunjin e parë hekurudhor blu të disponueshëm në të majtë të sensorit

Kjo do të tokëzojë sensorin.

1123333 17
1123333 17

Hapi 9. Lidhni një tel bluzë të kuqe nga kunja I17 në kunjin e parë hekurudhor të kuq të disponueshëm në të djathtë të sensorit

Kjo do të fuqizojë sensorin.

1123333 18
1123333 18

Hapi 10. Lidhni telat me bluzë të bardhë nga kunja I15 në kunjin 9 në Arduino, dhe nga I16 në kunjin 8

Kjo do të furnizojë informacionin nga sensori te mikrokontrolluesi.

Pjesa 3 nga 6: Instalimi i energjisë

1123333 19
1123333 19

Hapi 1. Kthejeni robotin në anën e tij në mënyrë që të shihni bateritë në paketë

Orientoni atë në mënyrë që kablloja e baterisë të dalë në të majtë në fund.

1123333 20
1123333 20

Hapi 2. Lidhni një tel të kuq me pranverën e dytë nga e majta në fund

Sigurohuni që paketa e baterisë të jetë e orientuar saktë.

1123333 21
1123333 21

Hapi 3. Lidhni një tel të zi me pranverën e fundit në fund të djathtë

Këto dy kabllo do të ndihmojnë në sigurimin e tensionit të duhur në Arduino.

1123333 22
1123333 22

Hapi 4. Lidhni telat kuq e zi me kunjat e djathtë të kuqe dhe blu në anën e pasme të dërrasës së bukës

Kablloja e zezë duhet të lidhet me kunjin e hekurudhës blu në kunjin 30. Kablloja e kuqe duhet të lidhet me kunjin e hekurudhës së kuqe në kunjin 30.

1123333 23
1123333 23

Hapi 5. Lidhni një tel të zi nga kunja GND në Arduino në shinën e pasme blu

Lidheni atë në kunjin 28 në shinën blu.

1123333 24
1123333 24

Hapi 6. Lidhni një tel të zi nga hekurudha blu e pasme në shinën e përparme blu në kunjin 29 për secilën

Mos i lidhni binarët e kuq, pasi ka të ngjarë të dëmtoni Arduino.

1123333 25
1123333 25

Hapi 7. Lidhni një tel të kuq nga shina e kuqe e përparme në kunjin 30 në kunjin 5V në Arduino

Kjo do t'i japë fuqi Arduino -s.

1123333 26
1123333 26

Hapi 8. Vendosni çelësin e butonit në hendekun midis rreshtave në kunjat 24-26

Ky çelës do t'ju lejojë të fikni robotin pa pasur nevojë të shkëputni energjinë.

1123333 27
1123333 27

Hapi 9. Lidhni një tel të kuq nga H24 në shinën e kuqe në kunjin tjetër të disponueshëm në të djathtë të sensorit

Kjo do të ndezë butonin.

1123333 28
1123333 28

Hapi 10. Përdorni rezistencën për të lidhur H26 me shinën blu

Lidheni atë me kunjin direkt pranë telit të zi që e lidhët disa hapa më parë.

1123333 29
1123333 29

Hapi 11. Lidhni një tel të bardhë nga G26 në kunjin 2 në Arduino

Kjo do të lejojë që Arduino të regjistrojë butonin e shtypjes.

Pjesa 4 nga 6: Instalimi i softuerit Arduino

1123333 30
1123333 30

Hapi 1. Shkarkoni dhe ekstraktoni Arduino IDE

Ky është mjedisi i zhvillimit Arduino dhe ju lejon të programoni udhëzimet që më pas mund t'i ngarkoni në mikrokontrolluesin tuaj Arduino. Mund ta shkarkoni falas nga arduino.cc/en/main/software. Zbërtheni skedarin e shkarkuar duke klikuar dy herë mbi të dhe zhvendoseni dosjen brenda në një vendndodhje të lehtë për t'u përdorur. Në të vërtetë nuk do ta instaloni programin. Në vend të kësaj, thjesht do ta ekzekutoni nga dosja e nxjerrë duke klikuar dy herë në arduino.exe.

1123333 31
1123333 31

Hapi 2. Lidhni paketën e baterisë me Arduino

Lidheni prizën e baterisë në lidhësin në Arduino për t'i dhënë energji.

1123333 32
1123333 32

Hapi 3. Lidheni Arduino me kompjuterin tuaj nëpërmjet USB

Windows ka të ngjarë të mos e njohë pajisjen.

1123333 33
1123333 33

Hapi 4. Shtypni

⊞ Fito+R dhe lloji devmgmt.msc.

Kjo do të nisë Menaxherin e Pajisjes.

1123333 34
1123333 34

Hapi 5. Klikoni me të djathtën në "Pajisje të panjohur" në seksionin "Pajisje të tjera" dhe zgjidhni "Përditëso Softuerin e Shoferit

" Nëse nuk e shihni këtë opsion, klikoni "Properties" në vend, zgjidhni skedën "Driver" dhe pastaj klikoni "Update Driver".

1123333 35
1123333 35

Hapi 6. Zgjidhni "Shfletoni kompjuterin tim për programin e shoferit

" Kjo do t'ju lejojë të zgjidhni drejtuesin që erdhi me Arduino IDE.

1123333 36
1123333 36

Hapi 7. Klikoni "Shfleto" pastaj lundroni te dosja që keni nxjerrë më herët

Brenda do të gjeni një dosje "drejtues".

1123333 37
1123333 37

Hapi 8. Zgjidhni dosjen "drivers" dhe klikoni "OK"

" Konfirmoni që dëshironi të vazhdoni nëse jeni paralajmëruar për softuer të panjohur.

Pjesa 5 nga 6: Programimi i Robotit

1123333 38
1123333 38

Hapi 1. Filloni Arduino IDE duke klikuar dy herë në skedarin arduino.exe në dosjen IDE

Do të përshëndeteni me një projekt bosh.

1123333 39
1123333 39

Hapi 2. Ngjiteni kodin e mëposhtëm për ta bërë robotin tuaj të shkojë drejt

Kodi më poshtë do të bëjë që Arduino juaj të ecë vazhdimisht përpara.

#include // kjo shton bibliotekën "Servo" në program // e mëposhtme krijon dy servo objekte Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); // nëse keni ndërruar aksidentalisht numrat pin për servos tuaj, mund t'i ndërroni numrat këtu rightMotor.attach (13); } void loop () {leftMotor.write (180); // me rrotullim të vazhdueshëm, 180 i thotë servos të lëvizë me shpejtësi të plotë "përpara". e drejtëMotor. shkruaj (0); // nëse të dyja këto janë në 180, roboti do të shkojë në një rreth sepse servot janë përmbysur. "0", i thotë të lëvizë me shpejtësi të plotë "prapa". }

1123333 40
1123333 40

Hapi 3. Ndërtoni dhe ngarkoni programin

Klikoni butonin me shigjetën e djathtë në këndin e sipërm të majtë për të ndërtuar dhe ngarkuar programin në Arduino të lidhur.

Ju mund të dëshironi të hiqni robotin nga sipërfaqja, pasi ai thjesht do të vazhdojë të ecë përpara pasi programi të jetë ngarkuar

1123333 41
1123333 41

Hapi 4. Shtoni funksionalitetin e switch switch

Shtoni kodin e mëposhtëm në seksionin "void loop ()" të kodit tuaj për të mundësuar switch switch, mbi funksionet "write ()".

nëse (digitalRead (2) == HIGH) // kjo regjistrohet kur shtypet butoni në kunjin 2 të Arduino {ndërsa (1) {leftMotor.write (90); // "90" është pozicion neutral për servos, i cili u thotë atyre që të ndalojnë së kthyeri djathtasMotor.write (90); }}

1123333 42
1123333 42

Hapi 5. Ngarko dhe testo kodin tënd

Me kodin e kalimit të vrasjes të shtuar, mund të ngarkoni dhe testoni robotin. Duhet të vazhdojë të ecë përpara derisa të shtypni çelësin, në të cilin pikë do të ndalojë së lëvizuri. Kodi i plotë duhet të duket kështu:

#include // në vijim krijon dy servo objekte Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); rightMotor.tach (13); } void loop () {if (digitalRead (2) == HIGH) {ndërsa (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Pjesa 6 nga 6: Shembull

Hapi 1. Ndiqni një shembull

Kodi i mëposhtëm do të përdorë sensorin e bashkangjitur në robot për ta bërë atë të kthehet në të majtë sa herë që has në një pengesë. Shikoni komentet në kod për detaje rreth asaj që bën secila pjesë. Kodi më poshtë është i gjithë programi.

#përfshi Servo majtasMotor; Servo rightMotor; const int serialPeriudha = 250; // kjo kufizon daljen në tastierë një herë në 1/4 sekondë të pa nënshkruar kohë të gjatëSerialDelay = 0; const int loopPeriudha = 20; // kjo përcakton se sa shpesh sensori e merr një lexim në 20ms, që është një frekuencë prej 50Hz pa nënshkrim kohë të gjatëLoopDelay = 0; // kjo i cakton funksionet TRIG dhe ECHO në kunjat në Arduino. Bëni rregullimet e numrave këtu nëse lidheni ndryshe const int ultrasonic2TrigPin = 8; const int tejzanor2EchoPin = 9; int tejzanor2Distanca; int tejzanor2Duration; // kjo përcakton dy gjendjet e mundshme për robotin: ngasja përpara ose kthimi majtas #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = ngas përpara (DEFAULT), 1 = kthehu majtas void konfigurim () {Serial.begin (9600); // këto konfigurime të pin pin të sensorit pinMode (tejzanor2TrigPin, OUTPUT); pinMode (tejzanor2EchoPin, HYRJE); // kjo i cakton motorët në kunjat Arduino leftMotor.attach (12); rightMotor.tach (13); } void loop () {if (digitalRead (2) == HIGH) // kjo zbulon çelësin kill {ndërsa (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // kjo printon mesazhe të korrigjimit në tastierën serike nëse (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // kjo udhëzon sensorin të lexojë dhe ruajë distancat e matura stateMachine (); timeLoopDelay = milis (); }} void stateMachine () {if (gjendja == DRIVE_FORWARD) // nëse nuk zbulohen pengesa {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // nëse nuk ka asgjë para robotit. ultrasonicDistance do të jetë negative për disa ultrasonikë nëse nuk ka pengesë {// drejtoni përpara rightMotor.write (180); leftMotor.shkruaj (0); } else // nëse ka një objekt para nesh {state = TURN_LEFT; }} tjetër nëse (gjendja == TURN_LEFT) // nëse zbulohet një pengesë, ktheni majtas {unsigned long timeToTurnLeft = 500; // duhen rreth.5 sekonda për t'u kthyer 90 gradë. Ju mund të keni nevojë ta rregulloni këtë nëse rrotat tuaja janë të një madhësie të ndryshme nga shembulli i gjatë i panënshkruar turnStartTime = millis (); // kurseni kohën që filluam të ktheni ndërsa ((millis ()-turnStartTime) <timeToTurnLeft) // qëndroni në këtë lak derisa të ketë kaluar kohaToTurnLeft {// kthehuni majtas, mbani mend se kur të dy janë vendosur në "180" do të kthehet Me rightMotor.write (180); leftMotor.shkruaj (180); } gjendja = DRIVE_FORWARD; }} void readUltrasonicSensors () {// kjo është për tejzanor 2. Ju mund të keni nevojë të ndryshoni këto komanda nëse përdorni një sensor tjetër. digitalWrite (ultrasonic2TrigPin, HIGH); vonesa Mikrosekonda (10); // mban kunjin e trigës të lartë për të paktën 10 mikrosekonda digitalWrite (ultrasonic2TrigPin, LOW); tejzanor2Duration = impulsIn (ultrasonic2EchoPin, HIGH); tejzanor2Distanca = (tejzanor2Duration/2)/29; } // më poshtë është për korrigjimin e gabimeve në tastierë. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriudha) {Serial.print ("ultrasonic2Distance:"); Serial.print (tejzanor2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Recommended: