Abbiamo costruito il nostro robot e collegato tutta l'elettronica.
No, dobbiamo insegnargli qualche mossa di danza.
Quindi, se hai collegato la tua elettronica esattamente come ho fatto, probabilmente sarai in grado di rilasciare il codice
di esempio sul tuo Arduino e funzionerà esattamente allo stesso modo.
Ora esaminiamo come funzionava il ponte H.
Abbiamo il lato A del doppio ponte H collegato al motore del lato sinistro e il lato B collegato al
motore del lato destro.
I pin 1 in 1 e i 2 controllano la direzione del ponte a h e I n 3 e I n per controllare la
direzione del ponte B H.
Quindi sul lato A per andare avanti ho bisogno di un alto sull'I e un pin che è collegato al pin dodici
sull'arduino e ho bisogno di un basso sul lato i per pin che è collegato al pin 13 in modo da andare avanti sul ruota
sinistra.
Semplicemente invio un comando di scrittura digitale al pin dodici con un alto e il pin 13 con un basso.
Ora, quando metto un pin sul pin 11 che è collegato all'abilitazione di un pin, il motore sinistro guida in
avanti per guidare quel motore in retromarcia, inverto il segnale sui pin 12-13 un basso sul pin dodici
e un alto sul pin 13 con il B lato tenuta tre o otto sullo stelo Arduino con un basso pin 9 collegato allo ione
per impostare il motore B per ruotare in avanti quando è presente un alto sul pin abilitazione B che è collegato al pin 10
un facile da ricordare un il modo semplice per ricordare la direzione era che il piedino dodici e il
perno otto dovevano essere regolati in alto per entrambi i motori, quindi una volta impostata la direzione dei pin del motore undici controlli, il perno
motore sinistro 10 controlla il motore giusto accendendo uno di questi giri alti sul motore corrispondente a piena
esplosione come opzione invece del digitale, proprio sul pin dieci o undici per girare il motore a
piena esplosione, è possibile utilizzare il comando analogico destro su quei pin per inviare invece un impulso con
segnale modulato quindi controllando la velocità del motore cosa faremo prima è provare e guidare una
linea retta e useremo P. W. m per controllare la velocità mantienilo lento
e muoviti in un piccolo spazio.
Ciò amplifica anche un problema che voglio sottolineare Devo continuare a provare a mantenere tutta l'azione giusta in
questa piccola area di questo tavolo per tenerlo nella visuale della telecamera, ma puoi correre anni sul pavimento o in una
grande Il piano da tavolo qualunque sia il primo che si può scaricare dalla sezione download si chiama calibrazione straight
line che si può semplicemente copiare e incollare in un nuovo schizzo, se lo si desidera.
Tutto ciò che fa è impostare i pin di controllo come uscite e quindi aziona entrambi i motori in una direzione in avanti a circa metà
velocità con circa un ciclo di lavoro del 50% su P. W. M ..
Arresta quindi i motori in attesa per un secondo
e quindi spinge indietro i motori ora perché entrambi i motori vengono comandati con gli stessi esatti
comandi e ciclo di lavoro.
In teoria dovrebbe guidare una linea retta.
Facciamo lampeggiare il nostro Arduino con questo schizzo e vediamo cosa succede ora per farlo lampeggiare.
Guarda cosa succede quando collego il cavo USP, è in esecuzione
uno schizzo precedente che avevo per testarlo, quindi inizia a girare i motori anche se
ho la batteria spenta.
Quindi in questo momento la potenza del computer sta alimentando l'Arduino che è tornato a dare energia al nostro ponte H
nei nostri motori.
Ora l'Arduino semplicemente non può gestire quel tipo di assorbimento di corrente.
Quindi è molto importante accendere il ponte H con le batterie o premere l'interruttore o
sulla posizione O N o inserire le batterie.
Se non si dispone dell'interruttore, è possibile tenere il robot solo mentre lo si programma o
si sa di appoggiarlo su una scatola o su un blocco di legno in modo che le ruote siano sollevate da terra.
Quindi vai avanti con il tuo
schizzo all'Arduino, quindi scollega l'USP e spegni il dispositivo.
Ora questo schizzo è un semplice test per due cose da vedere se hai problemi di cablaggio o
un motore collegato all'indietro o un filo scollegato qualunque.
La seconda cosa
Beh, lasciami correre
Lasciami correre il mio così vedrai da te quando lo accendo e gli viene comandato di andare avanti in
linea retta.
Beh, questo non è un vero e proprio inverso, l'uomo non è molto più serio sul serio.
Cosa diavolo sta succedendo qui.
Bene, tutta questa produzione di tutte queste parti, le ruote, i motori, gli ingranaggi nella trasmissione,
sono tutti imperfetti.
Nessun due motori non ha due ruote uguali.
E così in ogni caso un motore gira molto più liberamente dell'altro.
In effetti il motore sinistro sul mio è così rigido che ha l'abitudine di fermarsi veramente quando il P. W. M diventa inferiore a
circa 150.
È più che probabile che avrai un motore che gira più velocemente dell'altro.
Ora potrebbe essere cattivo come il mio.
Potrebbe non farlo.
Quindi posso giocare con i numeri e fondamentalmente calibrare lo schizzo per compensare.
Ho appena indovinato.
Nel mio caso è evidentemente il motore sinistro che mi sta dando problemi quindi ho intenzione di alzare il p. W. quando fino alle
parole di Thanos è perfettamente bilanciato come dovrebbero essere tutte le cose.
Ora ho sperimentato molto prima di girare questo film e quindi sono stato in grado
di capire un fattore di caramelle qui, anche se attraverso la sperimentazione ho scoperto che il motore giusto era
a venticinque e il motore sinistro era a sessantacinque.
Era abbastanza equilibrato ora
capisco che non sarà mai perfetto.
Questo servizio di tabella è in realtà molto scivoloso quando si utilizza il mio robot a piena potenza.
Posso letteralmente vedere girare le ruote giuste mentre la ruota sinistra tiene la sua trazione in modo che possa girare
il robot in un modo o nell'altro.
Questa rotella Dolly sul retro può
essere rigida e ruota, quindi può essere bloccata inclinando il robot in un modo o nell'altro.
O anche quando il robot sta passando da una direzione avanti a una direzione indietro.
Questa ruota del Dolly deve girare mentre gira.
Sta cambiando la direzione del robot.
Quindi non sarà mai perfetto e per quello che vogliamo fare è perfettamente accettabile.
Se stavi tentando di ostacolare la navigazione in montagna con ostacoli, ora puoi capire perché vorrai quelle ruote del codificatore sui tuoi
alberi di trasmissione dato che ti dirà fino a che punto è ruotata ogni ruota.
Ma anche quello si trova perché una ruota potrebbe avere più aria rispetto all'altra e quindi avere un diametro maggiore.
Potrebbe essere solo una differenza di millimetro, ma una differenza di millimetri è di
tre punti cinque millimetri nella distanza percorsa per rotazione.
Quindi, anche se sei un programmatore dice che le ruote hanno entrambe viaggiato esattamente ad un metro di un pasto, una
ruota ha effettivamente viaggiato di un punto di cinque centimetri più lontano e quindi si accumula nel tempo.
Più viaggi più e più l'errore dice che puoi solo vedere che è sempre un sistema
imperfetto.
Ora approfondiremo tutto questo nel 5 ° corso sui robot autonomi in cui sperimentiamo
con robot e auto navigati utilizzando l'intelligenza artificiale e varie tecniche di navigazione con o senza l'ausilio di
G. P. S..
Ma sto divagando.
Quindi ho un numero che userò nel mio prossimo schizzo in cui tentiamo di guidare il robot a
otto.
Inizieremo qui sulla figura 8, prima percorrendo una breve linea retta e per girare semplicemente cambierà
la velocità dei motori usando P. W. quando facciamo un avanzamento spostando
la mano destra accelerando il motore sinistro o rallentando il motore destro.
Quindi, per far avanzare la svolta a sinistra, acceleriamo il motore destro o rallentiamo il motore
sinistro.
Quindi nel mio caso e nella mia figura di robot di schizzo campione 8 che puoi scaricare dalla sezione
download ho rallentato uno dei motori per fare una svolta.
E questo è solo per tenere tutto sotto controllo e muoversi a una bella bassa velocità.
Quindi, quando guardi il mio schizzo, inizio su questo tratto rettilineo nel mezzo della figura 8 e lo schizzo
scaricabile ha lo stock P. W. n valori di centoventicinque.
Il tuo robot potrebbe effettivamente eseguire una linea molto dritta e quindi non è necessario modificare questi numeri.
Il mio no.
Quindi in realtà modifico questi numeri in modo che sulle gambe dritte della figura 8 corrisponda a quello che
ho scoperto quando ho eseguito lo schizzo di calibrazione ora.
Inoltre sono contento che il mio robot sia un caso così estremo perché mi dà
l'opportunità di mostrarti come compenso il programma.
Sto semplicemente sincronizzando tutti
i movimenti per approssimare la figura 8, il mio motore di guida destro è molto più forte della sinistra.
In realtà hanno alterato questi tempi ritardati nei turni perché completavano la svolta a destra molto più
velocemente della svolta a sinistra.
Quindi dovrai semplicemente sperimentare e giocare per vedere come si comporta il tuo robot.
Ci sarà sempre una variazione delle condizioni del motore, dove il fattore più grande sarà il fattore maggiore
saranno le condizioni della batteria.
Se il tuo robot ha due motori che sono molto veloci potrebbe essere necessario abbassare il tempo di abbassamento della
figura otto gambe dritte perché si sta spostando troppo lontano sulle gambe dritte.
Non lo so.
Dovrai semplicemente giocarci per scoprirlo.
Quindi modificherai i miei numeri nello schizzo nel mio schizzo e semplicemente sperimenterò i tempi di ritardo.
Dopo molti esperimenti, ho fatto il mio andare in una
Figura 8 abbastanza decente ora e vaga per essere sicuro e potrei sperimentare di più per
renderlo più preciso, ma sto semplicemente cambiando i tempi per quanto tempo guido in linea retta e come lunga una svolta.
Questo è tutto ciò che faremo quando utilizzeremo il nostro sensore a infrarossi come rilevatore di prossimità e
in effetti questo è praticamente tutto ciò che l'aspirapolvere robotico.
Lo fa Roomba.
Ha un sensore sulla parte anteriore che gira intorno alla stanza a vuoto casuale, questo va
quando si avvicina al suo sensore di prossimità.
Esegue il backup e gira per un tempo prestabilito, quindi procede di nuovo in avanti fino a raggiungere un altro ostacolo,
quindi qualsiasi navigazione che eseguiremo sarà molto semplice in questo modo e semplicemente i movimenti approssimativamente vanno bene.
Abbiamo una festa di ballo per una corda che un robot sta per.
Quindi dobbiamo insegnargli alcune mosse di danza.
Puoi scaricare lo schizzo di esempio dai download se lo desideri.
O puoi semplicemente creare il tuo schizzo.
È davvero semplice.
Nella mia danza Dance Party, uno schizzo, sono andato dritto a tutta forza.
O i motori erano accesi o spenti perché stavo facendo rapidi movimenti rapidi.
Il robot non è davvero andato così lontano.
Quindi non ho avuto bisogno di rallentare i motori per usare usando P. W. n quindi ho prima impostato tutti i pin di
controllo come uscite come prima e ora ho bisogno di decidere quali movimenti farò e con quale velocità.
Ora una cosa interessante che puoi provare qui.
Puoi solo fare mosse casuali in quattro sequenze di battute e ti sorprenderà sapere come i movimenti del tuo robot
si allineeranno praticamente a qualsiasi musica che suoni.
Tuttavia con un po 'di sforzo puoi anche mettere insieme una routine di danza piuttosto complessa in un tempo
predeterminato con un po' di musica.
Quindi ho scelto una bella melodia anni 70 e aveva circa centodieci battiti al minuto.
Ben 60 secondi divisi per centodieci è zero virgola cinque cinque secondi stiamo usando il comando di
ritardo nello schizzo per misurare le nostre mosse.
Quindi ho appena provato a tempo tutto è tutto in multipli di ritardo.
Cinquecentocinquanta.
Ora è approssimativo.
Alcuni dei miei tempi erano un po 'diversi.
Per compensare i tempi di inizio e fine dei motori o scivoleremo per movimenti veloci eccetera.
Ma era incredibile quanto dei movimenti allineati mettessero i battiti nella musica semplicemente sincronizzando
tutti i movimenti in multipli di circa cinquecentocinquanta millisecondi.
Quindi carico il mio sketch Dance Dance all'Arduino,
liberiamo
la pista da ballo e inserisco la musica
e OK,
è sufficiente che tu capisca il punto.
Basta dare un'occhiata al mio codice e vedrai che è molto
semplice, in effetti puoi tagliare e incollare una di queste sequenze per costruire una lunga sequenza come ho fatto. Ho fatto
una serie di movimenti in avanti all'indietro. rotazione a destra a sinistra e rotazioni e movimenti all'indietro basati
sul tempo.
Quindi, se prendi questo schizzo e lo fai lampeggiare sul tuo Dino, riproduci qualsiasi musica che sia circa
centodieci battiti al minuto o un suo multiplo e sarai sorpreso di quanto bene la sua danza
si allinei con la musica.
Se hai una musica diversa, calcola quanti battiti al minuto è come ho fatto
e conta i tuoi millisecondi di intervalli.
È necessario allinearsi con i ritmi e la musica cambia tutti i tuoi tempi di ritardo e basta giocarci.
Costruire un debito costruendo una sequenza di danza.
Chiediti OK quali mosse voglio fare e quindi programmare quella sequenza semplicemente impostando i piedini di controllo per il
movimento in avanti o indietro sui tuoi due motori, quindi i tempi ritengono quanto tempo desideri rendere quel movimento
semplice eh.