Obsah:
- Zásoby
- Krok 1: 3D tlač: telo, kolesá, mramorový koliesko, 6 mm skrutka/matica a držiak ultrazvukového senzora
- Krok 2: Naprogramujte Arduino
- Krok 3: Zostavte robota
- Krok 4: Pripojte vodiče snímača
- Krok 5: Hotovo !!! Pripojte 9V zdroj Arduino, zapnite batériu a začnite sa vyhýbať prekážkam s OAREE
Video: OAREE - 3D tlač - Robot vyhýbajúci sa prekážkam pre inžinierske vzdelávanie (OAREE) s Arduino: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
OAREE (robot vyhýbajúci sa prekážkam pre inžinierske vzdelávanie)
Dizajn: Cieľom tohto pokynu bolo navrhnúť robota OAR (Robot vyhýbajúci sa prekážkam), ktorý by bol jednoduchý/kompaktný, 3D tlač, ľahko sa zostavuje, používa na pohyb servá s nepretržitým otáčaním a má čo najmenej zakúpených dielov. Verím, že sa mi podarilo vytvoriť tohto úžasného robota a nazval som ho OAREE (Prekážka vyhýbajúca sa robotu pre inžinierske vzdelávanie). Tento robot vycíti prekážky, zastaví sa, pozrie doľava a doprava, potom sa otočí bez prekážok a pokračuje vpred.
Súvislosti: Internet má množstvo robotov, ktoré sa vyhýbajú prekážkam, ale väčšina z nich je objemná, ťažko zostaviteľná a drahá. Mnoho z týchto robotov má dodaný kód Arduino, ale bolo ťažké nájsť premyslený a fungujúci príklad. Tiež som chcel použiť serva na plynulé otáčanie kolies (namiesto jednosmerných motorov), ktoré ešte neboli urobené. Vydal som sa teda na misiu vyvinúť kompaktného a vynaliezavého robota OAR, ktorý by som mohol zdieľať so svetom.
Ďalší vývoj: Tento robot je možné ďalej vyvíjať kvôli lepšej presnosti pingu, pridaniu infračervených senzorov pre sledovanie čiary, LCD obrazovky na zobrazenie vzdialenosti prekážok a mnohým ďalším.
Zásoby
- 1x Arduino Uno -
- 1x V5 senzorový štít -
- 1x držiak batérie 4xAA s vypínačom -
- 1x servo SG90 -
- Servo 2x nepretržité otáčanie -
- 1x 9V napájací kábel pre batériu pre Arduino (VOLITEĽNÉ) -
- 1x Ultrazvukový senzor HC -SR04 -
- 4x prepojovacie vodiče žena-žena-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2x gumené pásy
- 1x 9V batéria (VOLITEĽNÉ)
- 4x AA batérie
- 4x malé skrutky (4 x 1/2 alebo čokoľvek podobné)
- Skrutkovač Phillips
- Lepidlo na zaistenie gumičiek na kolesách
Krok 1: 3D tlač: telo, kolesá, mramorový koliesko, 6 mm skrutka/matica a držiak ultrazvukového senzora
3D tlač obsahuje 5 častí.
- Telo
- Kolesá
- Mramorový koliesko
- 6 mm skrutka/matica (voliteľné, je možné nahradiť kovovou maticou/skrutkou)
- Držiak ultrazvukového senzora
V tomto návode sú zahrnuté všetky požadované súbory. STL a tiež súbory Sketchup. Odporúča sa 40% výplň.
Krok 2: Naprogramujte Arduino
Poslať kód do Arduino UNO: Pomocou Arduino IDE odošlite kód (v priloženom súbore) do vášho modulu Arduino. Do tohto náčrtu budete musieť stiahnuť a zahrnúť knižnice servo.h a newping.h.
Kód je dôkladne okomentovaný, takže môžete vidieť, čo jednotlivé príkazy robia. V prípade potreby môžete vzdialenosť ultrazvukového senzora jednoducho zmeniť na väčšiu alebo menšiu hodnotu. Toto je počiatočný kód a má sa rozšíriť a použiť na ďalší vývoj projektu.
// PREKÁŽKE VYHÝBAJÚCEJ SA ROBOTOVI // [email protected], [email protected], Univerzita TN v Chattanooga, elektrotechnika, JESEŇ 2019 // Požadované materiály: // 1) Arduiino UNO, 2) štít senzora v5.0, 3) Ultrazvukový senzor HCSR04, 4) Servo FS90 (pre ultrazvukový snímač) // 5 & 6) 2x KONTINUÁLNE ROTAČNÉ SERVISY pre kolesá // 7) 16 mm mramor pre zadné otočné koliesko, 8 a 9) 2 gumové pásy pre kolesá // 10- 15) 1x (4xAA) držiak batérie s vypínačom, 16 a 17) 9V batéria s konektorom na napájanie Arduino UNO // 3D TLAČ: // 18) teleso ROBOT, 19 a 20) 2x kolieska, 21) mramorový koliesko, 22) ultrazvukový senzor Držiak a 6 mm skrutka (pozri priložené súbory) // -------------------------------------- ---------------------------------------------------------- ----------------------------------------- #include // Zahrnúť servo knižnicu #include // Zahrnúť knižnicu Newping // ------------------------------------------- ---------------------------------------------------------- ------------------------------------ #define TRIGGER_PIN 1 2 // US trigger to pin 12 on Arduino #define ECHO_PIN 13 // US Echo to pin 13 on Arduino #define MAX_DISTANCE 250 // Distance to ping (max is 250) int distance = 100; // ------------------------------------------------ ---------------------------------------------------------- ------------------------------- Servo US_Servo; // Servo servo ultrazvukového senzora vľavo_Servo; // Servo na ľavé koleso Servo vpravo_Servo; // Sonar servo kolesa NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Nastavenie pinov NewPing a maximálna vzdialenosť. // ------------------------------------------------ ---------------------------------------------------------- -------- {pinMode (12, VÝSTUP); // Trigger pin set as output pinMode (13, INPUT); // Echo pin nastavený ako vstup US_Servo.attach (11); // US servo nastavené na pin 11 US_Servo.write (90); // US SERVO SA TEŠÍ
Left_Servo.attach (9); // Servo ľavého kolesa na kolík 9
Left_Servo.write (90); // LEVÉ KOLO SERVO nastavené na STOP
Right_Servo.attach (10); // Servo pravého kolesa nastavené na kolík 10
Right_Servo.write (90); // PRAVÉ KOLO SERVO nastavené na oneskorenie STOP (2000); // Počkajte 2 sekundy vzdialenosť = readPing (); // Získať vzdialenosť Ping s oneskorením polohy vpred (100); // Počkajte 100 ms moveForward (); // ROBOT SA POHYBÍ Vpred} // ------------------------------------------ ---------------------------------------------------------- ------------------------------------- prázdna slučka () {int distanceRight = 0; // Začnite americkú vzdialenosť doprava na 0 int vzdialenosťLeft = 0; // Začnite americkú vzdialenosť vľavo na 0 //US_Servo.write(90); // Stredné servo USA // oneskorenie (50); // US_Servo.write (70); // Pozrite sa mierne doprava // oneskorenie (250); // US_Servo.write (110); // Pozrite sa mierne doľava // oneskorenie (250); // US_Servo.write (90); // Look Center
if (vzdialenosť <= 20) // Robot sa POHYBUJE Vpred {moveStop (); // Robot ZASTAVÍ na vzdialenosť = vzdialenosťVľavo) // Rozhodnite sa, ktorým smerom sa otočiť {turnRight (); // Pravá strana má najväčšiu vzdialenosť, ROBOT SA OTOČÍ VPRAVO s oneskorením 0,3 s (500); // Toto oneskorenie určuje dĺžku zákruty moveStop (); // Robot ZASTAVÍ} else {turnLeft (); // Najväčšia vzdialenosť ľavej strany, ROBOT SA OTOČÍ VĽAVO s oneskorením 0,3 s (500); // Toto oneskorenie určuje dĺžku zákruty moveStop (); // Robot ZASTAVÍ}} else {moveForward (); // Robot SE POHYBUJE VPRED} vzdialenosť = readPing (); // US READS NEW PING for the new direction of travel} // ----------------------------------- ---------------------------------------------------------- -------------------------------------------- int lookRight () // Ultrazvukový senzor VYHĽADAJTE SPRÁVNU FUNKCIU {US_Servo.write (30); // US servo SE POSUNE DOPRAVA do uhlového oneskorenia (500); int vzdialenosť = readPing (); // Nastavenie hodnoty ping pre pravé oneskorenie (100); US_Servo.write (90); // servo USA PRESUNE DO CENTRA vzdialenosť návratu; // Vzdialenosť je nastavená} // ------------------------------------------ ---------------------------------------------------------- ------------------------------------- int lookVľavo () // Ultrazvukový senzor VYHĽADAŤ FUNKCIU VĽAVO {US_Servo.písať (150); // Servo USA sa POHYBUJE DOĽAVA na uhol oneskorenia (500); int vzdialenosť = readPing (); // Nastavenie hodnoty ping pre oneskorenie vľavo (100); US_Servo.write (90); // servo USA SA POHYBUJE DO STREDU návratová vzdialenosť; // Vzdialenosť je nastavená} // ------------------------------------------ ---------------------------------------------------------- ------------------------------------- int readPing () // Prečítajte si funkciu ping pre ultrazvukový senzor. {oneskorenie (100); // 100ms medzi pingmi (min. Doba pingu = 0,29ms) int cm = sonar.ping_cm (); // Vzdialenosť PING sa zhromaždí a nastaví v cm, ak (cm == 0) {cm = 250; } vrátiť cm; } // ----------------------------------------------- ---------------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 vpred, 0 vzad Right_Servo.write (90); // RightServo 0 vpred, 180 vzad} // --------------------------------------- ---------------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Left_Servo.písať (180); // LeftServo 180 dopredu, 0 vzad Right_Servo.write (0); // RightServo 0 vpred, 180 vzad} // --------------------------------------- ---------------------------------------------------------- ---------------------------------------- neplatný ťahBackward () // ROBOT BACKWARD {Left_Servo.písať (0); // LeftServo 180 vpred, 0 vzad Right_Servo.write (180); // RightServo 0 vpred, 180 vzad} // --------------------------------------- ---------------------------------------------------------- ---------------------------------------- neplatné turnRight () // ROBOT RIGHT {Left_Servo.písať (180); // LeftServo 180 vpred, 0 vzad Right_Servo.write (90); // RightServo 0 vpred, 180 vzad} // --------------------------------------- ---------------------------------------------------------- ---------------------------------------- neplatné turnLeft () // ROBOT LEFT {Left_Servo.písať (90); // LeftServo 180 dopredu, 0 vzad Right_Servo.write (0); // RightServo 0 vpred, 180 vzad} // --------------------------------------- ---------------------------------------------------------- ----------------------------------------
Krok 3: Zostavte robota
Teraz je čas zostaviť robota. Kroky sú uvedené nižšie.
1) Pripevnite na disky okrúhle servo kotúče a gumené pásy: Všetky serva sú dodávané s plastovým upevňovacím hardvérom a skrutkami. Nájdite okrúhle disky a zaskrutkujte ich do dvoch otvorov na plochej strane kolies. Gumové pásky sa hodia okolo kolesa a zaisťujú priľnavosť. Možno budete chcieť pridať trochu lepidla, aby gumičky zostali na svojom mieste.
2) Upevnenie mramorového kolieska: Pomocou dvoch malých skrutiek pripevnite mramorové koliesko k dvom trojuholníkom vzadu. Mramorové koliesko je jednoduchou náhradou zadného kolesa a poskytuje zadný otočný bod.
3) Vložte serva do otvorov (nie sú potrebné žiadne skrutky): Servo FS90 (pre ultrazvukový snímač) vložte do predného otvoru v tele. Dve serva s nepretržitým otáčaním sa zasúvajú do ľavého a pravého otvoru. Drážky sú navrhnuté tak, aby tesne priliehali, takže na uchytenie serva na mieste nie sú potrebné žiadne skrutky. Uistite sa, že servo vodiče prechádzajú drážkami v štrbinách tak, aby smerovali k zadnej časti tela.
4) Umiestnenie batérie 9V (VOLITEĽNÉ): Za predné servo umiestnite 9V batériu + napájací konektor Arduino.
5) Montáž držiaka ultrazvukového senzora: Pomocou dvoch malých skrutiek pripevnite jedno z priložených bielych plastových servo nadstavcov k spodnej časti montážnej dosky ultrazvukového senzora. Potom pomocou 3D tlačenej 6 mm skrutky/matice (alebo nahraďte kovovú skrutku/maticu) pripevnite puzdro ultrazvukového senzora k montážnej doske. Nakoniec umiestnite snímač do puzdra tak, aby kolíky smerovali nahor a zacvakli ho do zadnej časti puzdra.
6) 4x puzdro na batérie AA: puzdro na batérie AA vložte do veľkej obdĺžnikovej oblasti vypínačom smerom dozadu.
7) Štítok senzora Arduino Uno + V5: Pripojte štít k Arduinu a umiestnite ho na držiaky nad puzdrom na batériu. Napájací konektor by mal smerovať doľava.
Váš robot je postavený! Čo zostalo? Programovanie Arduina a prepojovacích prepojovacích káblov: serva, ultrazvukový senzor a napájanie.
Krok 4: Pripojte vodiče snímača
Pripojte servo vodiče k štítu V5:
- Servo s nepretržitým otáčaním doľava sa pripája k PIN 9
- Servo s nepretržitým otáčaním vpravo sa pripája k PIN 10
- Predné servo FS90 sa pripája k PIN 11
Pripojte kolíky ultrazvukového senzora (pomocou 4 x prepojovacích káblov medzi zásuvkou a zásuvkou) k štítu V5:
- Spustiť na PIN 12
- Echo to PIN 13
- VCC na ktorýkoľvek z kolíkov označených „V“
- Uzemnite ktorýkoľvek z kolíkov označených „G“
Pripojte puzdro na batérie AA k štítu V5:
- Pripojte kladný červený vodič ku konektoru VCC
- Pripojte záporný čierny vodič k uzemneniu
Krok 5: Hotovo !!! Pripojte 9V zdroj Arduino, zapnite batériu a začnite sa vyhýbať prekážkam s OAREE
Hotovo !!
1) Pripojte 9V zdroj Arduino (voliteľné)
2) Zapnite batériu
3) Začnite sa vyhýbať prekážkam s OAREE !!!
Som si istý, že si svojho nového priateľa, OAREE, obľúbite, keď ho uvidíte, ako vycítite prekážku, zacúvate a zmeníte smer. OAREE funguje najlepšie s veľkými predmetmi, z ktorých môže ultrazvukový senzor pingnúť (ako steny). Vzhľadom na malú plochu povrchu a rohy má problémy s pingovaním malých predmetov, ako sú nohy stoličiek. Prosím zdieľajte, rozvíjajte a dajte mi vedieť o všetkých potrebných úpravách alebo chybách. Bola to skvelá vzdelávacia skúsenosť a dúfam, že sa budete pri tvorbe tohto projektu baviť rovnako ako ja!
Druhý v súťaži o robotiku
Odporúča:
Kontrola prístupu k krmivu pre mačky (ESP8266 + servomotor + 3D tlač): 5 krokov (s obrázkami)
Kontrola prístupu k krmivu pre mačky (ESP8266 + servomotor + 3D tlač): Tento projekt prechádza procesom, ktorý som použil na vytvorenie automatizovanej misky na krmivo pre mačky pre moju staršiu diabetickú mačku Chaz. Vidíte, potrebuje si dať raňajky, kým si dá inzulín, ale ja často zabúdam vybrať si jedlo, ktoré si dám pred spaním, ktoré spo
Vzdelávanie v robotike krok za krokom so súpravou: 6 krokov
Vzdelávanie v robotike krok za krokom so súpravou: Po niekoľkých mesiacoch budovania vlastného robota (pozrite si všetky tieto) a potom, čo sa dvakrát pokazili diely, som sa rozhodol urobiť krok späť a premyslieť si svoje stratégia a smer. Niekoľkomesačné skúsenosti boli niekedy veľmi obohacujúce a
3D tlačený robotický pes (robotika a 3D tlač pre začiatočníkov): 5 krokov
3D tlačený robotický pes (robotika a 3D tlač pre začiatočníkov): Robotika a 3D tlač sú nové veci, ale môžeme ich používať! Tento projekt je dobrým začiatočníckym projektom, ak potrebujete nápad na zadanie školy alebo hľadáte zábavný projekt
Modelovanie spline modelovania kvetov v 3DS MAX pre 3D tlač: 7 krokov (s obrázkami)
Modelovanie kvetov kvetov Spline v 3DS MAX pre 3D tlač: V tomto návode sa naučíte tipy, ako vytvoriť ekologicky vyzerajúci kvet v 3DS Max pre 3D tlač, a to ako jedinečný darček na sviatky, ako je Deň matiek alebo Valentín. Požiadavky: Skúška alebo osobná kópia aplikácie Autodesk 3ds Max Niektoré
Vodivé momentky pre 3D tlač s grafénom PLA: 9 krokov (s obrázkami)
Vodivé patentky 3D tlače s Graphene PLA: Tento návod dokumentuje môj prvý pokus o 3D tlač vodivých prichytení na tkaninu. Chcel som vytlačiť 3D ženskú patentku, ktorá by sa spájala s bežnou kovovou západkou. Súbor bol modelovaný vo Fusion360 a vytlačený na zariadení Makerbot Rep2 a Drem