Sisukord:
- Tarvikud
- Samm: 3D printimine: kere, rattad, marmorist ratas, 6 mm polt/mutter ja ultraheli anduri kinnitus
- Samm: programmeerige Arduino
- Samm: pange robot kokku
- Samm: kinnitage anduri juhtmed
- Samm: lõpetatud !!! Ühendage 9 V Arduino toiteallikas, lülitage aku sisse ja hakake OAREE -ga takistusi vältima
Video: OAREE - 3D -trükitud - takistuste vältimise robot insenerihariduse jaoks (OAREE) Arduinoga: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
OAREE (insenerihariduse takistuste vältimise robot)
Disain: Selle juhendi eesmärk oli kujundada OAR (takistuste vältimise robot) robot, mis oleks lihtne/kompaktne, 3D -printitav, hõlpsasti kokkupandav, kasutaks liikumiseks pideva pöörlemise servosid ja millel oleks võimalikult vähe ostetud osi. Usun, et mul on õnnestunud see vinge robot luua ja panin sellele nimeks OAREE (takistuste vältimise robot insenerihariduse jaoks). See robot tajub takistusi, peatub, vaatab vasakule ja paremale, seejärel keerab takistusteta suunas ja jätkab edasi.
Taust: Internetil on palju takistusi robotite vältimiseks, kuid enamik neist on mahukad, raskesti kokkupandavad ja kallid. Paljud neist robotitest on varustatud Arduino koodiga, kuid hästi läbimõeldud ja toimiva näite leidmine oli keeruline. Tahtsin rataste jaoks kasutada ka pideva pöörlemise servosid (alalisvoolumootorite asemel), mida polnud veel tehtud. Niisiis, ma asusin missioonile töötada välja kompaktne, leidlik OAR -robot, mida maailmaga jagada.
Edasine arendus: seda robotit saab edasi arendada, et parandada pingutamise täpsust, lisada IR -andureid joone jälgimiseks, LCD -ekraani takistuste kauguse kuvamiseks ja palju muud.
Tarvikud
- 1x Arduino Uno -
- 1x V5 andurikilp -
- 1x 4xAA patareipesa koos sisse/välja lülitiga -
- 1x SG90 servo -
- 2x pideva pöörlemise servod -
- 1x 9V patarei toitekaabel Arduino jaoks (valikuline) -
- 1x HC -SR04 ultraheliandur -
- 4x naissoost jumper juhtmed-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2x kummipaelad
- 1x 9V aku (valikuline)
- 4x AA patareid
- 4x väikesed kruvid (4 x 1/2 või midagi sarnast)
- Phillipsi kruvikeeraja
- Liim kummipaelte rataste kinnitamiseks
Samm: 3D printimine: kere, rattad, marmorist ratas, 6 mm polt/mutter ja ultraheli anduri kinnitus
3D -printimiseks on 5 osa.
- Keha
- Rattad
- Marmorist ratas
- 6 mm polt/mutter (valikuline, metallist mutrit/polti saab asendada)
- Ultraheli anduri kinnitus
Kõik nõutavad. STL -failid on kaasatud nii juhendisse kui ka Sketchup -failidesse. Soovitatav 40% täitmine.
Samm: programmeerige Arduino
Koodi saatmine Arduino UNO -le: Arduino IDE abil saatke kood (lisatud failis) oma Arduino moodulile. Selle visandiga peate alla laadima ja lisama raamatukogud servo.h ja newping.h.
Kood on põhjalikult kommenteeritud, nii et näete, mida iga käsk teeb. Soovi korral saate hõlpsalt muuta ultrahelianduri kaugust suuremaks või väiksemaks. See on esialgne kood ja seda tuleb laiendada ning kasutada projekti edasiseks arendamiseks.
// TAKISTUSTE VÄLTIMINE ROBOT // [email protected], [email protected], TN ülikool Chattanoogas, elektrotehnika, FALL 2019 // Nõutavad materjalid: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 Ulrasonic Sensor, 4) FS90 Servo (ultrahelianduri jaoks) // 5 & 6) 2x PIDEVAD PÕRETUSSERVOd ratastele // 7) 16mm Marmor rataste tagumise telje jaoks, 8 ja 9) 2 kummipaela ratastele // 10- 15) 1x (4xAA) akupesa koos sisse- ja väljalülitiga, 16 ja 17) 9V aku koos pistikuga toiteallikaks Arduino UNO // 3D PRINT: // 18) ROBOTI korpus, 19 ja 20) 2x rattad, 21) marmorist ratas, 22) ultraheliandur Paigaldus ja 6 mm kruvi (vt lisatud faile) // -------------------------------------- -------------------------------------------------- ---------------------------------------- #include // Include Servo Library #include // Kaasa Newpingi kogu // ------------------------------------------- -------------------------------------------------- ------------------------------------ #määratlege TRIGGER_PIN 1 2 // USA päästik Arduino nööpnõelale 12 #define ECHO_PIN 13 // USA kaja Arduino nööpnõelale 13 #MAX_DISTANCE 250 // Kaugus pingini (max on 250) int distance = 100; // ------------------------------------------------ -------------------------------------------------- ------------------------------- Servo US_Servo; // Ultraheli anduri servo servo Vasak_Servo; // Vasaku ratta servoservo Parem_Servo; // Parema ratta servo NewPingi sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Nööpnõelte ja maksimaalse kauguse uus seadistamine. // ------------------------------------------------ -------------------------------------------------- ------------------------------- tühine seadistus () // SISEND/VÄLJUNDID, KUIDAS KINNITADA, SEADA ALGASEND/LIIKUMINE {pinMode (12, VÄLJUND); // Päästiku nööpnõel on seatud väljundi pinMode (13, INPUT); // Sisendiks sisestatud kajapulk US_Servo.attach (11); // US Servo seati pin 11 US_Servo.write (90); // USA SERVO OOTAB EDASI
Vasak_Servo.kinnitus (9); // Vasaku ratta servo tihvti 9 juurde
Left_Servo.write (90); // VASAKU RATTA SERVO on seatud STOP
Right_Servo.attach (10); // Parema ratta servo on seatud tihvtile 10
Right_Servo.write (90); // PAREMA RATTA SERVO on seatud STOP viivitusele (2000); // Oodake 2 sekundit vahemaa = readPing (); // Ping -kauguse hankimine otse edasi -tagasi viivitusega (100); // Oodake 100 ms moveForward (); // ROBOT liigub edasi} // ------------------------------------------ -------------------------------------------------- ------------------------------------ void loop () {int distanceRight = 0; // Alusta USA kaugust paremale 0 int distanceLeft = 0; // Alusta USA kaugust vasakule kell 0 //US_Servo.write(90); // USA kesk servo // viivitus (50); // US_Servo.write (70); // Vaata veidi paremale // delay (250); // US_Servo.write (110); // Vaata veidi vasakule // viivitus (250); // US_Servo.write (90); // Look Center
if (kaugus <= 20) // Robot liigub edasi {moveStop (); // Robot peatub kaugusel = distanceLeft) // Otsustage, mis suunas pöörata {turnRight (); // Paremal küljel on suurim vahemaa, ROBOT pöörab paremale 0,3 s viivitusega (500); // See viivitus määrab pöörde pikkuse moveStop (); // Robotipeatused} else {turnLeft (); // Vasakpoolne suurim vahemaa, ROBOT PÖÖRAB VASAKUL 0,3s viivitusega (500); // See viivitus määrab pöörde pikkuse moveStop (); // Robotipeatused}} else {moveForward (); // Robot liigub edasi} distants = readPing (); // USA LOE UUT PINGI uue sõidusuuna jaoks} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // Ultraheliandur VAATA PAREMAT FUNKTSIOONI {US_Servo.write (30); // USA servo liigub nurga viivitusele paremale (500); int kaugus = readPing (); // Pingi väärtuse määramine õigele viivitusele (100); US_Servo.write (90); // USA servo liigub tagasituleku kaugusele CENTRE; // Kaugus on määratud} // ------------------------------------------ -------------------------------------------------- ------------------------------------ int lookLeft () // Ultraheliandur LOOK LEFT FUNCTION {US_Servo.kirjutage (150); // USA servo liigub vasakule nurga viivitusele (500); int kaugus = readPing (); // Määra pingväärtus vasakule viivitusele (100); US_Servo.write (90); // USA servo LIIKUB KESKUSE tagasituleku kaugusele; // Kaugus on määratud} // ------------------------------------------ -------------------------------------------------- ------------------------------------ int readPing () // Ultraheli anduri Ping-funktsiooni lugemine. {viivitus (100); // 100 ms pingide vahel (min pingiaeg = 0,29 ms) int cm = sonar.ping_cm (); // PING -kaugus kogutakse ja määratakse sentimeetrites, kui (cm == 0) {cm = 250; } tagasitulek cm; } // ------------------------------------------------ -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 edasi, 0 tagurpidi Right_Servo.write (90); // RightServo 0 edasi, 180 tagasi} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Left_Servo.kirjutage (180); // LeftServo 180 edasi, 0 tagurpidi Right_Servo.write (0); // RightServo 0 edasi, 180 tagasi} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Left_Servo.kirjutage (0); // LeftServo 180 edasi, 0 tagurpidi Right_Servo.write (180); // RightServo 0 edasi, 180 tagasi} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight () // ROBOT RIGHT {Left_Servo.kirjutage (180); // LeftServo 180 edasi, 0 tagurpidi Right_Servo.write (90); // RightServo 0 edasi, 180 tagasi} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft () // ROBOT LEFT {Left_Servo.kirjutage (90); // LeftServo 180 edasi, 0 tagurpidi Right_Servo.write (0); // RightServo 0 edasi, 180 tagasi} // --------------------------------------- -------------------------------------------------- ----------------------------------------
Samm: pange robot kokku
Nüüd on aeg oma robot kokku panna. Sammud on loetletud allpool.
1) Kinnitage ümmargused servokettad ja kummiribad ratastele: kõik servod on varustatud plastikust kinnitusdetailide ja kruvidega. Leidke ümarad kettad ja keerake need rataste tasasel küljel asuvasse kahte auku. Kummipaelad sobivad haardumiseks ratta ümber. Kummiribade paigal hoidmiseks võiksite lisada veidi liimi.
2) Marmorratta kinnitus: kasutage kahte väikest kruvi, et kinnitada marmorist ratas kahe tagaküljel asuva kolmnurga külge. Marmorist ratas on tagaratta lihtne asendaja ja tagab tagumise pöördepunkti.
3) Sisestage servod piludesse (kruvisid pole vaja): asetage FS90 servo (ultrahelianduri jaoks) kere esipessa. Kaks pideva pöörlemise servot libisevad vasakule ja paremale pilule. Pilud on ette nähtud tihedaks kinnitamiseks, nii et servode paigal hoidmiseks pole vaja kruvisid. Veenduge, et servojuhtmed jooksevad läbi pilude soonte nii, et need on suunatud keha tagaosa poole.
4) Aku paigutus 9 V (valikuline): asetage 9 V aku + Arduino toitepistik esiserva taha.
5) Ultrahelianduri kinnituskomplekt: kinnitage kahe väikese kruviga üks kaasasolevatest valgetest plastikust servokinnitustest ultrahelianduri kinnitusplaadi põhja. Järgmisena kasutage 3D -trükitud 6 mm poldi/mutrit (või asendage metallpolt/mutter), et kinnitada ultrahelianduri ümbris kinnitusplaadile. Lõpuks asetage andur korpusesse nii, et tihvtid oleksid ülespoole ja klõpsataks korpuse tagaküljele.
6) 4x AA patareikott: asetage AA patareikott suurde ristkülikukujulisse piirkonda, sisse/välja lüliti tahapoole.
7) Arduino Uno + V5 andurikilp: kinnitage kilp Arduino külge ja asetage aku ümbrise kohale. Toitepistik peaks jääma vasakule.
Teie robot on ehitatud! Mis on järgi? Arduino programmeerimine ja ühendusjuhtmete ühendamine: servod, ultraheliandur ja toiteallikas.
Samm: kinnitage anduri juhtmed
Ühendage servotraadid V5 Shieldiga:
- Vasakpoolne pideva pöörlemise servo kinnitatakse PIN -koodile 9
- Parema pideva pöörlemise servo kinnitatakse PIN -koodile 10
- Esikülg FS90 Servo kinnitatakse PIN -koodi 11 külge
Ühendage ultrahelianduri tihvtid (4x naissoost naissoost hüppajajuhtmete kaudu) V5 kilbiga:
- Käivitage PIN -kood 12
- Kaja PIN -ile 13
- VCC mis tahes tihvtidele, mis on tähistatud tähega „V”
- Maandage mis tahes tihvtidele, mis on tähistatud tähega "G"
Ühendage AA patareikarp V5 kilbiga:
- Kinnitage positiivne punane juhe VCC pistiku külge
- Kinnitage negatiivne, must juhe maandusühendusele
Samm: lõpetatud !!! Ühendage 9 V Arduino toiteallikas, lülitage aku sisse ja hakake OAREE -ga takistusi vältima
Valmis !
1) Ühendage 9 V Arduino toiteallikas (valikuline)
2) Lülitage aku sisse
3) Alusta OAREE -ga takistuste vältimist !!!
Olen kindel, et hakkate oma uut sõpra OAREE kiinduma pärast seda, kui olete vaadanud, kuidas see takistust tunneb, varundab ja suunda muudab. OAREE töötab kõige paremini suurte esemetega, millelt ultraheliandur suudab pingutada (nt seinad). Väikeste esemete, nagu tooli jalad, pingutamine on nende väikese pindala ja nurkade tõttu raske. Palun jagage, arendage edasi ja andke mulle teada kõigist vajalikest kohandustest või vigadest. See on olnud suurepärane õppimiskogemus ja loodan, et teil on selle projekti tegemine sama lõbus kui minul!
Robootikavõistluse teine koht
Soovitan:
Kuidas teha täpne õhuvoolu andur Arduinoga alla 20 naelsterlingi COVID-19 ventilaatori jaoks: 7 sammu
Kuidas teha Arduinoga täpne õhuvoolu andur alla 20 naela suuruse COVID-19 ventilaatori jaoks: selle ava vooluanduri viimase disaini jaoks vaadake seda aruannet: https://drive.google.com/file/d/1TB7rhnxQ6q6C1cNb. ..See juhend juhendab, kuidas ehitada õhuvoolu andurit, kasutades odavat rõhuerinevuse andurit ja hõlpsasti
DIY LED-fotomeeter Arduinoga füüsika või keemia õppetundide jaoks: 5 sammu (piltidega)
DIY LED-fotomeeter koos Arduinoga füüsika või keemia õppetundide jaoks: Tere! Vedelikud või muud esemed tunduvad värvilised, kuna need peegeldavad või edastavad teatud värve ja omakorda neelavad (neelavad) teisi. Niinimetatud fotomeetri abil saab määrata need värvid (lainepikkused), mida vedelikud neelavad. Põhiprintsiip
Kasutage 1 analoogsisendit 6 nupu jaoks Arduino jaoks: 6 sammu
Kasutage Arduino jaoks kuue nupu jaoks ühte analoogsisendit: olen sageli mõelnud, kuidas saaksin oma Arduino jaoks rohkem digitaalseid sisendeid. Hiljuti tuli mulle pähe, et peaksin saama kasutada ühte analoogsisendit mitme digitaalse sisendi toomiseks. Otsisin kiiresti ja leidsin, kus inimesed asuvad
Urdraalse vältimise robot Arduino abil: 7 sammu
Utratooniline vältimisrobot Arduino abil: selles õpetuses näitan teile, kuidas teha oma takistusi, vältides robotit! Kasutame Arduino UNO plaati ja ultraheliandurit. Kui robot tuvastab väikese servomootori abil objekti enda ees, skaneerib see ala, mis on jäänud
Oranž PI kuidas: Koostage Sunxi tööriist Windowsi jaoks Windowsi jaoks: 14 sammu (piltidega)
Orange PI HowTo: Koostage Sunxi tööriist Windowsi jaoks Windowsi jaoks: EELTINGIMUSED: Teil on vaja Windowsi (lauaarvuti). Interneti -ühendus. Oranž PI -plaat. Viimane on valikuline, kuid olen kindel, et teil on see juba olemas. Vastasel juhul ei loe te seda juhendit. Kui ostate oranži PI patu