Ako si vyrobiť robota doma (s obrázkami)

Obsah:

Ako si vyrobiť robota doma (s obrázkami)
Ako si vyrobiť robota doma (s obrázkami)

Video: Ako si vyrobiť robota doma (s obrázkami)

Video: Ako si vyrobiť robota doma (s obrázkami)
Video: Akon - Smack That (Official Music Video) ft. Eminem 2024, Apríl
Anonim

Chcete sa naučiť vyrábať vlastného robota? Existuje mnoho rôznych typov robotov, ktoré si môžete postaviť sami. Väčšina ľudí chce vidieť, ako sa robot ľahko pohybuje z bodu A do B. Robota môžete postaviť úplne z analógových komponentov alebo si kúpiť štartovaciu sadu. Výroba vlastného robota je úžasný spôsob, ako sa naučiť elektroniku a počítačové programovanie.

Krok

Časť 1 z 5: Zostavenie robota

1123333 1
1123333 1

Krok 1. Zostavte svoje súčiastky

Na stavbu základného robota budete potrebovať niekoľko jednoduchých komponentov. Väčšinu alebo všetky tieto súčiastky nájdete vo svojom miestnom hobby obchode alebo u niektorých internetových predajcov. Niektoré súpravy obsahujú všetky tieto súčasti. Tento robot nevyžaduje žiadne spájkovanie:

  • Arduino Uno (alebo iný mikrokontrolér)
  • 2 servá 360 stupňov
  • 2 kolesá zodpovedajúce servu
  • 1 voľné koleso
  • 1 skúšobná doska (doska na chlieb alebo doska na projekt), ktorá nebola spájkovaná (vyhľadajte dosku na testovanie, ktorá má na každej strane dva kladné a záporné riadky)
  • 1 snímač priblíženia (so štvorpólovým konektorovým káblom)
  • 1 spínač s tlačidlom
  • 1 odpor 10 kΩ
  • 1 kábel USB A na B
  • 1 sada rozbitných hlavičiek
  • 1 6 x držiak batérie AA s 9 V DC. Zásuvkou
  • 1 balenie 22. prepojovacích káblov alebo jedného kábla
  • Izolácia tam a späť (dvojitá páska) alebo lepiaca pištoľ
1123333 2
1123333 2

Krok 2. Otočte priehradku na batériu tak, aby plochá zadná strana smerovala nahor

Telo robota postavíte pomocou priestoru pre batérie ako základne.

1123333 3
1123333 3

Krok 3. Na konci pozície pre batérie usporiadajte dve serva v rovnakom smere

Tento koniec je koniec, kde kábel vychádza z batérie. Servo by sa malo dotýkať spodnej časti a mechanizmus otáčania každého serva by mal smerovať von z bokov priestoru pre batériu. Je dôležité, aby boli tieto serva správne usporiadané tak, aby boli kolesá rovné. Káble pre servo musia vychádzať zo zadnej časti priestoru pre batériu.

1123333 4
1123333 4

Krok 4. Servo prilepte izoláciou alebo lepidlom

Uistite sa, že je servo pevne pripevnené k priestoru pre batériu. Zadná strana serva musí byť zarovnaná so zadnou časťou priestoru pre batériu.

Servá by teraz mali zaberať polovicu miesta v zadnej časti pozície pre batériu

1123333 5
1123333 5

Krok 5. Prilepte testovaciu dosku kolmo na zostávajúci priestor v priehradke na batérie

Táto skúšobná doska bude mierne visieť nad prednou časťou priestoru pre batériu a bude sa rozširovať na obe strany. Pred pokračovaním sa uistite, že je skúšobná doska tesná. Riadok „A“by mal byť najbližšie k servu.

1123333 6
1123333 6

Krok 6. Pripojte mikrokontrolér Arduino k hornej časti serva

Ak správne pripevníte servo, mala by sa navzájom dotýkať plochá časť dvoch serv. Prilepte dosku Arduino k tomuto plochému miestu tak, aby napájacie konektory USB a Arduino smerovali nadol (mimo testovacej dosky). Predná strana Arduina sa bude prekrývať s testovacou doskou.

1123333 7
1123333 7

Krok 7. Nainštalujte kolesá na servopohony

Kolesá pevne pritlačte na otočný servo mechanizmus. To môže vyžadovať značnú silu, pretože kolesá sú navrhnuté tak, aby mali otvory, ktoré presne zodpovedajú tvaru hrotu serva.

1123333 8
1123333 8

Krok 8. Nainštalujte voľné koleso na spodok testovacej dosky

Ak otočíte robota hore nohami, uvidíte, ako z priestoru pre batériu visí malá skúšobná doska. K tejto zavesenej časti pripevnite voľné koleso. V prípade potreby použite klin. Voľnobežné koleso slúži ako predné koleso, ktoré umožňuje robotovi ľahké otáčanie v ľubovoľnom smere.

Ak ste si kúpili súpravu, voľné koleso môže mať niekoľko klinov, pomocou ktorých môžete zaistiť, aby sa koleso voľne dotýkalo zeme

Časť 2 z 5: Zapojenie robota

1123333 9
1123333 9

Krok 1. Odrežte dve 3-kolíkové hlavičky

Toto použijete na pripojenie serva k testovacej doske. Zatlačte kolíky nadol cez hlavičky, aby vychádzali z oboch strán v rovnakej vzdialenosti.

1123333 10
1123333 10

Krok 2. Vložte dve hlavičky do kolíkov 1-3 a 6-8 v rade E na testovacej doske

Uistite sa, že sú vložené pevne alebo pevne.

1123333 11
1123333 11

Krok 3. Pripojte servo vodiče k záhlaviu s čiernym vodičom na ľavej strane (kolíky 1 a 6)

Toto prepojí servo s testovacou doskou. Uistite sa, že ľavé servo je pripojené k ľavému záhlaviu a pravé servo je pripojené k pravému záhlaviu.

1123333 12
1123333 12

Krok 4. Pripojte červený prepojovací vodič z pinov C2 a C7 k kolíku červenej koľajnice (kladný)

Uistite sa, že používate červenú koľajnicu na zadnej strane testovacej dosky (bližšie k zvyšku tela robota).

1123333 13
1123333 13

Krok 5. Pripojte čierny prepojovací vodič z pinov B1 a B6 k kolíku modrej koľajnice (uzemnenie)

Uistite sa, že používate modrú koľajničku na zadnej strane testovacej dosky. Nepripájajte kábel k kolíku červenej koľajnice.

1123333 14
1123333 14

Krok 6. Pripojte biele prepojovacie vodiče z pinov 12 a 13 na Arduine k A3 a A8

To umožní Arduinu ovládať servo a otáčať kolesom.

1123333 15
1123333 15

Krok 7. Pripojte snímač k prednej časti testovacej dosky

Senzor nie je namontovaný na externú napájaciu lištu na testovacej doske, ale na prvé dva rady pinov s písmenom (J). Uistite sa, že ho umiestnite priamo do stredu s rovnakým počtom prázdnych kolíkov na každej strane.

1123333 16
1123333 16

Krok 8. Pripojte čierny prepojovací vodič z kolíka I14 k prvému kolíku modrej lišty na ľavej strane snímača

Tým sa snímač uzemní.

1123333 17
1123333 17

Krok 9. Pripojte červený prepojovací vodič z kolíka I17 k prvému kolíku červenej koľajnice napravo od snímača

To poskytne snímaču energiu.

1123333 18
1123333 18

Krok 10. Pripojte biele prepojovacie vodiče od kolíka I15 k pinu 9 na Arduine a od I16 k pinu 8

To poskytne informácie zo senzora do mikrokontroléra.

Časť 3 z 5: Inštalácia napájacieho kábla

1123333 19
1123333 19

Krok 1. Otočte robota, aby ste videli priestor na batérie vo vnútri

Usporiadajte priehradku na batériu tak, aby kábel prechádzal vľavo dole.

1123333 20
1123333 20

Krok 2. Pripojte červený drôt s druhým prameňom zľava v spodnej časti

Zaistite, aby bol priečinok na batérie správne zarovnaný alebo otočený správnym smerom.

1123333 21
1123333 21

Krok 3. Pripojte čierny drôt k poslednému prameňu vpravo dole

Tieto dva vodiče pomôžu dodať Arduinu správne napätie.

1123333 22
1123333 22

Krok 4. Pripojte červený a čierny vodič k červenému a modrému kolíku, ktoré sú na pravej strane na zadnej strane testovacej dosky

Čierny vodič by mal ísť na kolík modrej koľajnice na kolíku 30. Červený vodič by mal ísť na kolík červenej koľajnice na kolíku 30.

1123333 23
1123333 23

Krok 5. Pripojte čierny vodič z kolíka GND na Arduine k zadnej časti modrej koľajnice

Pripojte vodič k kolíku 28 na modrej koľajnici.

1123333 24
1123333 24

