Sommario:

Sumo Bot stampato in 3D con Arduino: 6 passaggi
Sumo Bot stampato in 3D con Arduino: 6 passaggi

Video: Sumo Bot stampato in 3D con Arduino: 6 passaggi

Video: Sumo Bot stampato in 3D con Arduino: 6 passaggi
Video: 3D Printed Sumobot 2024, Dicembre
Anonim
Robot Sumo stampato in 3D con Arduino
Robot Sumo stampato in 3D con Arduino

Quindi avevo un mucchio di parti in giro per casa mia. Volevo partecipare a una competizione di sumo in arrivo tra qualche mese, ma non avevo un bot. Invece di acquistare un bot o utilizzare un design esistente che richiedesse l'acquisto di materiale per il progetto, sono andato avanti e ho creato il mio bot dal mio design dalle mie parti che avevo. Avrai bisogno di quanto segue per questo tutorial.

  1. Una di ciascuna parte stampata in 3D trovata qui.
  2. Una batteria da 7,4 volt o due batterie 18650.
  3. Un portabatterie se necessario.
  4. Arduino uno.
  5. Scudo antisfondamento arduino uno.
  6. Cavo USB per Arduino.
  7. Alimentatore da banco (opzionale).
  8. Caricabatterie (opzionale).
  9. Fili e molti di loro.
  10. Servomotori a rotazione continua con ingranaggi in metallo di dimensioni standard.
  11. Due sensori di commutazione ir.
  12. Servoruote da 7 cm.
  13. Accensione e spegnimento.

Questo codice viene costantemente modificato. Il codice per questo robot può essere trovato qui. Questa è la versione più aggiornata di questo codice di progetto. Divertiti!

Passaggio 1: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
  1. Il robot utilizza due servocomandi in metallo. Avrai voglia di avvitarli usando bulloni e dadi m3 con i servi all'interno del telaio rivolti verso l'esterno in entrambe le direzioni. C'è solo un modo in cui i servi possono entrare nel robot, quindi sarà abbastanza semplice.
  2. Fissare le servoruote.
  3. Attacca i sensori IR in modo che siano rivolti verso il basso nella parte anteriore del robot. Sono fissati da due viti attraverso i fori M3 nella parte anteriore del robot. Ci sono delle fessure sul fondo del robot da cui possono sbirciare. Devi stare attento che i sensori non raccolgano il telaio e possano vedere fino in fondo attraverso le fessure. Imparerai di più su questo in seguito mentre testiamo il robot per vedere se il tuo lavoro pratico ha funzionato.
  4. Metti il sensore HC-SR04 all'interno dei due fori rivolti verso l'esterno del robot dall'interno. I fori si trovano nella parte anteriore del telaio.
  5. Metti l'Arduino Uno all'interno dello chassis con lo shield sopra.
  6. Collega tutto insieme secondo l'elenco puntato di seguito.

    1. Alimentazione dalla fonte di alimentazione di tua scelta all'interruttore di alimentazione. Collegherai il cavo positivo o negativo all'interruttore. Se hai scelto il cavo negativo questa sarà la tua massa mentre se hai scelto il cavo positivo quella sarà la tua fonte di alimentazione. L'altro filo a seconda che sia positivo o negativo sarà il tuo positivo o negativo.
    2. Collega il cavo positivo a vin sull'Arduino e il cavo positivo sui servi.
    3. Collega terra a terra sui servi e sull'Arduino.
    4. Collega 5v dal regolatore a 5 volt su Arduino a tutti i terminali positivi su ciascuno dei sensori.
    5. Collega i sensori a massa su Arduino.
    6. Infine collegare il pin 7 dell'Arduino al sensore IR destro, il pin 6 al sensore IR sinistro, il pin 8 a uno dei servi, il pin 9 all'ultimo servo.

Avvertenza: il mancato cablaggio del robot potrebbe causare il fumo del robot e la distruzione dell'elettronica

Fase 2: Primi segni di vita

Avvertenza: non collegare il robot al computer mentre è alimentato o con i servi collegati. In caso contrario, il computer potrebbe danneggiarsi

modalità int = 3;

Questa riga di codice sopra è la variabile cruciale per il robot. Fa quanto segue se uguale a ciascun numero elencato di seguito.

  1. Mentre è uguale a zero, il robot si muove secondo uno schema particolare.
  2. Se la modalità è uguale a uno, il robot stampa l'output sul computer di ciascuna delle letture dei sensori.
  3. Quando è uguale a due il robot evita bordi e ostacoli se li incontra.
  4. Il robot combatte altri bot.

Queste sono le diverse modalità del robot utilizzate per testare e aiutare il robot a progredire. Dovrai cambiare quel "3" a zero per il primo passaggio di questo tutorial.

Ora carica il codice sul robot. Lo vedrai andare avanti, indietro, a sinistra e a destra in quell'ordine.

Passaggio 3: può vedere

modalità int = 0;

Modificare la seguente variabile in "1" se il passaggio precedente è stato completato. Ora, quando è collegato al tuo monitor seriale su Arduino, stamperà ciò che sta vedendo il tuo robot. "0" Significa per i sensori di bordo che sta vedendo qualcosa. "1" Significa che non sta vedendo alcun bordo. Se noti che la logica è invertita, prendi nota di ciò per i passaggi futuri.

Non preoccuparti per il sensore ping. Comunque non l'ho ancora fatto funzionare. Questo robot è in forte sviluppo.

Passaggio 4: può evitare il bordo del tavolo

void Evita(){

int sensorStateLeft = digitalRead(leftSensor);

int sensorStateRight = digitalRead(rightSensor);

ritardo(50);

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

left.write(0); right.write(90);

}

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

left.write(90);

right.write(0); }

}

Questo codice sopra è il codice evocato quando la modalità è uguale a due. Se il passaggio precedente è stato completato, modificare la modalità in uguale a "2".

Se i sensori sono invertiti, sentiti libero di invertire "sensorStateLeft" e "sensorStateRight" in ciascuna delle istruzioni "if" per ottenere un numero diverso da quello assegnato, ovvero "1" o "0".

Ora il robot può evitare il bordo di un'arena di sumo. È quasi pronto per la battaglia. Sentiti libero di provarlo per vedere se funziona o meno.

Fase 5: BATTAGLIA

Il tuo sumo è pronto per la battaglia ora con alcune modifiche al codice. Cambia modalità in modo che sia uguale a "3" e inverti la logica secondo necessità nel vuoto "Sumo". Ora il tuo robot dovrebbe evitare il bordo dell'arena ma non può rilevare altri robot. Fondamentalmente evita i bordi dell'arena e si muove abbastanza velocemente da poter spingere un robot fuori dal bordo del tavolo. Divertiti!

Passaggio 6: conclusione

Il tuo robot è pronto ora. Se ci sono problemi o commenti per questo progetto non esitate a farmelo sapere. Sono incredibilmente aperto al feedback perché non ho idea se questo fosse un tutorial ben fatto o meno. Divertiti!

Consigliato: