Hogyan készítsünk robotot otthon (képekkel)

Tartalomjegyzék:

Hogyan készítsünk robotot otthon (képekkel)
Hogyan készítsünk robotot otthon (képekkel)

Videó: Hogyan készítsünk robotot otthon (képekkel)

Videó: Hogyan készítsünk robotot otthon (képekkel)
Videó: How it is Summoning the Wither in Minecraft 2024, November
Anonim

Szeretnéd megtanulni saját robot készítését? Sokféle robot létezik, amelyeket saját maga készíthet. A legtöbb ember azt akarja látni, hogy egy robot könnyedén elmozdul A pontból B -be. Teljesen felépíthet robotot analóg alkatrészekből, vagy vásárolhat kezdő készletet. Saját robot készítése nagyszerű módja az elektronika és a számítógépes programozás elsajátításának.

Lépés

1. rész az 5 -ből: A robot összeszerelése

1123333 1
1123333 1

1. lépés Szerelje össze az alkatrészeket

Egy alapvető robot építéséhez néhány egyszerű alkatrészre lesz szüksége. Ezen alkatrészek nagy részét vagy mindegyikét megtalálhatja a helyi elektronikai hobbiboltban, vagy néhány online kiskereskedőnél. Néhány készlet ezeket az alkatrészeket tartalmazza. Ez a robot nem igényel forrasztást:

  • Arduino Uno (vagy más mikrokontroller)
  • 2 szervó 360 fok
  • 2 kerekű szervó
  • 1 szabad kerék
  • 1 tesztlap (kenyérlap vagy projekt tábla), amelyet nem forrasztottak (keressen egy tesztlapot, amelynek mindkét oldalán két pozitív és negatív sor található)
  • 1 közelségérzékelő (négy érintkezős csatlakozó kábellel)
  • 1 nyomógombos kapcsoló
  • 1 ellenállás 10 kΩ
  • 1 USB A -B kábel
  • 1 darab törhető fejléc
  • 1 6 x AA elemtartó 9V egyenáramú hálózati aljzattal
  • 1 csomag 22. áthidaló kábel vagy egyetlen kábel
  • Szigetelés oda -vissza (dupla szalag) vagy ragasztópisztoly
1123333 2
1123333 2

Lépés 2. Fordítsa el az elemtartó rekeszet úgy, hogy lapos hátulja felfelé nézzen

A robot testét az elemtartó rekesz alapjaként fogja felépíteni.

1123333 3
1123333 3

3. lépés. Az akkumulátorrekesz végén helyezzen el két, azonos irányba mutató szervót

Ez a vég az a vég, ahol a kábel kijön az akkumulátorból. A szervóknak meg kell érniük az alját, és minden szervó forgó mechanizmusának kifelé kell néznie az elemtartó oldaláról. Fontos, hogy ezek a szervók megfelelően legyenek elrendezve, hogy a kerekek egyenesek legyenek. A szervo kábeleinek az elemtartó hátsó részéből kell kijönniük.

1123333 4
1123333 4

4. lépés: Ragassza fel a szervókat szigetelésével vagy ragasztójával

Győződjön meg arról, hogy a szervo szilárdan rögzítve van az elemtartóhoz. A szervó hátoldalának igazodnia kell az elemtartó hátuljához.

Most a szervóknak el kell foglalniuk az akkumulátorrekesz hátsó részének felét

1123333 5
1123333 5

5. lépés: Ragassza a tesztlapot merőlegesen az elemtartó rekesz maradék helyére

Ez a tesztlap kissé lógni fog az elemtartó elején, és mindkét oldalra kiterjed. Mielőtt folytatná, győződjön meg arról, hogy a tesztlap feszes. Az „A” sornak a szervóhoz kell a legközelebb lennie.

1123333 6
1123333 6

6. lépés. Csatlakoztassa az Arduino mikrokontrollert a szervó tetejéhez

Ha helyesen rögzíti a szervót, akkor a két szervó lapos részének érintkeznie kell egymással. Ragassza az Arduino kártyát erre a lapos helyre úgy, hogy az USB- és Arduino -tápcsatlakozók lefelé nézzenek (távol a tesztlaptól). Az Arduino eleje átfedésben lesz a tesztlappal.

1123333 7
1123333 7

7. lépés. Szerelje fel a kerekeket a szervókra

Határozottan nyomja a kerekeket a forgó szervomechanizmusra. Ez jelentős erőt igényelhet, mivel a kerekeket úgy tervezték, hogy lyukak legyenek, amelyek pontosan illeszkednek a szervohegy alakjához.

1123333 8
1123333 8

8. lépés. Szerelje be a szabad kereket a tesztlap aljára

Ha fejjel lefelé fordítja a robotot, látni fogja, hogy egy kis tesztlap lóg az elemtartóból. Rögzítse a szabad kereket ehhez a függő részhez. Ha szükséges, használjon éket. A szabad kerék első kerékként szolgál, amely lehetővé teszi a robot számára, hogy könnyedén bármilyen irányba forduljon.

Ha készletet vásárolt, a szabad keréknek lehetnek ékjei, amelyekkel biztosíthatja, hogy a kerék szabadon érintse a talajt

2. rész az 5 -ből: A robot bekötése

1123333 9
1123333 9

1. lépés Vágjon le két 3 tűs fejlécet

Ezzel fogja összekapcsolni a szervót a tesztpanellel. Nyomja le a csapokat a fejrészeken keresztül, így mindkét oldalon egyenlő távolságra kerülnek ki.

1123333 10
1123333 10

2. lépés Helyezze be a két fejlécet a tesztpanel E sorának 1-3. És 6-8

Győződjön meg arról, hogy szilárdan vagy szilárdan vannak behelyezve.

1123333 11
1123333 11

3. lépés: Csatlakoztassa a szervo vezetékeket a fejléccel, a fekete vezetékkel a bal oldalon (1. és 6. csap)

Ez összeköti a szervót a tesztlappal. Győződjön meg arról, hogy a bal szervó csatlakozik a bal oldali fejléchez, a jobb szervó pedig a jobb oldali fejléchez.

1123333 12
1123333 12

4. lépés Csatlakoztassa a piros áthidaló vezetéket a C2 és C7 csapokból a piros síncsaphoz (pozitív)

Győződjön meg arról, hogy a piros sávot használja a tesztlap hátoldalán (közelebb a robot többi testéhez).

1123333 13
1123333 13

5. lépés Csatlakoztassa a fekete áthidaló vezetéket a B1 és B6 csapokból a kék síncsaphoz (földelt)

Győződjön meg arról, hogy a tesztkártya hátoldalán lévő kék sínt használja. Ne csatlakoztassa a kábelt a piros síncsaphoz.

1123333 14
1123333 14

6. lépés Csatlakoztassa a fehér jumper vezetékeket az Arduino 12 -es és 13 -as csapjaiból az A3 -hoz és A8 -hoz

Ez lehetővé teszi, hogy az Arduino vezérelje a szervót és forgassa a kormányt.

1123333 15
1123333 15

7. lépés. Csatlakoztassa az érzékelőt a tesztlap elejéhez

Az érzékelőt nem a teszt tábla külső tápcsövéhez, hanem az első két sor tűhöz rögzítik (J). Ügyeljen arra, hogy a közepére helyezze, mindkét oldalon azonos számú üres csapszeggel.

1123333 16
1123333 16

8. lépés Csatlakoztassa a fekete áthidaló vezetéket az I14 érintkezőtől az első kék síncsaphoz az érzékelő bal oldalán

Ez földelni fogja az érzékelőt.

1123333 17
1123333 17

9. lépés Csatlakoztassa a piros áthidaló vezetéket az I17 érintkezőtől az első piros síncsapra az érzékelő jobb oldalán

Ez áramot biztosít az érzékelőnek.

1123333 18
1123333 18

10. lépés: Csatlakoztassa a fehér áthidaló vezetékeket az I15 -ös tűtől a 9 -es tűig az Arduino -n, és az I16 -tól a 8 -as tűig

Ez információt szolgáltat az érzékelőtől a mikrokontrollernek.

Rész 3 /5: A tápkábel felszerelése

1123333 19
1123333 19

1. lépés Fordítsa meg a robotot, hogy láthassa a benne lévő elemtartót

Úgy helyezze el az elemtartót, hogy a kábel a bal alsó részen keresztül távozzon.

1123333 20
1123333 20

2. lépés: Csatlakoztassa a piros vezetéket a második rugóval balról alul

Győződjön meg arról, hogy az elemtartó megfelelően van beállítva vagy a megfelelő irányba néz.

1123333 21
1123333 21

3. lépés Csatlakoztassa a fekete vezetéket az utolsó rugóval a jobb alsó sarokban

Ez a két vezeték segíti a megfelelő feszültség biztosítását az Arduino számára.

1123333 22
1123333 22

Lépés 4. Csatlakoztassa a piros és fekete vezetékeket a piros és kék csapokhoz, amelyek a tesztlap hátoldalán találhatóak

A fekete huzalnak a 30. tű kék síncsapjához kell mennie. A piros vezetéknek a 30. tű piros síncsapjához kell mennie.

1123333 23
1123333 23

5. lépés Csatlakoztassa a fekete vezetéket az Arduino GND csapjától a kék sín hátuljához

Csatlakoztassa a vezetéket a kék sín 28. tűjéhez.

1123333 24
1123333 24

6. lépés: Csatlakoztassa a fekete vezetéket a kék sín hátuljától a kék sín elejéhez a 29 -es tűn mindkét sínhez

Ne csatlakoztassa a piros sínt, mert megsérülhet az Arduino.

1123333 25
1123333 25

Lépés 7. Csatlakoztassa a piros vezetéket a 30. tű piros sínjének elejétől az Arduino 5V -os csatlakozójához

Ez áramot biztosít az Arduino számára.

1123333 26
1123333 26

8. lépés Helyezze be a nyomógombos kapcsolót a 24-26. Csapok közötti térbe

Ezzel a kapcsolóval kikapcsolhatja a robotot anélkül, hogy ki kellene kapcsolnia a készüléket.

1123333 27
1123333 27

9. lépés: Csatlakoztassa a H24 -ből származó piros vezetéket az érzékelő jobb oldalán lévő következő üres tű piros sínjéhez

Ez biztosítja a gomb áramellátását.

1123333 28
1123333 28

10. lépés: Ellenállással csatlakoztassa a H26 -ot a kék sínhez

Csatlakoztassa a tűhöz közvetlenül a fekete vezeték mellett, amelyet az előző lépésekben csatlakoztatott.

1123333 29
1123333 29

11. lépés: Csatlakoztassa a G26 fehér vezetéket az Arduino 2. tűjéhez

Ez lehetővé teszi az Arduino számára a nyomógombok észlelését.

4. rész az 5 -ből: Az Arduino szoftver telepítése

1123333 30
1123333 30

1. lépés: Töltse le és bontsa ki az Arduino IDE -t

Itt fejlesztették ki az Arduino -t, és lehetővé teszi az utasítások programozását, amelyeket aztán feltölthet az Arduino mikrokontrollerére. Ingyenesen letöltheti az arduino.cc/en/main/software webhelyről. Csomagolja ki a letöltött fájlt úgy, hogy duplán rákattint a fájlra, és áthelyezi a benne található mappát egy könnyen hozzáférhető helyre. Valójában nem telepíti a programot, hanem csak egy mappából futtatja, amelyet az arduino.exe fájlra duplán kattintva vontak ki.

1123333 31
1123333 31

2. lépés Csatlakoztassa az elemtartót az Arduino -hoz

Helyezze be az akkumulátor hátsó foglalatát az Arduino csatlakozójába az áramellátáshoz.

1123333 32
1123333 32

3. lépés Helyezze be az Arduino -t a számítógépbe USB -n keresztül

Valószínű, hogy a Windows nem ismeri fel az eszközt.

1123333 33
1123333 33

4. lépés. Nyomja meg a gombot

Win+R és írja be devmgmt.msc.

Ez a parancs megnyitja az Eszközkezelőt.

1123333 34
1123333 34

5. lépés: Kattintson a jobb gombbal az Ismeretlen eszköz elemre az Egyéb eszközök részben, és válassza az Illesztőprogram frissítése lehetőséget

Ha nem látja ezt a lehetőséget, kattintson a Tulajdonságok elemre, válassza az Illesztőprogram fület, majd kattintson az Illesztőprogram frissítése elemre.

1123333 35
1123333 35

6. lépés Válassza a Tallózás a számítógépen illesztőprogram -szoftvert lehetőséget

Ez lehetővé teszi az Arduino IDE-vel kapott beépített illesztőprogramok kiválasztását.

1123333 36
1123333 36

Lépés 7. Kattintson a Tallózás gombra, majd nyissa meg a korábban kibontott mappát

Megtalálja benne az illesztőprogramok mappáját.

1123333 37
1123333 37

8. lépés. Válassza ki az illesztőprogramok mappáját, majd kattintson az OK gombra

Erősítse meg, hogy folytatni szeretné, ha figyelmeztetést kap az ismeretlen szoftverre.

5. rész az 5 -ből: Robotok programozása

1123333 38
1123333 38

1. lépés: Nyissa meg az Arduino IDE-t dupla kattintással az arduino.exe fájlra az IDE mappában

Önt üres projekt fogadja.

1123333 39
1123333 39

2. lépés: Illessze be vagy illessze be a következő kódot, hogy a robot haladjon

Az alábbi kód megtartja Arduino -ját.

#include // ez hozzáadja a „Servo” könyvtárat a programhoz // a következő parancs két szervo objektumot hoz létre Servo leftMotor; Szervo jobbMotor; void setup () {leftMotor.attach (12); // ha véletlenül kicserélted a pin számokat a szervódra, itt kicserélheted a számokat rightMotor.attach (13); } void loop () {leftMotor.write (180); // 360 fokos forgatással (folyamatos forgatás) a 180 -as szám arra utasítja a szervót, hogy teljes sebességgel haladjon előre. rightMotor.write (0); // ha mindkét érték 180, akkor a robot körben forog, mert a szervó megfordul. A „0” jelzi a robotnak, hogy teljes sebességgel „hátrafelé” mozogjon. }

1123333 40
1123333 40

3. lépés: Hozza létre és töltse fel a programot

Kattintson a jobbra mutató nyílgombra a bal felső sarokban egy program létrehozásához és feltöltéséhez a csatlakoztatott Arduino -ba.

Érdemes felemelni a robotot a felszínről, mivel a robot a program feltöltése után is tovább fog lépni

1123333 41
1123333 41

4. lépés. Adjon hozzá stop stop funkciót (kill switch)

Adja hozzá a következő kódot a kód "void loop ()" szakaszához, hogy egy stop stop funkciót adjon hozzá az "write ()" függvényhez.

if (digitalRead (2) == HIGH) // ez a parancs akkor fut, ha a gombot megnyomják a 2. tűn Arduino {while (1) {leftMotor.write (90); // "90" a szervo semleges helyzete, amely azt mondja a szervónak, hogy hagyja abba a jobbra fordulástMotor.write (90); }}

1123333 42
1123333 42

5. lépés. Töltse fel és ellenőrizze a kódot

Ha már hozzáadta a stop kapcsoló kódját, feltöltheti a kódot és tesztelheti a robotot. A robotnak addig kell előre haladnia, amíg meg nem nyomja a stop gombot, ami a robot leállását eredményezi. A teljes kód így fog kinézni:

#include // a következő parancs két Servo leftMotor szervo objektumot hoz létre; Szervo jobbMotor; 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); }

Példa

A következő kód a robotra telepített érzékelőket használja, hogy balra forduljon, amikor a robot akadályba ütközik. Tekintse meg a kód megjegyzéseit az egyes részek használatának részleteiről. Az alábbi kód az egész program.

#include szervo leftMotor; Szervo jobbMotor; const int serialPeriod = 250; // ez a kód megadja, hogy a konzol kimeneti késleltetése minden 1/4 másodpercben (250 ms) előjel nélküli hosszú idő legyenSerialDelay = 0; const int loopPeriod = 20; // ez a kód az érzékelő olvasási frekvenciáját 20 ms -ra állítja, ami 50 Hz előjel nélküli long timeLoopDelay = 0; // ez a kód hozzárendeli a TRIG és ECHO funkciókat az Arduino csapjaihoz. Állítsa be a számokat itt, ha más módon kapcsolja össze őket. Konst int ultrasonic2TrigPin = 8; const int ultrahangos2EchoPin = 9; int ultrahangos2Távolság; int ultrahangos2Duration; // ez a kód két lehetséges robotállapotot határoz meg: folytassa előre vagy forduljon balra #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = folytatás előre (DEFAULT), 1 = balra fordulás void setup () {Serial.begin (9600); // ez az érzékelő határozza meg a pin konfigurációt a pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrahangos2EchoPin, INPUT); // ez hozzárendeli a motort az Arduino csapokhoz leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // ez a kód "stop" -ot észlel {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // ez a kód hibakeresési üzeneteket nyomtat a soros konzolra, ha (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // ez a kód utasítja az érzékelőt, hogy olvassa és tárolja a mért távolság állapotára vonatkozó adatokatMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // ha nem észlel akadályt {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // ha semmi nincs a robot előtt. ultrasonicDistance negatív lesz egyes ultrahangosoknál, ha nincsenek akadályok {// haladjon előre rightMotor.write (180); leftMotor.write (0); } else // ha van előttünk egy objektum {state = TURN_LEFT; }} else if (state == TURN_LEFT) // ha akadályt észlel, forduljon balra {unsigned long timeToTurnLeft = 500; // körülbelül 0,5 másodpercbe telik a 90 fokos fordulat. Lehet, hogy módosítania kell ezt az értéket, ha a kerekek mérete eltér a példában szereplő, alá nem írt hosszú turnStartTime = millis () méretétől. // tartsa meg azt az állapotot, amikor a robot elkezd forogni, miközben ((millis ()-turnStartTime) <timeToTurnLeft) // tartsa meg ezt a ciklust, amíg a timeToTurnLeft (500) túllép {// forduljon balra, ne feledje, hogy amikor mindkettő "180", a robot megfordul. rightMotor.write (180); leftMotor.write (180); } állapot = DRIVE_FORWARD; }} void readUltrasonicSensors () {// ez az ultrahangos 2 -re vonatkozik. Előfordulhat, hogy módosítania kell ezt a parancsot, ha másik érzékelőt használ. digitalWrite (ultrahangos2TrigPin, HIGH); delayMikroszekundumok (10); // húzza magasra a TRIG csapot legalább 10 mikroszekundumig digitalWrite (ultrasonic2TrigPin, LOW); ultrahang2Duration = pulseIn (ultrahangos2EchoPin, HIGH); ultrahang2Távolság = (ultrahang2Duration/2)/29; } // az alábbiakban a konzol hibakeresési hibáiról van szó. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Soros.nyomtatás (ultrahangos2Távolság); Soros.nyomat ("cm"); Sorozat.println (); timeSerialDelay = millis (); }}

Ajánlott: