Jinsi ya Kujenga Robot Nyumbani (na Picha)

Orodha ya maudhui:

Jinsi ya Kujenga Robot Nyumbani (na Picha)
Jinsi ya Kujenga Robot Nyumbani (na Picha)

Video: Jinsi ya Kujenga Robot Nyumbani (na Picha)

Video: Jinsi ya Kujenga Robot Nyumbani (na Picha)
Video: JINSI YA KUTUMIA ADOBE PHOTOSHOP KUEDIT PICHA TUTORIAL YA KISWAHILI 2024, Mei
Anonim

Je! Unataka kujifunza jinsi ya kujenga robot yako mwenyewe? Kuna aina nyingi za roboti ambazo unaweza kutengeneza na wewe mwenyewe. Watu wengi wanataka kuona roboti ikifanya kazi rahisi za kusonga kutoka hatua A kwenda kwa uhakika B. Unaweza kutengeneza roboti kabisa kutoka kwa vifaa vya analogi au kununua kit kuanzia kuanzia mwanzo! Kuunda robot yako mwenyewe ni njia nzuri ya kujifundisha umeme na programu ya kompyuta.

Hatua

Sehemu ya 1 ya 6: Kukusanya Robot

1123333 1
1123333 1

Hatua ya 1. Kukusanya vifaa vyako

Ili kujenga robot msingi, utahitaji vifaa kadhaa rahisi. Unaweza kupata zaidi, ikiwa sio yote, ya vifaa hivi kwenye duka lako la kupendeza la elektroniki, au wauzaji kadhaa mkondoni. Vifaa vingine vya msingi vinaweza kujumuisha vifaa hivi pia. Roboti hii haiitaji kutengenezea:

  • Arduino Uno (au mdhibiti mwingine mdogo)
  • 2 servos zinazoendelea za mzunguko
  • Magurudumu 2 ambayo yanafaa servos
  • Roller 1 ya caster
  • 1 ndogo ya mkate isiyo na mkate (tafuta ubao wa mkate ambao una laini mbili hasi na hasi kila upande)
  • Sensorer ya umbali 1 (na kebo ya kiunganishi cha pini nne)
  • Kitufe 1 cha kifungo cha kushinikiza
  • Kataa 1 10kΩ
  • Cable 1 USB A hadi B
  • Seti 1 ya vichwa vilivyovunjika
  • 1 6 x AA mmiliki wa betri na 9V DC nguvu jack
  • Pakiti 1 ya waya za kuruka au waya-gauge 22-gauge
  • Mkanda wenye nguvu wa pande mbili au gundi ya moto
1123333 2
1123333 2

Hatua ya 2. Pindisha kifurushi cha betri ili nyuma ya gorofa iwe juu

Utajenga mwili wa roboti ukitumia kifurushi cha betri kama msingi.

1123333 3
1123333 3

Hatua ya 3. Patanisha servos mbili mwisho wa kifurushi cha betri

Huu unapaswa kuwa mwisho kwamba waya wa kifurushi cha betri hutoka kwa Huduma zinafaa kugusa sehemu za chini, na mifumo inayozunguka ya kila mmoja inapaswa kuangazia pande za kifurushi cha betri. Servos lazima ziwe sawa ili magurudumu yaende sawa. Waya kwa servos lazima kuja kutoka nyuma ya pakiti betri.

1123333 4
1123333 4

Hatua ya 4. Fungamanisha servos na mkanda wako au gundi

Hakikisha kuwa wameunganishwa kwa nguvu kwenye kifurushi cha betri. Migongo ya servos inapaswa kuwa iliyokaa sawa na nyuma ya pakiti ya betri.

Servos sasa inapaswa kuchukua nusu ya nyuma ya kifurushi cha betri

1123333 5
1123333 5

Hatua ya 5. Bandika ubao wa mkate haswa kwenye nafasi wazi kwenye kifurushi cha betri

Inapaswa kutegemea mbele ya kifurushi cha betri kidogo kidogo na itaenea zaidi ya kila upande. Hakikisha imefungwa salama kabla ya kuendelea. Safu "A" inapaswa kuwa karibu zaidi na servos.

1123333 6
1123333 6

Hatua ya 6. Ambatanisha mdhibiti mdogo wa Arduino kwenye vilele vya servos

Ikiwa uliunganisha servos vizuri, inapaswa kuwe na nafasi tambarare iliyofanywa na wao kugusa. Bandika bodi ya Arduino kwenye nafasi hii tambarare ili viunganisho vya USB na Nguvu za Arduino ziangalie nyuma (mbali na ubao wa mkate). Mbele ya Arduino inapaswa kuwa tu kupindukia ubao wa mkate.

1123333 7
1123333 7

Hatua ya 7. Weka magurudumu kwenye servos

Bonyeza kwa nguvu magurudumu kwenye utaratibu unaozunguka wa servo. Hii inaweza kuhitaji nguvu kubwa, kwani magurudumu yameundwa kutoshea kwa kukaba iwezekanavyo kwa traction bora.

1123333 8
1123333 8

Hatua ya 8. Ambatisha caster chini ya ubao wa mkate

Ikiwa unapindua chasi juu, unapaswa kuona ubao wa mkate uliopitisha pakiti ya betri. Ambatisha caster kwenye kipande hiki kilichopanuliwa, ukitumia risers ikiwa ni lazima. Caster hufanya kama gurudumu la mbele, ikiruhusu roboti igeuke kwa urahisi kuelekea upande wowote.

Ikiwa umenunua kit, caster anaweza kuwa alikuja na risers chache ambazo unaweza kutumia kuhakikisha kuwa kasta huyo anafikia chini. i

Sehemu ya 2 ya 6: Wiring Robot

1123333 9
1123333 9

Hatua ya 1. Vunja vichwa viwili vya pini 3

Utatumia hizi kuunganisha servos kwenye ubao wa mkate. Sukuma pini chini kupitia kichwa ili pini zitoke kwa umbali sawa kwa pande zote mbili.

1123333 10
1123333 10

Hatua ya 2. Ingiza vichwa viwili kwenye pini 1-3 na 6-8 kwenye safu ya E ya ubao wa mkate

Hakikisha kuwa zimeingizwa vizuri.

1123333 11
1123333 11

Hatua ya 3. Unganisha nyaya za servo kwa vichwa, na kebo nyeusi upande wa kushoto (pini 1 na 6)

Hii itaunganisha servos kwenye ubao wa mkate. Hakikisha servo ya kushoto imeunganishwa na kichwa cha kushoto na servo ya kulia kwa kichwa cha kulia.

1123333 12
1123333 12

Hatua ya 4. Unganisha waya za jumper nyekundu kutoka kwa pini C2 na C7 hadi pini nyekundu za reli (chanya)

Hakikisha unatumia reli nyekundu nyuma ya ubao wa mkate (karibu na chasisi nyingine).

1123333 13
1123333 13

Hatua ya 5. Unganisha waya nyeusi za kuruka kutoka kwa pini B1 na B6 hadi pini za reli ya bluu (ardhini)

Hakikisha unatumia reli ya bluu nyuma ya ubao wa mkate. Usiwaingize kwenye pini nyekundu za reli.

1123333 14
1123333 14

Hatua ya 6. Unganisha waya nyeupe za kuruka kutoka kwa pini 12 na 13 kwenye Arduino hadi A3 na A8

Hii itaruhusu Arduino kudhibiti servos na kugeuza magurudumu.

1123333 15
1123333 15

Hatua ya 7. Ambatisha sensorer mbele ya ubao wa mkate

Haingiliwi kwenye reli za nguvu za nje kwenye ubao wa mkate, lakini badala yake kwenye safu ya kwanza ya pini zilizochapishwa (J). Hakikisha unaiweka katikati kabisa, na idadi sawa ya pini zinazopatikana kila upande.

1123333 16
1123333 16

Hatua ya 8. Unganisha waya nyeusi ya kuruka kutoka kwa pini I14 hadi pini ya kwanza ya reli ya hudhurungi inayopatikana upande wa kushoto wa sensa

Hii itashusha sensor.

1123333 17
1123333 17

Hatua ya 9. Unganisha waya ya kuruka nyekundu kutoka kwa pini I17 hadi kwenye siri ya kwanza ya reli nyekundu inayopatikana kulia kwa sensa

Hii itawezesha sensa.

1123333 18
1123333 18

Hatua ya 10. Unganisha waya nyeupe za kuruka kutoka pini I15 hadi 9 kwenye Arduino, na kutoka I16 hadi 8

Hii italisha habari kutoka kwa sensorer kwa mdhibiti mdogo.

Sehemu ya 3 ya 6: Wiring Nguvu

1123333 19
1123333 19

Hatua ya 1. Flip robot upande wake ili uweze kuona betri kwenye pakiti

Elekeza ili cable ya kifurushi cha betri itoke kushoto chini.

1123333 20
1123333 20

Hatua ya 2. Unganisha waya nyekundu kwenye chemchemi ya pili kutoka kushoto chini

Hakikisha kuwa kifurushi cha betri kinaelekezwa kwa usahihi.

1123333 21
1123333 21

Hatua ya 3. Unganisha waya mweusi kwenye chemchemi ya mwisho chini-kulia

Cables hizi mbili zitasaidia kutoa voltage sahihi kwa Arduino.

1123333 22
1123333 22

Hatua ya 4. Unganisha waya mwekundu na mweusi kwenye pini za kulia na nyekundu za kulia kulia nyuma ya ubao wa mkate

Cable nyeusi inapaswa kuingizwa kwenye pini ya reli ya bluu kwenye pini 30. Cable nyekundu inapaswa kuingizwa kwenye pini nyekundu ya reli kwenye pini 30.

1123333 23
1123333 23

Hatua ya 5. Unganisha waya mweusi kutoka kwa pini ya GND kwenye Arduino kwa reli ya nyuma ya bluu

Unganisha kwenye pini 28 kwenye reli ya bluu.

1123333 24
1123333 24

Hatua ya 6. Unganisha waya mweusi kutoka reli ya nyuma ya bluu hadi reli ya mbele ya bluu kwenye pini 29 kwa kila moja

Usiunganishe reli nyekundu, kwani unaweza kuharibu Arduino.

1123333 25
1123333 25

Hatua ya 7. Unganisha waya mwekundu kutoka reli ya mbele nyekundu kwenye pini 30 hadi pini 5V kwenye Arduino

Hii itatoa nguvu kwa Arduino.

1123333 26
1123333 26

Hatua ya 8. Ingiza kitufe cha kushinikiza kwenye pengo kati ya safu kwenye pini 24-26

Kitufe hiki kitakuruhusu kuzima roboti bila kuachilia umeme.

1123333 27
1123333 27

Hatua ya 9. Unganisha waya nyekundu kutoka H24 hadi reli nyekundu kwenye pini inayofuata inayopatikana kulia kwa sensa

Hii itawezesha kifungo.

1123333 28
1123333 28

Hatua ya 10. Tumia kontena kuungana H26 na reli ya bluu

Unganisha kwenye pini moja kwa moja karibu na waya mweusi uliounganisha hatua chache zilizopita.

1123333 29
1123333 29

Hatua ya 11. Unganisha waya mweupe kutoka G26 kubandika 2 kwenye Arduino

Hii itaruhusu Arduino kusajili kitufe cha kushinikiza.

Sehemu ya 4 ya 6: Kusanikisha Programu ya Arduino

1123333 30
1123333 30

Hatua ya 1. Pakua na dondoa Arduino IDE

Hii ndio mazingira ya maendeleo ya Arduino na hukuruhusu kupanga maagizo ambayo unaweza kupakia kwa mdhibiti wako mdogo wa Arduino. Unaweza kuipakua bure kutoka arduino.cc/en/main/software. Unzip faili iliyopakuliwa kwa kubofya mara mbili na kusogeza folda ndani hadi mahali rahisi kufikia. Hautasakinisha programu hiyo. Badala yake, utaiendesha kutoka folda iliyoondolewa kwa kubofya mara mbili arduino.exe.

1123333 31
1123333 31

Hatua ya 2. Unganisha pakiti ya betri kwenye Arduino

Chomeka betri nyuma kwenye kontakt kwenye Arduino ili kuipa nguvu.

1123333 32
1123333 32

Hatua ya 3. Chomeka Arduino kwenye kompyuta yako kupitia USB

Windows labda haitatambua kifaa.

1123333 33
1123333 33

Hatua ya 4. Bonyeza

Shinda + R na chapa devmgmt.msc.

Hii itazindua Meneja wa Kifaa.

1123333 34
1123333 34

Hatua ya 5. Bonyeza kulia kwenye "Kifaa kisichojulikana" katika sehemu ya "Vifaa vingine" na uchague "Sasisha Programu ya Dereva

" Ikiwa hautaona chaguo hili, bonyeza "Mali" badala yake, chagua kichupo cha "Dereva", kisha bonyeza "Sasisha Dereva."

1123333 35
1123333 35

Hatua ya 6. Chagua "Vinjari kompyuta yangu kwa programu ya dereva

" Hii itakuruhusu kuchagua dereva aliyekuja na Arduino IDE.

1123333 36
1123333 36

Hatua ya 7. Bonyeza "Vinjari" kisha nenda kwenye kabrasha ulilotoa mapema

Utapata folda ya "madereva" ndani.

1123333 37
1123333 37

Hatua ya 8. Chagua folda ya "madereva" na ubonyeze "Sawa

" Thibitisha kuwa unataka kuendelea ikiwa umeonywa juu ya programu isiyojulikana.

Sehemu ya 5 ya 6: Kupanga Programu ya Robot

1123333 38
1123333 38

Hatua ya 1. Anzisha IDE ya Arduino kwa kubonyeza mara mbili faili ya arduino.exe kwenye folda ya IDE

Utasalimiwa na mradi tupu.

1123333 39
1123333 39

Hatua ya 2. Bandika nambari ifuatayo ili kufanya roboti yako iende sawa

Nambari iliyo hapa chini itafanya Arduino yako kuendelea kusonga mbele.

# pamoja na // hii inaongeza maktaba ya "Servo" kwenye programu // yafuatayo inaunda vitu viwili vya servo Servo leftMotor; Servo kuliaMotor; kuanzisha batili () {leftMotor.attach (12); // ikiwa kwa bahati mbaya umebadilisha nambari za siri kwa servos zako, unaweza kubadilisha namba hapa kuliaMotor.ambatanisha (13); } kitanzi batili () {leftMotor.write (180); // na mzunguko unaoendelea, 180 inaiambia servo isonge kwa kasi kamili "mbele." kuliaMotor. andika (0); // ikiwa hizi zote ziko 180, roboti itaenda kwenye duara kwa sababu servos zimepinduliwa. "0," inaiambia isonge kwa kasi kamili "nyuma." }

1123333 40
1123333 40

Hatua ya 3. Jenga na upakie programu

Bonyeza kitufe cha kulia kwenye kona ya juu kushoto ili kujenga na kupakia programu kwenye Arduino iliyounganishwa.

Unaweza kutaka kuinua roboti juu ya uso, kwani itaendelea tu kusonga mbele mara tu mpango utakapopakiwa

1123333 41
1123333 41

Hatua ya 4. Ongeza utendaji wa kubadili kuua

Ongeza nambari ifuatayo kwenye sehemu ya "batili kitanzi ()" ya nambari yako ili kuwezesha swichi ya kuua, juu ya kazi za "andika ()".

ikiwa (digitalRead (2) == HIGH) // hii inasajili wakati kitufe kinabanwa kwenye pini 2 ya Arduino {wakati (1) {leftMotor.write (90); // "90" ni msimamo wa upande wowote kwa servos, ambayo huwaambia waache kugeuka kuliaMotor.write (90); }}

1123333 42
1123333 42

Hatua ya 5. Pakia na ujaribu msimbo wako

Kwa nambari ya kubadili kuua imeongezwa, unaweza kupakia na kujaribu roboti. Inapaswa kuendelea kusonga mbele hadi ubonyeze swichi, wakati huo itaacha kusonga. Nambari kamili inapaswa kuonekana kama hii:

# pamoja na // ifuatayo inaunda vitu viwili vya servo Servo kushotoMotor; Servo kuliaMotor; kuanzisha batili () {leftMotor.attach (12); kuliaMotor.ambatanisha (13); } kitanzi batili () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); kuliaMoto.andika (90); }} kushotoMotor.andika (180); kuliaMotor.write (0); }

Sehemu ya 6 ya 6: Mfano

Hatua ya 1. Fuata mfano

Nambari ifuatayo itatumia sensorer iliyoshikamana na roboti kuifanya igeuke kushoto wakati wowote inapokutana na kikwazo. Tazama maoni kwenye kificho kwa maelezo juu ya kila sehemu inafanya nini. Nambari hapa chini ni mpango mzima.

# pamoja na Servo kushotoMotor; Servo kuliaMotor; const int serialPeriod = 250; // hii inapunguza pato kwa kiweko kwa mara moja kila sekunde 1/4 isiyosainiwa muda mrefuSerialDelay = 0; const int loopPeriod = 20; // hii inaweka mara ngapi sensor inachukua usomaji hadi 20ms, ambayo ni masafa ya 50Hz isiyosainiwa muda mrefuLoopDelay = 0; // hii inapeana kazi za TRIG na ECHO kwa pini kwenye Arduino. Fanya marekebisho kwa nambari hapa ikiwa umeunganisha tofauti const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // hii inafafanua hali mbili zinazowezekana kwa roboti: kuendesha mbele au kuelekea kushoto #fafanua DRIVE_FORWARD 0 #fafanua TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = gari mbele (DEFAULT), 1 = pindisha usanidi batili kushoto () {Serial.begin (9600); // usanidi huu wa siri ya siri ya pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // hii inapeana motors kwa pini za Arduino kushotoMotor.ambatanisha (12); kuliaMotor.ambatanisha (13); } kitanzi batili () {if (digitalRead (2) == HIGH) // hii hugundua swichi ya kuua {wakati (1) {leftMotor.write (90); kuliaMoto.andika (90); }} Utatuaji wa Onyesho (); // hii inachapisha ujumbe wa utatuzi kwenye dashibodi ya serial ikiwa (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // hii inaamuru sensa kusoma na kuhifadhi umbali uliopimwa haliMachine (); timeLoopDelay = milimita (); }} batili stateMachine () {if (state == DRIVE_FORWARD) // ikiwa hakuna vizuizi vimegunduliwa {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // ikiwa hakuna kitu mbele ya roboti. UltrasonicDistance itakuwa hasi kwa baadhi ya ultrasonics ikiwa hakuna kikwazo {// drive forward rightMotor.write (180); kushotoMotor.write (0); } mwingine // ikiwa kuna kitu mbele yetu {state = TURN_LEFT; }} mwingine ikiwa (state == TURN_LEFT) // ikiwa kikwazo kimegunduliwa, pinda kushoto {unsigned long timeToTurnLeft = 500; // inachukua karibu sekunde.5 kugeuza digrii 90. Unaweza kuhitaji kurekebisha hii ikiwa magurudumu yako ni saizi tofauti na mfano uliowekwa saini kwa muda mrefuStartTime = millis (); // kuokoa wakati ambao tulianza kugeuza wakati ((millis () - turnStartTime) <timeToTurnLeft) // kukaa kwenye kitanzi hiki hadi wakatiToTurnLeft imekwisha {// pinduka kushoto, kumbuka kuwa wakati zote zimewekwa "180" itageuka. kuliaMoto.andika (180); kushotoMotor.andika (180); } hali = DRIVE_FORWARD; }} utupu kusomaUltrasonicSensors () {// hii ni ya ultrasonic 2. Unaweza kuhitaji kubadilisha amri hizi ikiwa unatumia sensorer tofauti. digitalWrite (ultrasonic2TrigPin, JUU); kuchelewesha Microsconds (10); // huweka pini ya trig juu kwa angalau microseconds 10 digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pigoIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // ifuatayo ni kwa makosa ya utatuzi kwenye koni. batili debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = milimita (); }}

Ilipendekeza: