Jak si vyrobit robota doma (s obrázky)

Obsah:

Jak si vyrobit robota doma (s obrázky)
Jak si vyrobit robota doma (s obrázky)

Video: Jak si vyrobit robota doma (s obrázky)

Video: Jak si vyrobit robota doma (s obrázky)
Video: Jak vytvořit tu NEJLEPŠÍ MAPU v Minecraftu! (která se bude líbit každému YouTuberovi) | Hestreng ◕§◕ 2024, Smět
Anonim

Chcete se naučit dělat vlastního robota? Existuje mnoho různých typů robotů, které si můžete postavit sami. Většina lidí chce vidět robota snadno se pohybovat z bodu A do B. Můžete si postavit robota zcela z analogových komponent nebo si koupit startovací sadu. Výroba vlastního robota je skvělý způsob, jak se naučit elektroniku a počítačové programování.

Krok

Část 1 z 5: Sestavení robota

1123333 1
1123333 1

Krok 1. Sestavte své součásti

K sestavení základního robota budete potřebovat několik jednoduchých komponent. Většinu nebo všechny tyto komponenty najdete ve svém místním hobby obchodě s elektronikou nebo u některých online prodejců. Některé sady obsahují všechny tyto komponenty. Tento robot nevyžaduje žádné pájení:

  • Arduino Uno (nebo jiný mikrokontrolér)
  • 2 serva 360 stupňů
  • 2 kola odpovídající servu
  • 1 volné kolo
  • 1 testovací deska (prkénko nebo projektová deska), která nebyla připájena (podívejte se na testovací desku, která má na každé straně dvě kladné a záporné řady)
  • 1 snímač přiblížení (se čtyřpólovým konektorovým kabelem)
  • 1 tlačítkový spínač
  • 1 odpor 10 kΩ
  • 1 kabel USB A na B
  • 1 sada rozbitných záhlaví
  • 1 6 x držák baterie AA s 9V DC. Zásuvkou
  • 1 balení 22. propojovacích kabelů nebo jednoho kabelu
  • Izolace tam a zpět (dvojitá páska) nebo lepicí pistole
1123333 2
1123333 2

Krok 2. Otočte přihrádku na baterie tak, aby její plochá záda směřovala nahoru

Tělo robota postavíte pomocí prostoru pro baterie jako základny.

1123333 3
1123333 3

Krok 3. Uspořádejte dvě serva otočená stejným směrem na konec pozice pro baterii

Tento konec je konec, kde vychází kabel z baterie. Serva by se měla dotýkat spodní části a rotační mechanismus každého serva by měl směřovat ven ze stran prostoru pro baterie. Je důležité, aby tato serva byla správně uspořádána tak, aby byla kola rovná. Kabely pro servo musí vycházet ze zadní části prostoru pro baterie.

1123333 4
1123333 4

Krok 4. Servo přilepte izolací nebo lepidlem

Ujistěte se, že je servo pevně připevněno k bateriovému prostoru. Zadní strana serva musí být zarovnána se zadní částí prostoru pro baterie.

Serva by nyní měla zabírat polovinu místa v zadní části pozice baterie

1123333 5
1123333 5

Krok 5. Testovací desku nalepte kolmo na zbývající místo v prostoru pro baterie

Tato testovací deska bude mírně viset nad přední částí prostoru pro baterii a bude se rozšiřovat na obě strany. Než budete pokračovat, ujistěte se, že je testovací deska těsná. Řada „A“by měla být nejblíže servu.

1123333 6
1123333 6

Krok 6. Připojte mikrokontrolér Arduino k horní části serva

Pokud správně připojíte servo, měla by se navzájem dotýkat plochá část obou serv. Přilepte desku Arduino na toto ploché místo tak, aby napájecí konektory USB a Arduino směřovaly dolů (mimo testovací desku). Přední část Arduina se bude překrývat s testovací deskou.

1123333 7
1123333 7

Krok 7. Namontujte kola na serva

Pevně přitlačte kola na otočný servomechanismus. To může vyžadovat značnou sílu, protože kola jsou navržena tak, aby měla otvory, které přesně odpovídají tvaru hrotu serva.

1123333 8
1123333 8

Krok 8. Nainstalujte volné kolo na spodní část testovací desky

Pokud otočíte robota vzhůru nohama, uvidíte z prostoru pro baterie viset malou testovací desku. K této závěsné části připevněte volné kolo. V případě potřeby použijte klín. Volné kolo slouží jako přední kolo, což umožňuje robotovi snadné otáčení v libovolném směru.

Pokud jste si zakoupili soupravu, volné kolo může mít několik klínů, které můžete použít k zajištění toho, aby se kolo mohlo volně dotýkat země

Část 2 z 5: Zapojení robota

1123333 9
1123333 9

Krok 1. Odřízněte dvě 3kolíkové hlavičky

Toto použijete k připojení serva k testovací desce. Zatlačte kolíky dolů přes záhlaví, aby vyšly na obou stranách ve stejné vzdálenosti.

1123333 10
1123333 10

Krok 2. Vložte dvě záhlaví do kolíků 1-3 a 6-8 v řadě E na testovací desce

Ujistěte se, že jsou vloženy pevně nebo pevně.

1123333 11
1123333 11

Krok 3. Připojte vodiče serva ke konektoru s černým vodičem na levé straně (kolíky 1 a 6)

Tím se propojí servo s testovací deskou. Ujistěte se, že je levé servo připojeno k levému záhlaví a pravé servo je připojeno k pravému záhlaví.

1123333 12
1123333 12

Krok 4. Připojte červený propojovací vodič z kolíků C2 a C7 ke kolíku červené kolejnice (kladný)

Ujistěte se, že používáte červenou kolejnici na zadní straně testovací desky (blíže ke zbytku těla robota).

1123333 13
1123333 13

Krok 5. Připojte černý propojovací vodič z pinů B1 a B6 ke kolíku modré kolejnice (uzemnění)

Ujistěte se, že používáte modrou lištu na zadní straně testovací desky. Nepřipojujte kabel ke kolíku červené kolejnice.

1123333 14
1123333 14

Krok 6. Připojte bílé propojovací vodiče z pinů 12 a 13 na Arduinu k A3 a A8

To umožní Arduinu ovládat servo a otáčet kolečkem.

1123333 15
1123333 15

Krok 7. Připojte senzor k přední části testovací desky

Senzor není namontován na externí napájecí lištu na testovací desce, ale na první dvě řady pinů s písmeny (J). Ujistěte se, že jej umístíte přímo doprostřed se stejným počtem prázdných kolíků na každé straně.

1123333 16
1123333 16

Krok 8. Připojte černý propojovací vodič z pinu I14 k prvnímu kolíku modré lišty na levé straně snímače

Tím se snímač uzemní.

1123333 17
1123333 17

Krok 9. Připojte červený propojovací vodič z pinu I17 k prvnímu kolíku červené kolejnice na pravé straně snímače

Tím bude senzor napájen.

1123333 18
1123333 18

Krok 10. Připojte bílé propojovací vodiče od pinu I15 k pinu 9 na Arduinu a od I16 k pinu 8

To poskytne informace ze senzoru do mikrokontroléru.

Část 3 z 5: Instalace napájecího kabelu

1123333 19
1123333 19

Krok 1. Otočte robota, abyste viděli prostor pro baterie uvnitř

Umístěte přihrádku na baterie tak, aby kabel procházel vlevo dole.

1123333 20
1123333 20

Krok 2. Připojte červený vodič s druhým pružinou zleva dole

Zkontrolujte, zda je přihrádka na baterie správně zarovnána nebo směřuje správným směrem.

1123333 21
1123333 21

Krok 3. Připojte černý vodič s posledním pramenem vpravo dole

Tyto dva vodiče pomohou zajistit správné napětí pro Arduino.

1123333 22
1123333 22

Krok 4. Připojte červený a černý vodič k červenému a modrému kolíku, které jsou na pravé straně na zadní straně testovací desky

Černý vodič by měl jít na kolík modré kolejnice na kolíku 30. Červený vodič by měl jít na kolík červené kolejnice na kolíku 30.

1123333 23
1123333 23

Krok 5. Připojte černý vodič z kolíku GND na Arduinu k zadní části modré kolejnice

Připojte vodič ke kolíku 28 na modré liště.

1123333 24
1123333 24

Krok 6. Připojte černý vodič ze zadní části modré kolejnice k přední části modré kolejnice na kolíku 29 pro obě kolejnice

Nepřipojujte červenou kolejnici, protože byste mohli poškodit Arduino.

1123333 25
1123333 25

Krok 7. Připojte červený vodič z přední části červené lišty na pinu 30 k 5V pinu na Arduinu

To zajistí napájení Arduina.

1123333 26
1123333 26

Krok 8. Vložte spínač do prostoru mezi kolíky 24-26

Tento přepínač vám umožní vypnout robota, aniž byste museli vypnout napájení.

1123333 27
1123333 27

Krok 9. Připojte červený vodič z H24 k červené kolejnici na dalším prázdném kolíku napravo od snímače

Tím bude tlačítko napájeno.

1123333 28
1123333 28

Krok 10. Pomocí rezistoru připojte H26 k modré kolejnici

Připojte jej ke kolíku přímo vedle černého vodiče, který jste právě připojili v předchozích krocích.

1123333 29
1123333 29

Krok 11. Připojte bílý vodič z G26 ke kolíku 2 na Arduinu

To umožní Arduinu detekovat tlačítka.

Část 4 z 5: Instalace softwaru Arduino

1123333 30
1123333 30

Krok 1. Stáhněte a rozbalte Arduino IDE

Zde se vyvíjí Arduino a umožňuje vám naprogramovat pokyny, které poté můžete nahrát do svého mikrokontroléru Arduino. Můžete si jej zdarma stáhnout z arduino.cc/en/main/software. Stažený soubor rozbalte dvojitým kliknutím na soubor a přesunutím složky, která obsahuje, na snadno přístupné místo. Program ve skutečnosti nenainstalujete, místo toho jej spustíte ze složky, která byla extrahována dvojitým kliknutím na arduino.exe.

1123333 31
1123333 31

Krok 2. Připojte přihrádku na baterie k Arduinu

Zapojte zadní zásuvku baterie do konektoru na Arduinu a napájejte ji.

1123333 32
1123333 32

Krok 3. Vložte Arduino do počítače přes USB

Je pravděpodobné, že Windows zařízení nerozpozná.

1123333 33
1123333 33

Krok 4. Stiskněte

Win+R. a zadejte devmgmt.msc.

Tento příkaz otevře Správce zařízení.

1123333 34
1123333 34

Krok 5. Klikněte pravým tlačítkem na Neznámé zařízení v části Další zařízení a vyberte Aktualizovat software ovladače

Pokud tuto možnost nevidíte, klikněte na Vlastnosti, vyberte kartu Ovladač a poté klikněte na Aktualizovat ovladač.

1123333 35
1123333 35

Krok 6. Vyberte Vyhledat ovladač v počítači

To vám umožní vybrat vestavěné ovladače dodané s Arduino IDE.

1123333 36
1123333 36

Krok 7. Klikněte na Procházet a poté otevřete složku, kterou jste dříve extrahovali

Najdete v něm složku s ovladači.

1123333 37
1123333 37

Krok 8. Vyberte složku s ovladači a klikněte na OK

Pokud jste upozorněni na neznámý software, potvrďte, že chcete pokračovat.

Část 5 z 5: Programování robotů

1123333 38
1123333 38

Krok 1. Otevřete Arduino IDE poklepáním na soubor arduino.exe ve složce IDE

Budete uvítáni prázdným projektem.

1123333 39
1123333 39

Krok 2. Vložte nebo vložte následující kód, aby byl váš robot pokročilý

Níže uvedený kód udrží váš Arduino v chodu.

#include // přidá do programu knihovnu „Servo“// následující příkaz vytvoří dva objekty serva Servo leftMotor; Servo vpravoMotor; neplatné nastavení () {leftMotor.attach (12); // pokud jste omylem prohodili čísla pinů pro vaše servo, můžete je zaměnit zde rightMotor.attach (13); } void loop () {leftMotor.write (180); // s otáčením o 360 stupňů (souvislé otáčení), číslo 180 dává pokyn servu, aby se pohybovalo „vpřed“plnou rychlostí. rightMotor.write (0); // pokud jsou obě hodnoty 180, robot se bude otáčet v kruhu, protože servo je obrácené. „0“říká robotu, aby se pohyboval „dozadu“plnou rychlostí. }

1123333 40
1123333 40

Krok 3. Vytvořte a nahrajte program

Kliknutím na tlačítko se šipkou vpravo v levém horním rohu vytvořte a nahrajte program do připojeného Arduina.

Možná budete chtít zvednout robota z povrchu, protože robot bude po nahrání programu pokračovat v chůzi vpřed

1123333 41
1123333 41

Krok 4. Přidejte funkci spínače zastavení (přepínač zabíjení)

Přidejte následující kód do části „void loop ()“kódu a přidejte funkci stop stop k funkci „write ()“.

if (digitalRead (2) == HIGH) // tento příkaz se spustí po stisknutí tlačítka na pinu 2 Arduino {while (1) {leftMotor.write (90); // "90" je neutrální poloha pro servo, která říká servu, aby se přestalo otáčet vpravoMotor.write (90); }}

1123333 42
1123333 42

Krok 5. Nahrajte a zkontrolujte svůj kód

S již přidaným kódem vypínače můžete nahrát kód a otestovat robota. Robot by měl pokračovat vpřed, dokud nestisknete tlačítko vypínače, které způsobí, že se robot zastaví. Úplný kód bude vypadat takto:

#include // následující příkaz vytvoří dva objekty Servo leftMotor servo; Servo vpravoMotor; neplatné nastavení () {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); }

Příklad

Následující kód bude používat senzory nainstalované na robotu, aby se otočil doleva, kdykoli robot narazí na překážku. Podívejte se na komentáře v kódu, kde najdete podrobnosti o tom, jak používat jednotlivé části. Níže uvedený kód je celý program.

#include Servo leftMotor; Servo vpravoMotor; const int serialPeriod = 250; // tento kód udává zpoždění výstupu konzoly každých 1/4 sekundy (250 ms) bez znaménka long timeSerialDelay = 0; const int loopPeriod = 20; // tento kód nastavuje čtecí frekvenci senzoru na 20 ms, což je 50 Hz bez znaménka longLoopDelay = 0; // tento kód přiřazuje funkce TRIG a ECHO pinům na Arduinu. Zde upravte čísla, pokud je připojíte jiným způsobem konst int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // tento kód definuje dva možné stavy robota: pokračovat vpřed nebo zahnout doleva #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = pokračovat vpřed (VÝCHOZÍ), 1 = odbočit doleva neplatné nastavení () {Serial.begin (9600); // tento senzor určuje konfiguraci pinů pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // toto přiřadí motor pinům 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 vytiskne zprávy o ladění do sériové konzoly if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // tento kód dává senzoru pokyn ke čtení a ukládání dat o měřené vzdálenosti stateMachine (); timeLoopDelay = milis (); }} neplatný stateMachine () {if (state == DRIVE_FORWARD) // pokud není detekována žádná překážka {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // pokud před robotem nic není. ultrasonicDistance bude u některých ultrazvuků záporná, pokud nejsou žádné překážky {// jeďte vpřed rightMotor.write (180); leftMotor.write (0); } else // pokud je před námi nějaký předmět {state = TURN_LEFT; }} else if (state == TURN_LEFT) // pokud je detekována překážka, zahněte doleva {unsigned long timeToTurnLeft = 500; // otočení o 90 stupňů trvá přibližně 0,5 sekundy. Tuto hodnotu bude možná nutné upravit, pokud se vaše kola liší velikostí od velikosti v příkladu bez znaménka dlouhý turnStartTime = millis (); // zachovat podmínku, kdy se robot začne otáčet while ((millis ()-turnStartTime) <timeToTurnLeft) // ponechat tento cyklus, dokud nepřejde timeToTurnLeft (500) {// odbočit doleva, pamatujte, že když jsou oba "180", robot se otočí. rightMotor.write (180); leftMotor.write (180); } state = DRIVE_FORWARD; }} void readUltrasonicSensors () {// toto je pro ultrazvuk 2. Tento příkaz možná budete muset změnit, pokud používáte jiný snímač. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // vytáhněte pin TRIG vysoko alespoň na 10 mikrosekund digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // následující je pro chyby ladění v konzole. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = milis (); }}

Doporučuje: