Satura rādītājs:

OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino: 5 soļi (ar attēliem)
OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino: 5 soļi (ar attēliem)

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)

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)
Video: Dreame Bot L10 Pro - robot sprzątający, który "widzi" zabawki, kapcie itp. - High Precision 3D 2024, Jūnijs
Anonim
Image
Image
OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino
OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino
OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino
OAREE - 3D drukāts - šķēršļu novēršanas robots inženieru izglītībai (OAREE) ar Arduino

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āšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
3D drukāšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
3D drukāšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
3D drukāšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
3D drukāšana: virsbūve, riteņi, marmora ritentiņš, 6 mm skrūve/uzgrieznis un ultraskaņas sensora stiprinājums
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.

  1. Ķermenis
  2. Riteņi
  3. Marmora ritentiņš
  4. 6 mm skrūve/uzgrieznis (pēc izvēles, metāla uzgriezni/skrūvi var aizstāt)
  5. 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

Image
Image
Salieciet robotu
Salieciet robotu

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

Image
Image
Salieciet robotu
Salieciet robotu
Salieciet robotu
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

Image
Image
Pabeigts !!! Pievienojiet 9 V Arduino barošanas avotu, ieslēdziet akumulatoru un sāciet izvairīties no šķēršļiem, izmantojot OAREE
Pabeigts !!! Pievienojiet 9 V Arduino barošanas avotu, ieslēdziet akumulatoru un sāciet izvairīties no šķēršļiem, izmantojot OAREE

Pievienojiet servo vadus V5 vairogam:

  1. Kreisās nepārtrauktās rotācijas servo piestiprina pie PIN 9
  2. Labās nepārtrauktās rotācijas servo piestiprina pie PIN 10
  3. 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:

  1. Aktivizēt PIN 12
  2. Atbalstiet PIN 13
  3. VCC jebkurai tapai, kas apzīmēta ar “V”
  4. Zemējums līdz jebkurai tapai, kas apzīmēta ar “G”

Pievienojiet AA bateriju korpusu V5 vairogam:

  1. Pievienojiet pozitīvo sarkano vadu VCC savienotājam
  2. 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

Image
Image
Pabeigts !!! Pievienojiet 9 V Arduino barošanas avotu, ieslēdziet akumulatoru un sāciet izvairīties no šķēršļiem, izmantojot OAREE
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!

Robotikas konkurss
Robotikas konkurss
Robotikas konkurss
Robotikas konkurss

Otrā vieta robotikas konkursā

Ieteicams: