Cuprins:

Arduino 3D Sumo Bot imprimat: 6 pași
Arduino 3D Sumo Bot imprimat: 6 pași

Video: Arduino 3D Sumo Bot imprimat: 6 pași

Video: Arduino 3D Sumo Bot imprimat: 6 pași
Video: Leap Motion SDK 2024, Noiembrie
Anonim
Arduino 3D Sumo Bot imprimat
Arduino 3D Sumo Bot imprimat

Așa că am avut o grămadă de piese așezate în jurul casei mele. Am vrut să particip la o competiție de sumo care va veni în câteva luni, dar nu am avut un bot. În loc să cumpăr un bot sau să folosesc un design existent care să mă oblige să cumpăr lucruri pentru proiect, am mers mai departe și mi-am făcut propriul bot din propriul meu design din propriile părți pe care le aveam. Veți avea nevoie de următoarele pentru acest tutorial.

  1. Una dintre fiecare parte imprimată 3D găsită aici.
  2. O baterie de 7,4 volți sau două baterii 18650.
  3. Un suport pentru baterie, dacă este necesar.
  4. Arduino uno.
  5. Scutul Arduino Uno Breakout.
  6. Cablu USB pentru Arduino.
  7. Alimentare pe bancă (opțional).
  8. Încărcător (opțional).
  9. Sârme și multe dintre ele.
  10. Servomotoare cu rotire continuă a angrenajelor metalice de dimensiuni standard.
  11. Doi senzori de comutare ir.
  12. Roți servo de 7 cm.
  13. Comutator pornire și oprire.

Acest cod este în mod constant modificat. Codul pentru acest robot poate fi găsit aici. Aceasta este cea mai actualizată versiune a acestui cod de proiect. Bucurați-vă!

Pasul 1: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
  1. Robotul folosește două servomotoare metalice. Veți dori să le înșurubați folosind șuruburi și piulițe m3 cu servoanele din interiorul șasiului orientate spre exterior în ambele direcții. Există un singur mod în care servomotoarele pot intra în robot, deci acest lucru va fi destul de simplu.
  2. Atașați roțile servo.
  3. Atașați senzorii IR astfel încât să fie orientați în jos în partea din față a robotului. Acestea sunt atașate de două șuruburi prin orificiile M3 din partea din față a robotului. Există fante pe partea de jos a robotului pentru ca acestea să poată fi examinate. Vrei să fii atent, senzorii nu ridică șasiul și pot vedea până la capăt prin fante. Veți afla mai multe despre acest lucru mai târziu, pe măsură ce testăm robotul pentru a vedea dacă munca dvs. la îndemână a funcționat.
  4. Puneți senzorul HC-SR04 în interiorul celor două găuri orientate spre exteriorul robotului din interior. Găurile sunt situate în partea din față a șasiului.
  5. Puneți Arduino Uno în interiorul șasiului cu scutul pe el.
  6. Cablează totul împreună conform listei cu glonț de mai jos.

    1. Alimentarea de la sursa de alimentare la alegere la comutatorul de alimentare. Veți conecta cablul pozitiv sau negativ la comutator. Dacă ați ales cablul negativ, acesta va fi motivul dvs., în timp ce dacă ați ales cablul pozitiv, acesta va fi cablul sursei de energie. Celălalt fir, în funcție de faptul că este pozitiv sau negativ, va fi pozitiv sau negativ.
    2. Conectați cablul pozitiv la vin pe Arduino și cablurile pozitive de pe servo.
    3. Conectați masă la masă pe servo și Arduino.
    4. Conectați 5v de la regulatorul de 5 volți de pe Arduino la toate bornele pozitive de pe fiecare senzor.
    5. Conectați senzorii la masă pe Arduino.
    6. În cele din urmă, conectați pinul 7 al senzorului Arduino la dreapta, pinul 6 la senzorul IR din stânga, pinul 8 la unul dintre servouri, pinul 9 la ultimul servo.

Avertisment: nerecomandarea corectă a robotului poate duce la fumatul robotului și la distrugerea componentelor electronice

Pasul 2: Primele semne de viață

Atenție: Nu conectați robotul la computer în timp ce este alimentat sau cu servo-urile conectate. Nerespectarea acestui lucru poate duce la deteriorarea computerului

modul int = 3;

Această linie de cod de mai sus este variabila crucială pentru robot. Face următoarele, dacă este egal cu fiecare număr enumerat mai jos.

  1. Deși egal cu zero, robotul se mișcă într-un anumit tipar.
  2. Dacă modul este egal cu unul, robotul imprimă ieșirea pe computer a fiecărei dintre citirile senzorilor.
  3. Atunci când este egal cu doi, robotul evită marginile și obstacolele dacă se lovește de ele.
  4. Robotul luptă cu alți roboți.

Acestea sunt diferitele moduri ale robotului utilizate pentru a testa și ajuta robotul să progreseze. Va trebui să schimbați acel „3” la zero pentru primul pas al acestui tutorial.

Acum încărcați codul în robot. Veți vedea cum se mișcă înainte, înapoi, la stânga și la dreapta în această ordine.

Pasul 3: Se vede

modul int = 0;

Schimbați următoarea variabilă la „1” dacă pasul anterior a fost finalizat. Acum, când sunteți conectat la monitorul dvs. serial pe Arduino, acesta va imprima ceea ce vede robotul dvs. „0” înseamnă pentru senzorii de margine că vede ceva. „1” înseamnă că nu vede margini. Dacă observați că logica este inversată, luați notă de aceasta pentru pașii viitori.

Nu vă faceți griji cu privire la senzorul de ping. Oricum nu am lucrat încă. Acest robot este în curs de dezvoltare intensă.

Pasul 4: Se poate evita marginea mesei

void Evitați () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

întârziere (50);

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

left.write (0); dreapta.scrie (90);

}

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

left.write (90);

dreapta.scrie (0); }

}

Acest cod de mai sus este codul invocat când modul este egal cu două. Dacă pasul anterior a fost finalizat, schimbați modul la egal cu "2".

Dacă senzorii sunt inversați, nu ezitați să inversați „sensorStateLeft” și „sensorStateRight” în fiecare dintre instrucțiunile „if” pentru a egala un număr diferit decât au fost date, adică „1” sau „0”.

Acum robotul poate evita marginea unei sumo arena. Este aproape gata de luptă. Simțiți-vă liber să-l testați pentru a vedea dacă funcționează sau nu.

Pasul 5: LUPTA

Sumo-ul dvs. este gata să lupte acum cu câteva modificări de cod. Schimbați modul pentru a fi egal cu „3” și inversați logica după cum este necesar în golul „Sumo”. Acum robotul dvs. ar trebui să evite marginea arenei, dar nu poate detecta alți roboți. Practic evită marginile arenei și se mișcă suficient de repede încât să poată împinge un robot de pe marginea mesei. Bucurați-vă!

Pasul 6: Concluzie

Robotul tău este terminat acum. Dacă există probleme sau comentarii pentru acest proiect, nu ezitați să ne anunțați. Sunt incredibil de dincolo de convingerea deschisă feedback-ului, deoarece nu am idee dacă acesta a fost un tutorial bine făcut sau nu. Bucurați-vă!

Recomandat: