INHOUDSOPGAWE:

Arduino 3D -gedrukte Sumo Bot: 6 stappe
Arduino 3D -gedrukte Sumo Bot: 6 stappe

Video: Arduino 3D -gedrukte Sumo Bot: 6 stappe

Video: Arduino 3D -gedrukte Sumo Bot: 6 stappe
Video: Arduino robot sumo 2024, November
Anonim
Arduino 3D -gedrukte Sumo Bot
Arduino 3D -gedrukte Sumo Bot

So ek het 'n klomp dele om my huis gelê. Ek wou oor 'n paar maande deelneem aan 'n sumo -kompetisie, maar ek het nie 'n bot nie. In plaas daarvan om 'n bot te koop of 'n bestaande ontwerp te gebruik wat my sou benodig om dinge vir die projek aan te koop, het ek my eie bot gemaak uit my eie ontwerp uit my eie onderdele wat ek gehad het. U benodig die volgende vir hierdie tutoriaal.

  1. Een van elke 3D -gedrukte deel word hier gevind.
  2. 'N 7,4 volt battery of twee 18650 batterye.
  3. 'N Batteryhouer indien nodig.
  4. Arduino uno.
  5. Arduino uno breakout shield.
  6. USB -kabel vir Arduino.
  7. Kragtoevoer op die tafelblad (opsioneel).
  8. Laaier (opsioneel).
  9. Drade en baie daarvan.
  10. Deurlopende rotasie servo's van metaalgrootte.
  11. Twee ir switch sensors.
  12. 7 cm servowiele.
  13. Aan en af skakelaar.

Hierdie kode word voortdurend verander. Die kode vir hierdie robot kan hier gevind word. Dit is die nuutste weergawe van hierdie projekkode. Geniet dit!

Stap 1: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
  1. Die robot gebruik twee metaaltoerusting. U sal dit met m3 -boute en moere wil vasskroef, met die servo's binne -in die onderstel in beide rigtings na buite. Daar is net een manier waarop die servo's in die robot kan gaan, so dit sal redelik eenvoudig wees.
  2. Bevestig die servowiele.
  3. Bevestig die ir -sensors sodat hulle voor in die robot na onder wys. Hulle word met twee skroewe deur die M3 -gate aan die voorkant van die robot vasgemaak. Daar is splete aan die onderkant van die robot om deur te kyk. U wil versigtig wees; die sensors haal nie die onderstel op nie en kan regdeur die gleuwe sien. U sal later meer hieroor leer terwyl ons die robot toets om te sien of u handige werk gewerk het.
  4. Plaas die HC-SR04-sensor binne die twee gate wat buite die robot uitkyk. Die gate is aan die voorkant van die onderstel geleë.
  5. Plaas die Arduino Uno in die onderstel met die skild daarop.
  6. Verbind alles volgens die kolpuntlys hieronder.

    1. Krag van die kragbron van u keuse na die aan / uit -skakelaar. U sal 'n positiewe of negatiewe lood na die skakelaar stuur. As u die negatiewe voorsprong gekies het, is dit u grond, terwyl u die positiewe voorsprong kies, wat u kragbron sal wees. Die ander draad, afhangende van of dit positief of negatief is, sal u positief of negatief wees.
    2. Koppel die positiewe lood aan vin op die Arduino en die postiewe leidrade op die servo's.
    3. Koppel grond tot grond op die servo's en die Arduino.
    4. Koppel 5v van die 5 volt -reguleerder op die Arduino aan al die positiewe terminale op elk van die sensors.
    5. Bedraad die sensors op die Arduino.
    6. Draai laastens pen 7 op die Arduino -regs -ir -sensor, pen 6 aan die linker -IR -sensor, pen 8 na een van die servo's, pen 9 na die laaste servo.

Waarskuwing: As die robot nie korrek bedraad is nie, kan dit veroorsaak dat die robot rook en die elektronika vernietig word

Stap 2: Eerste tekens van lewe

Waarskuwing: moenie die robot aan u rekenaar koppel terwyl die motor aangeskakel is of terwyl die servo's aangesluit is nie. As u dit nie doen nie, kan u rekenaar beskadig word

int mode = 3;

Hierdie kodelyn hierbo is die belangrikste veranderlike vir die robot. Dit doen die volgende as dit gelyk is aan elke getal hieronder.

  1. Terwyl dit gelyk is aan nul, beweeg die robot in 'n spesifieke patroon.
  2. As die modus gelyk is aan een, druk die robot die uitset na die rekenaar van elk van die sensorlesings.
  3. As dit gelyk is aan twee, vermy die robot rande en hindernisse as dit hulle teëkom.
  4. Die robot veg ander bots.

Dit is die verskillende modusse van die robot wat gebruik word om die robot te vorder en te help vorder. U moet die "3" in nul verander vir die eerste stap van hierdie tutoriaal.

Laai nou die kode op na die robot. U sal sien dat dit vorentoe, agtertoe, links en regs in daardie volgorde beweeg.

Stap 3: Dit kan sien

int mode = 0;

Verander die volgende veranderlike na "1" as die vorige stap voltooi is. As dit nou gekoppel is aan u seriële monitor op Arduino, sal dit afdruk wat u robot sien. "0" Beteken vir die randsensors dat dit iets sien. "1" beteken dat dit geen rande sien nie. As u agterkom dat die logika omgekeerd is, let daarop vir die toekomstige stappe.

Moenie bekommerd wees oor die pingsensor nie. Ek het dit nog nie reggekry nie. Hierdie robot is onder swaar ontwikkeling.

Stap 4: Dit kan die rand van die tafel vermy

leegte Vermy () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

vertraging (50);

as (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

links.skryf (0); regs skryf (90);

}

as (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

links.skryf (90);

regs skryf (0); }

}

Hierdie kode hierbo is die kode wat ontbied word wanneer die modus gelyk is aan twee. As die vorige stap voltooi is, verander die modus na "2".

As die sensors omgekeerd is, kan u "sensorStateLeft" en "sensorStateRight" in elk van die "if" -stellings omkeer, wat gelyk is aan 'n ander getal as wat hulle gegee het, wat óf "1" óf "0" is.

Nou kan die robot die rand van 'n sumo -arena vermy. Dit is amper gereed om te veg. Toets dit gerus om te sien of dit werk of nie.

Stap 5: BATTLE

U sumo is nou gereed om te veg met 'n paar kodeveranderings. Verander die modus om gelyk te wees aan "3" en keer die logika om soos nodig in die leemte "Sumo". Nou moet u robot die rand van die arena vermy, maar kan nie ander robotte opspoor nie. Dit vermy basies die rande van die arena en beweeg vinnig genoeg sodat dit hopelik 'n robot van die rand van die tafel kan stoot. Geniet dit!

Stap 6: Gevolgtrekking

Jou robot is nou klaar. Laat weet my as daar probleme of kommentaar op hierdie projek is. Ek is ongelooflik oop vir terugvoer, want ek het geen idee of dit 'n goed uitgevoerde handleiding was of nie. Geniet dit!

Aanbeveel: