Satura rādītājs:
- Piegādes
- 1. darbība: 3D drukāšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
- 2. solis: ieprogrammējiet Arduino
- 3. darbība: salieciet robotu
- 4. solis: pievienojiet sensora vadus
- 5. solis: pabeigts !!! Pievienojiet 9 V Arduino barošanas avotu, ieslēdziet akumulatoru un sāciet izvairīties no šķēršļiem, izmantojot OAREE
Video: OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
OAREE (šķēršļu novēršanas robots inženierzinātņu izglītībai)
Dizains: Šīs pamācības mērķis bija izveidot OAR (šķēršļu novēršanas robotu) robotu, kas būtu vienkāršs/kompakts, 3D izdrukājams, viegli saliekams, kustībai izmantotu nepārtrauktas rotācijas servo un kurā būtu pēc iespējas mazāk iegādāto detaļu. Es uzskatu, ka man ir izdevies izveidot šo satriecošo robotu un esmu to nosaucis par OAREE (šķēršļu novēršanas robots inženierzinātņu izglītībai). Šis robots uztvers šķēršļus, apstāsies, paskatīsies pa kreisi un pa labi, tad pagriezīsies netraucētā virzienā un turpinās uz priekšu.
Priekšvēsture: internetam ir daudz šķēršļu, lai izvairītos no robotiem, taču lielākā daļa ir apjomīgi, grūti saliekami un dārgi. Daudziem no šiem robotiem ir piegādāts Arduino kods, taču bija grūti atrast labi pārdomātu, strādājošu piemēru. Es arī vēlējos riteņiem izmantot nepārtrauktas rotācijas servos (līdzstrāvas motoru vietā), kas vēl nebija izdarīts. Tāpēc es sāku misiju, lai izstrādātu kompaktu, izgudrojošu OAR robotu, ar kuru dalīties ar pasauli.
Turpmākā attīstība: šo robotu var tālāk attīstīt, lai panāktu labāku pingēšanas precizitāti, pievienojot IR sensorus līniju sekošanas iespējām, LCD ekrānu, lai parādītu šķēršļu attālumu, un daudz ko citu.
Piegādes
- 1x Arduino Uno -
- 1x V5 sensora vairogs -
- 1x 4xAA bateriju turētājs ar ieslēgšanas/izslēgšanas slēdzi -
- 1x SG90 servo -
- 2x nepārtrauktas rotācijas servos -
- 1x 9V akumulatora strāvas kabelis Arduino (pēc izvēles) -
- 1x HC -SR04 ultraskaņas sensors -
- 4x sieviešu un sieviešu džemperu vadi-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2x gumijas lentes
- 1x 9V akumulators (pēc izvēles)
- 4x AA baterijas
- 4x mazas skrūves (4 x 1/2 vai kaut kas līdzīgs)
- Phillips skrūvgriezis
- Līme gumijas lentu nostiprināšanai pie riteņiem
1. darbība: 3D drukāšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
3D drukāšanai ir 5 daļas.
- Ķermenis
- Riteņi
- Marmora ritentiņš
- 6 mm skrūve/uzgrieznis (pēc izvēles, metāla uzgriezni/skrūvi var aizstāt)
- Ultraskaņas sensora stiprinājums
Šajā instrukcijā ir iekļauti visi nepieciešamie. STL faili, kā arī Sketchup faili. Ieteicams uzpildīt 40%.
2. solis: ieprogrammējiet Arduino
Sūtīt kodu uz Arduino UNO: izmantojot Arduino IDE, nosūtiet kodu (pievienotajā failā) savam Arduino modulim. Šajā skicē jums būs jālejupielādē un jāiekļauj bibliotēkas servo.h un newping.h.
Kods ir rūpīgi komentēts, lai jūs varētu redzēt, ko katra komanda dara. Ja vēlaties, varat viegli mainīt ultraskaņas sensora attālumu uz lielāku vai mazāku vērtību. Šis ir sākotnējais kods, un to paredzēts paplašināt un izmantot projekta turpmākai izstrādei.
// OBLIGĀCIJAS NOVĒRT ROBOTU // [email protected], [email protected], TN Universitāte Čatanūgā, Elektrotehnika, FALL 2019 // Nepieciešamie materiāli: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 Ulraskaņas sensors, 4) FS90 servo (ultraskaņas sensoram) // 5 un 6) 2x NEPĀRTRAUKTA ROTĀCIJAS SERVOS riteņiem // 7) 16 mm Marmors riteņu aizmugurē, 8 un 9) 2 gumijas lentes riteņiem // 10- 15) 1x (4xAA) akumulatora turētājs ar ieslēgšanas/izslēgšanas slēdzi, 16 un 17) 9V akumulators ar savienotāju barošanai Arduino UNO // 3D PRINT: // 18) ROBOT korpuss, 19 un 20) 2x riteņi, 21) marmora ritentiņš, 22) ultraskaņas sensors Stiprinājums un 6 mm skrūve (skat. Pievienotos failus) // -------------------------------------- -------------------------------------------------- ---------------------------------------- #include // Iekļaut servo bibliotēku #include // Iekļaut Newping bibliotēku // ------------------------------------------- -------------------------------------------------- ------------------------------------ #definējiet TRIGGER_PIN 1 2 // ASV sprūda līdz 12. taustiņam Arduino #define ECHO_PIN 13 // ASV atbalss līdz 13. tapai Arduino #define MAX_DISTANCE 250 // Attālums līdz ping (maks. Ir 250) int distance = 100; // ------------------------------------------------ -------------------------------------------------- ------------------------------- Servo US_Servo; // Ultraskaņas sensora servo servo pa kreisi_Servo; // Kreisā riteņa servo servo Right_Servo; // Labā riteņa servo NewPing hidrolokators (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing tapas un maksimālais attālums. // ------------------------------------------------ -------------------------------------------------- ------------------------------- anulēts iestatījums () // IEVADE/IZVADES, KUR PIEVIENOT, SET SĀKOTNĒJĀ POZĪCIJA/KUSTĪBA {pinMode (12, OUTPUT); // Trigger pin iestatīts kā izejas pinMode (13, INPUT); // Atbalss tapas iestatītas kā ievade US_Servo.attach (11); // US Servo iestatīts uz pin 11 US_Servo.write (90); // ASV SERVO GAIDA UZ PRIEKŠU
Kreisais_Servo.attach (9); // Kreisā riteņa servo līdz 9. tapai
Pa kreisi_Servo.rakstīt (90); // LEFT WHEEL SERVO ir iestatīts uz STOP
Right_Servo.attach (10); // Labā riteņa servo iestatīts uz 10. tapu
Right_Servo.write (90); // RIGHT WHEEL SERVO iestatīts uz STOP delay (2000); // Pagaidiet 2 sekundes distance = readPing (); // Get Ping Distance ar taisni uz priekšu novietotas pozīcijas aizkavi (100); // Pagaidiet 100 ms moveForward (); // Robots pārvietojas uz priekšu} // ------------------------------------------ -------------------------------------------------- ------------------------------------ void loop () {int distanceRight = 0; // Uzsākt ASV attālumu pa labi 0 int distanceLeft = 0; // Uzsākt ASV attālumu pa kreisi 0 //US_Servo.write(90); // Centrs ASV servo // kavēšanās (50); // US_Servo.write (70); // Paskaties nedaudz pa labi // kavēšanās (250); // US_Servo.write (110); // Paskaties nedaudz pa kreisi // kavēšanās (250); // US_Servo.write (90); // Izskata centrs
ja (attālums <= 20) // Robots tiek PĀRVIETOTS UZ PRIEKŠU {moveStop (); // Robots apstājas attālumā = distanceLeft) // Izlemiet, kurā virzienā pagriezties {turnRight (); // Labajā pusē ir vislielākais attālums, ROBOTS PĀRVERIES PA LABI par 0,3 s kavēšanos (500); // Šī aizkave nosaka pagrieziena garumu moveStop (); // Robota STOPI} else {turnLeft (); // Lielākais attālums kreisajā pusē, ROBOTS KREISI KREISI par 0,3 s kavēšanos (500); // Šī aizkave nosaka pagrieziena garumu moveStop (); // Robota STOPI}} else {moveForward (); // Robots pārvietojas uz priekšu} distance = readPing (); // ASV LASA JAUNU PINGU jaunajam braukšanas virzienam} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // Ultraskaņas sensors LOOK RIGHT FUNCTION {US_Servo.write (30); // ASV servo PĀRVIETO TIEŠI uz leņķa aizkavi (500); int distance = readPing (); // Iestatiet ping vērtību labajai aizkavei (100); US_Servo.write (90); // ASV servo MOVES TO CENTER atgriešanās attālums; // Attālums ir iestatīts} // ------------------------------------------ -------------------------------------------------- ------------------------------------ int lookLeft () // Ultraskaņas sensors LOOK LEFT FUNCTION {US_Servo.rakstīt (150); // ASV servopārvietojas pa kreisi uz leņķa aizkavi (500); int distance = readPing (); // Iestatiet ping vērtību kreisajai aizturei (100); US_Servo.write (90); // ASV servo MOVES TO CENTER atgriešanās attālums; // Attālums ir iestatīts} // ------------------------------------------ -------------------------------------------------- ------------------------------------ int readPing () // Lasīt Ping funkciju ultraskaņas sensoram. {kavēšanās (100); // 100 ms starp pingiem (min ping laiks = 0,29 ms) int cm = sonar.ping_cm (); // PING attālums tiek savākts un iestatīts cm, ja (cm == 0) {cm = 250; } atgriezties cm; } // ----------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 uz priekšu, 0 reverss Right_Servo.write (90); // RightServo 0 uz priekšu, 180 atpakaļ} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Left_Servo.rakstīt (180); // LeftServo 180 uz priekšu, 0 reverss Right_Servo.write (0); // RightServo 0 uz priekšu, 180 atpakaļ} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Left_Servo. rakstīt (0); // LeftServo 180 uz priekšu, 0 reverss Right_Servo.write (180); // RightServo 0 uz priekšu, 180 atpakaļ} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight () // ROBOT RIGHT {Left_Servo.rakstīt (180); // LeftServo 180 uz priekšu, 0 reverss Right_Servo.write (90); // RightServo 0 uz priekšu, 180 atpakaļ} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft () // ROBOT LEFT {Left_Servo.rakstīt (90); // LeftServo 180 uz priekšu, 0 reverss Right_Servo.write (0); // RightServo 0 uz priekšu, 180 atpakaļ} // --------------------------------------- -------------------------------------------------- ----------------------------------------
3. darbība: salieciet robotu
Tagad ir pienācis laiks savākt robotu. Tālāk ir norādītas darbības.
1) Pievienojiet riteņiem apaļus servo diskus un gumijas lentes: Visiem servo komplektiem ir plastmasas stiprinājumi un skrūves. Atrodiet apaļos diskus un ieskrūvējiet tos divos caurumos riteņu plakanajā pusē. Gumijas lentes iederas ap riteni, lai nodrošinātu saķeri. Iespējams, vēlēsities pievienot nedaudz līmes, lai gumijas lentes būtu vietā.
2) Marmora ritentiņa stiprinājums: izmantojiet divas mazas skrūves, lai marmora ritentiņu piestiprinātu pie diviem trijstūriem aizmugurē. Marmora ritentiņš ir vienkāršs aizmugurējā riteņa aizstājējs un nodrošina aizmugurējo pagrieziena punktu.
3) Ievietojiet servos spraugas (nav nepieciešamas skrūves): ievietojiet FS90 servo (ultraskaņas sensoram) korpusa priekšējā slotā. Divi nepārtrauktas rotācijas servoslēdži iebīdās pa kreisi un pa labi. Sloti ir paredzēti cieši pieguļošam, tāpēc nav vajadzīgas skrūves, lai servos noturētos. Pārliecinieties, ka servo vadi iet caur rievām spraugās tā, lai tie būtu vērsti pret korpusa aizmuguri.
4) 9V akumulatora ievietošana (pēc izvēles): novietojiet 9V akumulatoru + Arduino strāvas savienotāju aiz priekšējā servo.
5) Ultraskaņas sensora stiprinājuma komplekts: izmantojiet divas mazas skrūves, lai piestiprinātu vienu no komplektā iekļautajiem baltajiem plastmasas servo stiprinājumiem ultraskaņas sensora stiprinājuma plāksnes apakšā. Pēc tam izmantojiet 3D drukāto 6 mm skrūvi/uzgriezni (vai nomainiet metāla skrūvi/uzgriezni), lai piestiprinātu ultraskaņas sensora korpusu pie stiprinājuma plāksnes. Visbeidzot, novietojiet sensoru korpusā ar tapām uz augšu un nofiksējiet korpusa aizmugurē.
6) 4x AA bateriju korpuss: ievietojiet AA bateriju korpusu lielajā taisnstūrveida zonā ar ieslēgšanas/izslēgšanas slēdzi uz aizmuguri.
7) Arduino Uno + V5 sensora vairogs: piestipriniet vairogu pie Arduino un novietojiet uz stiprinājumiem virs akumulatora korpusa. Strāvas savienotājam jābūt vērstam pa kreisi.
Jūsu robots ir uzbūvēts! Kas paliek? Arduino programmēšana un savienojuma vadu savienošana: servo, ultraskaņas sensors un barošanas avots.
4. solis: pievienojiet sensora vadus
Pievienojiet servo vadus V5 vairogam:
- Kreisās nepārtrauktās rotācijas servo piestiprina pie PIN 9
- Labās nepārtrauktās rotācijas servo piestiprina pie PIN 10
- Priekšējais FS90 Servo tiek piestiprināts pie PIN 11
Savienojiet ultraskaņas sensora tapas (izmantojot 4x sieviešu un sieviešu džemperu vadus) ar V5 vairogu:
- Aktivizēt PIN 12
- Atbalstiet PIN 13
- VCC jebkurai tapai, kas apzīmēta ar “V”
- Zemējums līdz jebkurai tapai, kas apzīmēta ar “G”
Pievienojiet AA bateriju korpusu V5 vairogam:
- Pievienojiet pozitīvo sarkano vadu VCC savienotājam
- Pievienojiet negatīvo, melno vadu zemējuma savienojumam
5. solis: pabeigts !!! Pievienojiet 9 V Arduino barošanas avotu, ieslēdziet akumulatoru un sāciet izvairīties no šķēršļiem, izmantojot OAREE
Pabeigts !
1) Pievienojiet 9 V Arduino barošanas avotu (pēc izvēles)
2) Ieslēdziet akumulatoru
3) Sāc izvairīties no šķēršļiem ar OAREE !!!
Esmu pārliecināts, ka jums patiks jaunais draugs OAREE pēc tam, kad būsiet noskatījies, kā tas uztver šķērsli, atkāpjas un mainīs virzienu. OAREE vislabāk darbojas ar lieliem priekšmetiem, no kuriem ultraskaņas sensors var norauties (piemēram, sienām). Tam ir grūti saspiest mazus priekšmetus, piemēram, krēslu kājas, to mazās virsmas un stūru dēļ. Lūdzu, kopīgojiet, attīstiet tālāk un dariet man zināmus visus nepieciešamos pielāgojumus vai kļūdas. Šī ir bijusi lieliska mācīšanās pieredze, un es ceru, ka jums ir tikpat jautri veidot šo projektu kā man!
Otrā vieta robotikas konkursā
Ieteicams:
Vienkāršs 3D drukāts robots: 11 soļi (ar attēliem)
Vienkāršs 3D drukāts robots: ļaujiet man satikties. Es uzaugu ar erektora komplektiem un pēc tam LEGO. Vēlāk dzīvē es izmantoju 8020, lai izveidotu manis izstrādātu sistēmu prototipus. Ap māju parasti bija metāllūžņi, kurus mani bērni izmantoja kā erektora komplekta versiju
3D drukāts Arduino darbināms četrkājains robots: 13 soļi (ar attēliem)
3D drukāts Arduino darbināms četrkājains robots: no iepriekšējiem norādījumiem jūs droši vien redzat, ka mani ļoti interesē robotu projekti. Pēc iepriekšējā Instructable, kurā es uzbūvēju divkājainu robotu, es nolēmu izmēģināt un izveidot četrkājainu robotu, kas varētu atdarināt tādus dzīvniekus kā suns
Tito - Arduino UNO 3D drukāts robots: 7 soļi (ar attēliem)
Tito - Arduino UNO 3D drukāts robots: Tito ir divkājains dejojošs DIY robots, atvasinājums no Zowi un Bob, būtībā ir pielāgots standarta Arduino UNO plāksnei ar vienkāršākiem savienojumiem un balstiem. Tā bija pirmā iterācija Otto DIY (www.ottodiy.com)
Inženieru draugs Bluetooth Kbd un pele: 3 soļi
Inženieru draugs Bluetooth Kbd un pele: Engineers Buddy USB tastatūras un peles emulatora modulis. Šī parocīgā mazā ierīce ar zilo zobu savienojumu padara jūsu Android tālruni/planšetdatoru par bezvadu tālvadības pulti jebkuram datoram. Tas ļauj jūsu Android ierīcei kontrolēt visu HID comp
Joy Robot (Robô Da Alegria) - atvērtā koda 3D drukāts, Arduino darbināms robots!: 18 soļi (ar attēliem)
Joy Robot (Robô Da Alegria) - atvērtā koda 3D drukāts, ar Arduino darbināms robots !: Pirmā balva konkursā Instructables Wheels, otrā balva Instructables Arduino konkursā un otrā vieta Design for Kids Challenge. Paldies visiem, kas balsoja par mums !!! Roboti visur nokļūst. No rūpnieciskiem lietojumiem līdz