Cuprins:
- Pasul 1: Asamblare
- Pasul 2: Primele semne de viață
- Pasul 3: Se vede
- Pasul 4: Se poate evita marginea mesei
- Pasul 5: LUPTA
- Pasul 6: Concluzie
Video: Arduino 3D Sumo Bot imprimat: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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.
- Una dintre fiecare parte imprimată 3D găsită aici.
- O baterie de 7,4 volți sau două baterii 18650.
- Un suport pentru baterie, dacă este necesar.
- Arduino uno.
- Scutul Arduino Uno Breakout.
- Cablu USB pentru Arduino.
- Alimentare pe bancă (opțional).
- Încărcător (opțional).
- Sârme și multe dintre ele.
- Servomotoare cu rotire continuă a angrenajelor metalice de dimensiuni standard.
- Doi senzori de comutare ir.
- Roți servo de 7 cm.
- 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
- 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.
- Atașați roțile servo.
- 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.
- 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.
- Puneți Arduino Uno în interiorul șasiului cu scutul pe el.
-
Cablează totul împreună conform listei cu glonț de mai jos.
- 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.
- Conectați cablul pozitiv la vin pe Arduino și cablurile pozitive de pe servo.
- Conectați masă la masă pe servo și Arduino.
- Conectați 5v de la regulatorul de 5 volți de pe Arduino la toate bornele pozitive de pe fiecare senzor.
- Conectați senzorii la masă pe Arduino.
- Î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.
- Deși egal cu zero, robotul se mișcă într-un anumit tipar.
- Dacă modul este egal cu unul, robotul imprimă ieșirea pe computer a fiecărei dintre citirile senzorilor.
- Atunci când este egal cu doi, robotul evită marginile și obstacolele dacă se lovește de ele.
- 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:
Robot cvadruped cu alimentare Arduino imprimat 3D: 13 pași (cu imagini)
Robot cvadruped motorizat Arduino imprimat 3D: din instructabilele anterioare, puteți vedea probabil că am un profund interes pentru proiectele robotice. După instruirea anterioară, unde am construit un robot biped, am decis să încerc să fac un robot patruped care să poată imita animale precum câinele
GorillaBot, robotul quadruped Sprint autonom Arduino imprimat 3D: 9 pași (cu imagini)
GorillaBot Robotul Quadruped Sprint Autonom Arduino Imprimat 3D: În fiecare an la Toulouse (Franța) are loc Toulouse Robot Race # TRR2021 Cursa constă dintr-un sprint autonom de 10 metri pentru roboții biped și patruped. Recordul actual pe care îl adun pentru patrupedi este de 42 de secunde pentru un Sprint de 10 metri. Deci, cu asta în m
Otto DIY + Arduino Bluetooth Robot ușor de imprimat 3D: 6 pași (cu imagini)
Otto DIY + Arduino Bluetooth Robot ușor de imprimat 3D: Natura cu adevărat open source a Otto permite educația deschisă STEAM, colectăm feedback de la diferite ateliere și școli din întreaga lume care folosesc deja Otto DIY în clasa lor și în funcție de deschiderea acestor locuri educaționale noi sau
DIY Ceas Arduino cu o singură cifră imprimat 3D: 4 pași
Ceas Arduino DIY cu o singură cifră imprimat 3D: un ceas Arduino Nano complet funcțional, cu o cifră mare
Transmițător RC bazat pe Arduino imprimat 3D: 25 de pași (cu imagini)
Transmițător RC bazat pe Arduino imprimat 3D: Acest proiect vă va arăta cum am făcut proiectarea și construirea unui transmițător RC bazat pe Arduino. Scopul meu pentru acest proiect a fost să proiectez un transmițător RC imprimabil 3D pe care să-l pot folosi pentru a controla alte proiecte Arduino. Am vrut ca controlerul să fie