
Tartalomjegyzék:
- Kellékek
- 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ó
- 2. lépés: Programozza be az Arduino programot
- Lépés: Szerelje össze a robotot
- 4. lépés: Csatlakoztassa az érzékelő vezetékeket
- 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
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47




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ó



A 3D nyomtatás 5 részből áll.
- Test
- Kerekek
- Márványöntő
- 6 mm -es csavar/anya (opcionális, fém anya/csavar helyettesíthető)
- 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



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




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



Csatlakoztassa a szervo vezetékeket a V5 pajzshoz:
- A bal oldali folyamatos forgás szervo a 9 -es PIN -kódhoz kapcsolódik
- A jobb oldali folyamatos forgás szervo a 10 -es PIN -kódhoz kapcsolódik
- 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:
- Aktiválja a 12 -es PIN -kódot
- Visszhang a 13 -as PIN -kódhoz
- VCC a „V” jelzésű csapok bármelyikére
- Földelni a „G” jelű csapok bármelyikéhez
Csatlakoztassa az AA elemtartót a V5 pajzshoz:
- Csatlakoztassa a pozitív, piros vezetéket a VCC csatlakozóhoz
- 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



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!


Második helyezett a robotika versenyen
Ajánlott:
Nyomtatás ellenőrzése speciális szoftver vagy nyomtató nélkül MS Excel segítségével (Banki csekknyomtatás): 6 lépés

Ellenőrizze a nyomtatást speciális szoftver vagy nyomtató nélkül MS Excel segítségével (banki csekknyomtatás): Ez egy egyszerű Excel munkafüzet, amely minden vállalkozás számára nagyon hasznos lesz, ha sok banki csekket ír be. csak számítógépre van szüksége, amely MS Excel programmal és normál nyomtatóval rendelkezik. Igen, most már
Otto DIY+ Arduino Bluetooth robot Könnyen 3D nyomtatás: 6 lépés (képekkel)

Otto DIY+ Arduino Bluetooth robot Könnyen 3D nyomtatás: Az Otto valóban nyílt forráskódú természete lehetővé teszi a nyílt STEAM oktatást, visszajelzéseket gyűjtünk a világ különböző műhelyeiből és iskoláiból, amelyek már használják az Otto DIY -t az osztályukban, és az oktatási helyek nyitottságától függően mi vagy
Élő fordított mérnöki WiFi modulok: 8 lépés (képekkel)

Élő fordított mérnöki WiFi modulok: Szeretem újra használni a lehető legtöbb működő komponenst. Bár a WiFi nyomtatók fordított tervezésén dolgozom, ez a módszer sok más eszközön is működik. Kérem; ne csak széthúzza az elavult elektronikát, hanem várja meg a megmentett alkatrészek adatlapjait
Joy Robot (Robô Da Alegria) - Nyílt forráskódú 3D nyomtatás, Arduino Powered Robot!: 18 lépés (képekkel)

Joy Robot (Robô Da Alegria) - nyílt forráskódú 3D nyomtatott, Arduino hajtású robot !: Első díj az Instructables Wheels versenyen, második díj az Instructables Arduino versenyen, és második hely a Design for Kids Challenge versenyen. Köszönjük mindenkinek, aki ránk szavazott !!! A robotok mindenhova eljutnak. Az ipari alkalmazásoktól a
Digitális IC -tesztelő (ipari és mérnöki főiskolák számára), Shubham Kumar, UIET, Panjab Egyetem: 6 lépés (képekkel)

Digitális IC -tesztelő (ipari és mérnöki főiskolák számára), Shubham Kumar, UIET, Panjab Egyetem: A digitális IC -tesztelő bevezetése és működése (CMOS és TTL IC -k esetén): RÖVIDÍTÉS: Az IC -k, minden egyes elektronikus áramkör fő összetevője használható sokféle célra és funkcióra. De néha a hibás IC -k miatt az áramkör nem működik