Krok 6. Pripojte čierny vodič zo zadnej časti modrej koľajnice k prednej časti modrej koľajnice na kolíku 29 pre obe koľajnice

Nepripájajte červenú koľajnicu, pretože by ste mohli poškodiť Arduino.

1123333 25
1123333 25

Krok 7. Pripojte červený vodič z prednej časti červenej koľajnice na kolíku 30 k 5V kolíku na Arduine

To poskytne napájanie Arduinu.

1123333 26
1123333 26

Krok 8. Vložte tlačidlový spínač do priestoru medzi kolíky 24-26

Tento prepínač vám umožní vypnúť robota bez toho, aby ste museli vypnúť napájanie.

1123333 27
1123333 27

Krok 9. Pripojte červený vodič z H24 k červenej koľajnici na ďalšom prázdnom kolíku napravo od senzora

Tým sa tlačidlo napája.

1123333 28
1123333 28

Krok 10. Pripojte H26 k modrej koľajnici pomocou rezistora

Pripojte ho ku kolíku priamo vedľa čierneho vodiča, ktorý ste práve pripojili v predchádzajúcich krokoch.

1123333 29
1123333 29

Krok 11. Pripojte biely vodič z G26 k pinu 2 na Arduino

To umožní Arduinu rozpoznať tlačidlá.

Časť 4 z 5: Inštalácia softvéru Arduino

1123333 30
1123333 30

Krok 1. Stiahnite a extrahujte Arduino IDE

Tu je vyvinuté Arduino a umožňuje vám naprogramovať pokyny, ktoré potom môžete nahrať do svojho mikrokontroléra Arduino. Môžete si ho zadarmo stiahnuť z arduino.cc/en/main/software. Stiahnutý súbor rozbaľte dvojitým kliknutím na súbor a presunutím priečinka, ktorý obsahuje, na ľahko dostupné miesto. Program v skutočnosti nenainštalujete, namiesto toho ho spustíte z priečinka, ktorý bol extrahovaný dvojitým kliknutím na arduino.exe.

1123333 31
1123333 31

Krok 2. Pripojte priehradku na batériu k Arduinu

Zapojte zadnú zásuvku batérie do konektora na Arduine a napájajte ju.

1123333 32
1123333 32

Krok 3. Vložte Arduino do počítača cez USB

Je pravdepodobné, že systém Windows zariadenie nerozpozná.

1123333 33
1123333 33

Krok 4. Stlačte

Win+R. a napíšte devmgmt.msc.

Tento príkaz otvorí Správcu zariadení.

1123333 34
1123333 34

Krok 5. Kliknite pravým tlačidlom myši na položku Neznáme zariadenie v časti Ostatné zariadenia a vyberte položku Aktualizovať softvér ovládača

Ak sa vám táto možnosť nezobrazuje, kliknite na položku Vlastnosti, vyberte kartu Ovládač a potom kliknite na položku Aktualizovať ovládač.

1123333 35
1123333 35

Krok 6. Vyberte Ovládač vyhľadať v počítači

To vám umožní vybrať vstavané ovládače dodávané s Arduino IDE.

1123333 36
1123333 36

Krok 7. Kliknite na položku Prehľadávať a potom otvorte priečinok, ktorý ste predtým extrahovali

Nájdete v ňom priečinok s ovládačmi.

1123333 37
1123333 37

Krok 8. Vyberte priečinok s ovládačmi a kliknite na tlačidlo OK

Ak ste upozornení na neznámy softvér, potvrďte, že chcete pokračovať.

Časť 5 z 5: Programovanie robotov

1123333 38
1123333 38

Krok 1. Otvorte Arduino IDE dvojitým kliknutím na súbor arduino.exe v priečinku IDE

Privítate prázdny projekt.

1123333 39
1123333 39

Krok 2. Vložte alebo prilepte nasledujúci kód, aby bol váš robot pokročilý

Nasledujúci kód udrží vaše Arduino v prevádzke.

#include // toto pridá do programu knižnicu „Servo“// nasledujúci príkaz vytvorí dva objekty serva Servo leftMotor; Servo pravéMotor; void setup () {leftMotor.attach (12); // ak ste omylom vymenili čísla pinov pre vaše servo, môžete ich vymeniť tu rightMotor.attach (13); } prázdna slučka () {leftMotor.write (180); // s 360 stupňovým otáčaním (nepretržité otáčanie), číslo 180 prikazuje servu, aby sa pohybovalo „vpred“plnou rýchlosťou. rightMotor.write (0); // ak sú obe hodnoty 180, robot sa bude otáčať v kruhu, pretože servo je obrátené. „0“hovorí robotu, aby sa pohyboval „dozadu“plnou rýchlosťou. }

1123333 40
1123333 40

Krok 3. Vytvorte a nahrajte program

Kliknutím na tlačidlo šípky vpravo v ľavom hornom rohu vytvorte a nahrajte program do pripojeného Arduina.

Možno budete chcieť zdvihnúť robota z povrchu, pretože robot bude po nahraní programu pokračovať vpred

1123333 41
1123333 41

Krok 4. Pridajte funkciu vypínača (vypínač)

Pridajte nasledujúci kód do sekcie „prázdna slučka ()“v kóde a pridajte funkciu prepínača zastavenia k funkcii „write ()“.

if (digitalRead (2) == HIGH) // tento príkaz sa spustí po stlačení tlačidla na pine 2 Arduino {while (1) {leftMotor.write (90); // "90" je neutrálna poloha serva, ktorá hovorí servu, aby sa prestalo otáčať dopravaMotor.write (90); }}

1123333 42
1123333 42

Krok 5. Nahrajte a skontrolujte kód

Keď je kód vypínača už pridaný, môžete ho nahrať a otestovať robota. Robot by mal pokračovať vpred, kým nestlačíte tlačidlo vypínača, ktoré spôsobí, že sa robot zastaví. Celý kód bude vyzerať takto:

#include // nasledujúci príkaz vytvorí dva objekty serva leftMotor servo; Servo pravéMotor; 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); }

Príklad

Nasledujúci kód použije senzory nainštalované na robote, aby odbočil doľava vždy, keď robot narazí na prekážku. Pozrite sa na komentáre v kóde, kde nájdete podrobnosti o tom, ako používať jednotlivé časti. Nasledujúci kód je celý program.

#include Servo leftMotor; Servo pravéMotor; const int serialPeriod = 250; // tento kód udáva časové oneskorenie výstupu konzoly každých 1/4 sekundy (250 ms) bez znamienka, dlhý časSerialDelay = 0; const int loopPeriod = 20; // tento kód nastavuje frekvenciu čítania senzora na 20 ms, čo je 50 Hz bez znamienka dlhý časLoopDelay = 0; // tento kód priradí funkciám TRIG a ECHO piny na Arduine. Tu upravte čísla, ak ich spojíte iným spôsobom const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // tento kód definuje dva možné stavy robota: pokračujte vpred alebo odbočte vľavo #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = pokračovať vpred (DEFAULT), 1 = odbočiť doľava, neplatné nastavenie () {Serial.begin (9600); // tento senzor určuje konfiguráciu pinov pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // toto priradí motor ku kolíkom Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // tento kód detekuje '' stop '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // tento kód vytlačí správy o ladení do sériovej konzoly, ak (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // tento kód inštruuje snímač, aby čítal a ukladal údaje o nameranej vzdialenosti stateMachine (); timeLoopDelay = milis (); }} neplatný stateMachine () {if (state == DRIVE_FORWARD) // ak nie je zistená žiadna prekážka {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // ak sa pred robotom nič nenachádza. ultrasonicDistance bude u niektorých ultrazvukov negatívna, ak nie sú žiadne prekážky {// jazda vpred rightMotor.write (180); leftMotor.write (0); } else // ak je pred nami predmet {state = TURN_LEFT; }} else if (state == TURN_LEFT) // ak je detekovaná prekážka, odbočte vľavo {unsigned long timeToTurnLeft = 500; // otočenie o 90 stupňov trvá asi 0,5 sekundy. Túto hodnotu bude možno potrebné upraviť, ak sa veľkosť kolies líši od veľkosti v príklade bez znamienka dlhý turnStartTime = millis (); // ponechajte stav, keď sa robot začne otáčať while ((millis ()-turnStartTime) <timeToTurnLeft) // ponechajte tento cyklus, kým neprejde timeToTurnLeft (500) {// odbočte doľava, pamätajte na to, že keď sú obaja „180“, robot sa otočí. rightMotor.write (180); leftMotor.write (180); } stav = DRIVE_FORWARD; }} void readUltrasonicSensors () {// toto je pre ultrazvuk 2. Tento príkaz možno budete musieť zmeniť, ak používate iný snímač. digitalWrite (ultrasonic2TrigPin, HIGH); oneskorenie mikrosekundy (10); // potiahnite kolík TRIG vysoko aspoň na 10 mikrosekúnd digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // nasledovné je pre chyby ladenia v konzole. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = milis (); }}

Odporúča: