Tartalomjegyzék:

OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) Arduino segítségével: 5 lépés (képekkel)
OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) Arduino segítségével: 5 lépés (képekkel)

Videó: OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) Arduino segítségével: 5 lépés (képekkel)

Videó: OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) Arduino segítségével: 5 lépés (képekkel)
Videó: Ниндзя открытого доступа: Пиво закона 2024, Június
Anonim
Image
Image
OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) az Arduino segítségével
OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) az Arduino segítségével
OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) az Arduino segítségével
OAREE - 3D nyomtatás - Akadálykerülő robot a mérnöki oktatáshoz (OAREE) az Arduino segítségével

OAREE (akadályok elkerülése a mérnöki oktatáshoz)

Tervezés: Ennek az utasításnak a célja az volt, hogy olyan OAR (akadályokat elkerülő robot) robotot tervezzen, amely egyszerű/kompakt, 3D nyomtatható, könnyen összeszerelhető, folyamatos forgású szervókat használ a mozgáshoz, és a lehető legkevesebb vásárolt alkatrészt tartalmazza. Úgy gondolom, hogy sikerült létrehoznom ezt a fantasztikus robotot, és elneveztem OAREE -nek (akadályozó robot a mérnöki oktatáshoz). Ez a robot érzékeli az akadályokat, megáll, balra és jobbra néz, majd akadálytalan irányba fordul, és tovább halad.

Háttér: Az internetnek számos akadálya van a robotok elkerülésére, de a legtöbb terjedelmes, nehezen összeszerelhető és drága. Ezen robotok közül soknak van Arduino kódja, de nehéz volt jól átgondolt, működő példát találni. Továbbá szerettem volna a kerekekhez folyamatos forgású szervókat használni (egyenáramú motorok helyett), ami még nem történt meg. Elkezdtem tehát egy küldetést, hogy kifejlesszek egy kompakt, találékony OAR robotot, amelyet megoszthatok a világgal.

További fejlesztés: Ezt a robotot tovább lehet fejleszteni a jobb pingálási pontosság érdekében, infravörös érzékelők hozzáadásával a vonalkövetéshez, LCD képernyő az akadályok megjelenítéséhez és még sok más.

Kellékek

  • 1x Arduino Uno -
  • 1x V5 érzékelőpajzs -
  • 1x 4xAA elemtartó be/ki kapcsolóval -
  • 1x SG90 szervo -
  • 2x folyamatos forgás szervó -
  • 1x 9V -os akkumulátor tápkábel az Arduino számára (opcionális) -
  • 1x HC -SR04 ultrahangos érzékelő -
  • 4x női-női jumper vezeték-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
  • 2x gumiszalag
  • 1x 9V elem (opcionális)
  • 4x AA elem
  • 4x kis csavar (4 x 1/2 vagy bármi hasonló)
  • Phillips csavarhúzó
  • Ragasztó a gumiszalagok kerekekre rögzítéséhez

1. lépés: 3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó

3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó
3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó
3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó
3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó
3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó
3D nyomtatás: karosszéria, kerekek, márványöntvény, 6 mm -es csavar/anya és ultrahangos érzékelő tartó

A 3D nyomtatás 5 részből áll.

  1. Test
  2. Kerekek
  3. Márványöntő
  4. 6 mm -es csavar/anya (opcionális, fém anya/csavar helyettesíthető)
  5. Ultrahangos érzékelő tartó

Az összes szükséges. STL fájl megtalálható ebben az utasításban, valamint a Sketchup fájlok. 40% kitöltés ajánlott.

2. lépés: Programozza be az Arduino programot

Image
Image
Szerelje össze a robotot
Szerelje össze a robotot

Kód küldése az Arduino UNO -hoz: Az Arduino IDE használatával küldje el a kódot (a mellékelt fájlban) az Arduino moduljához. Ehhez a vázlathoz le kell töltenie és tartalmaznia kell a servo.h és newping.h könyvtárakat.

A kódot alaposan megjegyzik, így láthatja, hogy az egyes parancsok mit tesznek. Kívánt esetben könnyen megváltoztathatja az ultrahangos érzékelő távolságát nagyobb vagy kisebb értékre. Ez egy kezdeti kód, amelyet tovább kell fejleszteni és a projekt további fejlesztésére kell használni.

// ELLENŐRZŐ ROBOT // [email protected], [email protected], University of TN at Chattanooga, Electrical Engineering, FALL 2019 // Szükséges anyagok: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 Ulrasonic Sensor, 4) FS90 Servo (ultrahangos érzékelőhöz) // 5 & 6) 2x FOLYAMATOS FORGATÁSI SZOLGÁLTATÁSOK a kerekekhez // 7) 16 mm Márvány a hátsó görgőhöz, 8 és 9) 2 gumiszalag a kerekekhez // 10- 15) 1x (4xAA) elemtartó be/ki kapcsolóval, 16 és 17) 9V -os akkumulátor csatlakozóval Arduino UNO // 3D PRINT: // 18) ROBOT -test, 19 és 20) 2x kerekek, 21) Márványöntő, 22) Ultrahangos érzékelő Szerelés és 6 mm-es csavar (lásd a csatolt fájlokat) // -------------------------------------- -------------------------------------------------- ----------------------------------------- #include // Include Servo Library #include // Newping Library szerepeltetése // ------------------------------------------- -------------------------------------------------- ------------------------------------ #define TRIGGER_PIN 1 2 // US trigger a 12 -es tűhöz az Arduino -n #define ECHO_PIN 13 // US Echo a 13 -as érintkezőre az Arduino -n #define MAX_DISTANCE 250 // Távolság a pingig (max 250) int távolság = 100; // ------------------------------------------------ -------------------------------------------------- ------------------------------- Szervó US_Servo; // Ultrahangos érzékelő szervo szervó balra_szervo; // Bal kerék Servo Servo Jobb_szervo; // Jobb kerék szervó NewPing szonár (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // A csapok és a maximális távolság új beállítása. // ------------------------------------------------ -------------------------------------------------- ------------------------------- void setup () // BEMENET/KIMENET, HOVÁ KELL CSATLAKOZNI, BEÁLLÍTANI A KEZDETI POZÍCIÓT/MOZGÁST {pinMode (12, OUTPUT); // Trigger pin beállítva kimeneti pinMode (13, INPUT); // Echo pin beállítva bemenetként US_Servo.attach (11); // US Servo 11 -es tűre állítva US_Servo.write (90); // A US SERVO ELŐRE VÁR

Bal_szervo.csatolás (9); // A bal kerék szervója a 9 -es csaphoz

Bal_szervo.írás (90); // A LEFT WHEEL SERVO beállítása STOP

Right_Servo.attach (10); // A jobb oldali kerék szervója 10 -es csapra van állítva

Jobb_szervo.írás (90); // RIGHT WHEEL SERVO STOP késleltetésre van állítva (2000); // Várjon 2 másodpercet távolság = readPing (); // Ping távolság lekérése egyenesen előre késleltetett helyzetben (100); // Várjon 100 ms -ig moveForward (); // ROBOT ELŐRE LÉPIK} // ------------------------------------------ -------------------------------------------------- ------------------------------------ void loop () {int distanceRight = 0; // Az USA távolságának kezdeményezése jobbról 0 int distanceLeft = 0; // Amerikai távolság elindítása balra 0 // US_Servo.write(90); // Center US servo // delay (50); // US_Servo.write (70); // Nézz kicsit jobbra // delay (250); // US_Servo.write (110); // Nézzen kissé balra // késleltetés (250); // US_Servo.write (90); // Look Center

if (távolság <= 20) // A robot ELŐRE MOVES {moveStop (); // A robot megáll a távolságnál = távolságLeft) // Döntse el, hogy melyik irányba forduljon {turnRight (); // A jobb oldalon van a legnagyobb távolság, ROBOT FORDUL JOBBRA 0,3 mp késleltetéssel (500); // Ez a késleltetés határozza meg a menet hosszát moveStop (); // Robot LÉPÉSEK} else {turnLeft (); // A bal oldali legnagyobb távolság, ROBOT BALRA FORDUL 0,3 mp késleltetéshez (500); // Ez a késleltetés határozza meg a menet hosszát moveStop (); // Robot LÉPÉSEK}} else {moveForward (); // A robot ELŐRE LÉPIK} távolság = readPing (); // USA ÚJ PING-et olvas az új utazási irányhoz} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // Ultrahangos érzékelő LOOK JOBB FUNKCIÓ {US_Servo.write (30); // Az amerikai szervó jobbra mozog a szög késleltetéshez (500); int távolság = readPing (); // Ping érték beállítása a jobb késleltetéshez (100); US_Servo.write (90); // US servo MOVES TO CENTER visszatérési távolság; // A távolság beállítva} // ------------------------------------------ -------------------------------------------------- ------------------------------------ int lookLeft () // Ultrahangos érzékelő LOOK BAL FUNKCIÓ {US_Servo.írás (150); // US szervó balra mozog a szög késleltetéshez (500); int távolság = readPing (); // ping érték beállítása a bal késleltetéshez (100); US_Servo.write (90); // US servo MOVES TO CENTER visszatérési távolság; // A távolság beállítva} // ------------------------------------------ -------------------------------------------------- ------------------------------------ int readPing () // Olvassa el a Ping funkciót az ultrahangos érzékelőhöz. {késleltetés (100); // 100 ms a pingek között (min ping idő = 0,29 ms) int cm = sonar.ping_cm (); // A PING távolságot összegyűjtjük és cm -ben állítjuk be, ha (cm == 0) {cm = 250; } visszatérés cm; } // ----------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Le_Servo.write (90); // Balszervo 180 előre, 0 hátra Jobb_szervo.írás (90); // RightServo 0 előre, 180 hátra} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Left_Servo.írás (180); // Balszervo 180 előre, 0 hátra Jobb_szervo.írás (0); // RightServo 0 előre, 180 hátra} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Left_Servo.írás (0); // Balszervo 180 előre, 0 hátra Jobb_szervo.írás (180); // RightServo 0 előre, 180 hátra} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight () // ROBOT RIGHT {Balra_szervo.írás (180); // Balszervo 180 előre, 0 hátra Jobb_szervo.írás (90); // RightServo 0 előre, 180 hátra} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft () // ROBOT LEFT {Left_Servo.írás (90); // Balszervo 180 előre, 0 hátra Jobb_szervo.írás (0); // RightServo 0 előre, 180 hátra} // --------------------------------------- -------------------------------------------------- ----------------------------------------

Lépés: Szerelje össze a robotot

Image
Image
Szerelje össze a robotot
Szerelje össze a robotot
Szerelje össze a robotot
Szerelje össze a robotot

Itt az ideje, hogy összerakja a robotját. A lépéseket az alábbiakban soroljuk fel.

1) Rögzítse a kerek szervókorongot és a gumiszalagokat a kerekekhez: Minden szervóhoz műanyag rögzítőelemek és csavarok tartoznak. Keresse meg a kerek tárcsákat, és csavarja be őket a kerekek lapos oldalán található két lyukba. A gumiszalagok a kerék körül illeszkednek, hogy tapadást biztosítsanak. Érdemes hozzáadni egy kis ragasztót, hogy a gumiszalagok a helyükön maradjanak.

2) Márványöntvény rögzítése: Két kis csavarral rögzítse a márványöntvényt a hátsó két háromszöghez. A márvány görgő a hátsó kerék egyszerű helyettesítője, és hátsó forgáspontot biztosít.

3) Helyezze be a szervókat a nyílásokba (nincs szükség csavarokra): Helyezze az FS90 szervót (az ultrahangos érzékelőhöz) a test elülső nyílásába. A két folyamatosan forgó szervó a bal és a jobb nyílásba csúszik. A rések szorosan illeszkednek, így nincs szükség csavarokra a szervók rögzítéséhez. Győződjön meg arról, hogy a szervohuzalok a réseken lévő hornyokon keresztül futnak, úgy, hogy a test hátsó része felé nézzenek.

4) 9 V -os elemek elhelyezése (Választható): Helyezze a 9 V -os akkumulátort és az Arduino tápcsatlakozót az elülső szervó mögé.

5) Ultrahangos érzékelőre szerelhető szerelvény: Két kis csavarral rögzítse az egyik mellékelt fehér műanyag szervocsatlakozót az ultrahangos érzékelő rögzítőlemezének aljához. Ezután használja a 3D nyomtatott 6 mm -es csavart/anyát (vagy cserélje ki egy fém csavart/anyát) az ultrahangos érzékelő tokjának rögzítéséhez. Végül helyezze az érzékelőt a tokba úgy, hogy a csapok felfelé nézzen, és pattintsa be a tok hátulját.

6) 4x AA elemtartó: Helyezze az AA elemtartót a nagy téglalap alakú területre úgy, hogy a ki/be kapcsoló hátrafelé nézzen.

7) Arduino Uno + V5 érzékelőpajzs: Rögzítse az árnyékolást az Arduino -hoz, és helyezze rá az elemtartó feletti tartókra. A tápcsatlakozónak balra kell néznie.

Robotja meg van építve! Mi maradt? Az Arduino programozása és a jumper vezetékek csatlakoztatása: szervók, ultrahangos érzékelő és tápegység.

4. lépés: Csatlakoztassa az érzékelő vezetékeket

Image
Image
Befejezett!!! Csatlakoztassa a 9 V -os Arduino tápegységet, kapcsolja be az akkumulátort, és kezdje el elkerülni az akadályokat az OAREE segítségével
Befejezett!!! Csatlakoztassa a 9 V -os Arduino tápegységet, kapcsolja be az akkumulátort, és kezdje el elkerülni az akadályokat az OAREE segítségével

Csatlakoztassa a szervo vezetékeket a V5 pajzshoz:

  1. A bal oldali folyamatos forgás szervo a 9 -es PIN -kódhoz kapcsolódik
  2. A jobb oldali folyamatos forgás szervo a 10 -es PIN -kódhoz kapcsolódik
  3. Az elülső FS90 Servo a 11 -es PIN -kódhoz csatlakozik

Csatlakoztassa az ultrahangos érzékelőcsapokat (4x hüvelyes -női jumper vezetékeken keresztül) a V5 pajzshoz:

  1. Aktiválja a 12 -es PIN -kódot
  2. Visszhang a 13 -as PIN -kódhoz
  3. VCC a „V” jelzésű csapok bármelyikére
  4. Földelni a „G” jelű csapok bármelyikéhez

Csatlakoztassa az AA elemtartót a V5 pajzshoz:

  1. Csatlakoztassa a pozitív, piros vezetéket a VCC csatlakozóhoz
  2. Csatlakoztassa a negatív, fekete vezetéket a földelő csatlakozóhoz

5. lépés: Kész !!! Csatlakoztassa a 9 V -os Arduino tápegységet, kapcsolja be az akkumulátort, és kezdje el elkerülni az akadályokat az OAREE segítségével

Image
Image
Befejezett!!! Csatlakoztassa a 9 V -os Arduino tápegységet, kapcsolja be az akkumulátort, és kezdje el elkerülni az akadályokat az OAREE segítségével
Befejezett!!! Csatlakoztassa a 9 V -os Arduino tápegységet, kapcsolja be az akkumulátort, és kezdje el elkerülni az akadályokat az OAREE segítségével

Befejezett!

1) Csatlakoztassa a 9 V -os Arduino tápegységet (opcionális)

2) Kapcsolja be az akkumulátort

3) Kezdje el elkerülni az akadályokat az OAREE -val !!!

Biztos vagyok benne, hogy szeretni fogja új barátját, OAREE -t, miután megnézte, hogy akadályt érzékel, hátrál és irányt vált. Az OAREE nagyméretű tárgyakkal működik a legjobban, amelyekről az ultrahangos érzékelő le tudja pingálni (például a falakat). Kis területe és sarkai miatt nehezen pingálja az apró tárgyakat, például a széklábakat. Kérjük, ossza meg, fejlessze tovább, és tudassa velem a szükséges módosításokat vagy hibákat. Ez nagyszerű tanulási élmény volt, és remélem, hogy ugyanolyan szórakoztató lesz a projekt elkészítése, mint én!

Robotika verseny
Robotika verseny
Robotika verseny
Robotika verseny

Második helyezett a robotika versenyen

Ajánlott: