Sommario:

Bot risolutore di cubi di Rubics: 5 passaggi (con immagini)
Bot risolutore di cubi di Rubics: 5 passaggi (con immagini)

Video: Bot risolutore di cubi di Rubics: 5 passaggi (con immagini)

Video: Bot risolutore di cubi di Rubics: 5 passaggi (con immagini)
Video: ERICK SI È FATTO MALE TOGLIENDO UNA PELLICINA… 💀#shorts 2024, Dicembre
Anonim
Bot risolutore di cubi di Rubics
Bot risolutore di cubi di Rubics

Realizzare un robot autonomo che risolva un cubo di Rubik fisico. Questo è un progetto nell'ambito del Robotics Club, IIT Guwahati.

È realizzato con materiale semplice che può essere trovato facilmente. Principalmente abbiamo usato servomotori e un Arduino per controllarli, fogli acrilici, un Mini Drafter rotto, morsetti a L e doppi nastri!

Per ottenere l'algoritmo di risoluzione del cubo abbiamo utilizzato la libreria cubejs di github.

Passaggio 1: materiali utilizzati

Materiali usati
Materiali usati
  1. 6 Servomotori
  2. Arduino Uno
  3. Batteria LiPo a 3 celle
  4. Foglio acrilico (spessore 8 mm e 5 mm)
  5. Pistola termica (
  6. Trapano
  7. seghetto
  8. Morsetti a L
  9. Strisce di alluminio
  10. Mini Dafter/ aste di metallo
  11. Doppio nastro
  12. Fevi Quick
  13. Bulloni a dado
  14. Ponticelli

Passaggio 2: preparare la struttura meccanica

Preparare la struttura meccanica
Preparare la struttura meccanica
Preparare la struttura meccanica
Preparare la struttura meccanica

Il telaio di base

  • Prendi un foglio acrilico spesso 8 mm circa 50 cm * 50 cm e segna il centro di tutti i lati (questa sarà la base del tuo robot).
  • Prendi un disegnatore rotto e rimuovi da esso le 4 aste di acciaio (queste aste serviranno da percorso per il tuo cursore).
  • Su due pezzi rettangolari di acrilico (di qualsiasi dimensione) fissa due aste parallele l'una all'altra e fai due coppie di questo assemblaggio.
  • Quindi, per creare un cursore, impilare due piccoli pezzi di acrilico uno sopra l'altro con distanziatori tra loro ai quattro angoli e fissarli con bulloni nei distanziatori. Avrai bisogno di 4 di questi cursori.
  • Prima di fissare i due pezzi di cursore, far passare tra loro le aste parallele precedentemente fissate in modo che i distanziali tocchino appena la superficie esterna delle aste.
  • Per ogni coppia di aste parallele passare su di esse due cursori.
  • Una volta che questo è pronto, disponi la coppia di aste a forma di croce di 90 gradi. Assicurati che ci sia un cursore a ciascuna estremità della croce.
  • Ora tutto ciò che devi fare è collegare questo percorso incrociato alla base del tuo robot, ad una certa elevazione dalla base. (Assicurati che l'elevazione sia maggiore dell'altezza di un servomotore)

    Per questo, puoi usare montaggi acrilici con morsetti a L come abbiamo fatto noi o qualsiasi altro metodo sarà sufficiente

Dopo questo la tua struttura dovrebbe assomigliare all'immagine.

Collegamento dei servi di base

  • I due servi di base devono essere fissati in modo tale che il servo sia sotto il braccio della croce e spostato dal centro.
  • I servi sono fissati in posizione orizzontale a un wafer di silicio perforato mediante lunghi bulloni, che a sua volta è fissato alla base con un morsetto a L e nastro bidirezionale.

Realizzare le aste push-pull

  • Impostare l'angolo del servo su zero e fissare il bilanciere del servo in una posizione adatta.
  • Posiziona il cubo al centro della croce per ottenere una stima della distanza del cursore nella posizione più vicina e posiziona i cursori in quella posizione.
  • Attacca le strisce di alluminio a forma di L nella parte inferiore di ciascun cursore utilizzando del nastro doppio.
  • Ora per misurare la distanza di ogni striscia di alluminio dalla parte superiore o inferiore del servo bilanciere che giace nel suo piano, questa sarà la lunghezza della tua asta push-pull.
  • Una volta determinate le lunghezze, l'asta di spinta può essere fissata forando la striscia di alluminio o qualcosa del genere.

Montaggio dei servi superiori

  • Decidi l'altezza alla quale il tuo cubo sarà risolto. L'asse del servomotore dovrebbe trovarsi a questa altezza.
  • Fissare i quattro servomotori, ciascuno a un wafer di silicio perforato utilizzando bulloni in posizione verticale.
  • Il wafer è ora montato su una striscia di alluminio a forma di L la cui base è fissata al cursore ad un'altezza adeguata in modo che il servoasse si trovi al centro del cubo.

Gli artigli C

  • Gli artigli dovrebbero essere tali da adattarsi esattamente a un lato del cubo e la lunghezza delle parti superiore e inferiore non deve superare un lato di un cubo.
  • Per questo prendi una striscia di acrilico di spessore sufficiente e scaldala. Una volta che si scioglie, rimodellare forma un morsetto a forma di C in modo tale da intrappolare esattamente un lato del cubo.
  • Segna il centro dell'artiglio a C e fissa questo morsetto al bilanciere del servo al suo centro.

Se necessario, apportare alcune piccole regolazioni in modo che ogni morsetto sia alla stessa altezza.

Questo completa la struttura meccanica del tuo robot, passiamo ai collegamenti circuitali……..

Passaggio 3: collegamenti del circuito

Collegamenti del circuito
Collegamenti del circuito

Per controllare il Bot abbiamo usato un Arduino, un regolatore di tensione e una batteria LiPo a 3 celle (12v).

Poiché i servomotori assorbono molta potenza, abbiamo utilizzato 6 regolatori di tensione, uno per ogni motore.

Gli ingressi di segnale dei motori (filo di colore più chiaro dei tre) erano collegati ai pin PWM digitali 3, 5, 6, 9, 10, 11 dell'Arduino.

I regolatori di tensione erano collegati sulla breadboard e alimentati dalla batteria da 12 volt. L'alimentazione in uscita (5V) è stata alimentata direttamente ai motori. Anche la massa dei motori è stata collegata alla breadboard. Il terreno comune è stato collegato anche all'Arduino.

Passaggio 4:

Image
Image

Passaggio 5: codice:

I due file forniti mostrano il codice scritto per dare il comando ai motori per passaggi particolari utilizzando Arduino.

Il primo file contiene la funzione principale e altre definizioni di variabili. Il secondo file contiene funzioni per ogni mossa utilizzata nella risoluzione di un cubo (es. U per "rotazione della faccia in alto in senso orario"; R1 per "movimento della faccia destra in senso antiorario" ecc.)

Per ottenere l'algoritmo di risoluzione del cubo abbiamo utilizzato la libreria cubejs di github.

L'algoritmo fornisce direttamente l'output in "mosse facciali" che viene completato dal codice Arduino.

Consigliato: