WEBVTT

00:02.160 --> 00:03.990
Per la nostra prossima acrobazia.

00:03.990 --> 00:11.790
Come puoi vedere, ho zappato il mio sensore a infrarossi sul davanti del robot e

00:11.970 --> 00:16.400
ho collegato le linee di alimentazione e analogiche.

00:16.500 --> 00:22.980
Si noti dove ho eseguito il DCC e le linee di terra dal sensore.

00:22.980 --> 00:32.340
Qui nell'angolo di Arduino, proprio accanto al pulsante di reset, c'è un'intestazione a sei pin e può essere usato per più cose,

00:33.420 --> 00:40.110
ma il suo scopo principale è quello di una delle connessioni seriali, ma ha anche dei

00:40.110 --> 00:41.670
pin di alimentazione.

00:41.670 --> 00:50.490
Quindi, quando guardi l'intestazione con il pulsante di ripristino in alto a sinistra, il pin in basso a destra è più

00:50.490 --> 00:53.940
cinque volt nel raccoglitore in basso a sinistra.

00:53.970 --> 01:04.070
Così ho eseguito i miei collegamenti di potenza lì e poi ho eseguito il mio filo di segnale su uno zero proprio come faceva prima.

01:04.080 --> 01:11.490
Ora ho il mio sensore a infrarossi montato sul front-end e posso usarlo come sensore di prossimità

01:11.490 --> 01:17.220
e possiamo navigare in una stanza come fa anche l'aspirapolvere robot Roomba.

01:17.430 --> 01:23.070
Ora, anche se questo è facoltativo, ritengo che questo sia molto importante e mi dispiace di aver dimenticato di

01:23.070 --> 01:26.180
metterli su prima di fare la festa di ballo.

01:26.220 --> 01:30.860
Ho dato al mio robot degli occhi finti.

01:31.350 --> 01:35.090
Ora ovviamente non devi farlo, ma penso che sia un vero affare.

01:37.030 --> 01:42.340
Quindi, prima di passare allo schizzo di navigazione ostacoli, dovremmo discutere di un problema che potresti

01:42.340 --> 01:43.530
aver già incontrato.

01:43.720 --> 01:52.240
A seconda di quanto hai ballato il tuo robot mentre passiamo nelle nostre lezioni, non ho notato che

01:53.050 --> 01:57.220
questa cosa mangia le batterie per la colazione.

01:57.950 --> 02:08.260
Questi motori e Edwina usano molto corrente e quindi scaricano le batterie a una tensione più

02:08.260 --> 02:10.270
bassa piuttosto velocemente.

02:10.270 --> 02:13.840
E poi inizi a ottenere cali di tensione sul tuo Arduino.

02:14.020 --> 02:21.110
Quindi se a metà della sequenza l'Arduino riavvia misteriosamente la sequenza dall'inizio o è solo una specie

02:21.100 --> 02:24.730
di spasmi e non va da nessuna parte.

02:24.730 --> 02:26.530
Potrebbe essere quello che sta succedendo.

02:26.530 --> 02:29.080
Prova alcune batterie nuove.

02:29.140 --> 02:37.840
Ho passato due set con tutte le mie continue revisioni di test e la riprogrammazione dei miei sketch

02:37.840 --> 02:40.910
Dance Dance per quella lezione.

02:40.930 --> 02:52.270
Puoi anche provare a mettere un condensatore più grande come un condensatore di filtro sul tuo h bridge o metterlo nelle

02:52.300 --> 02:56.650
intestazioni di Arduino quando il potere accade.

02:56.650 --> 02:57.990
Questo potrebbe aiutare.

02:58.090 --> 03:07.390
C'è un'altra testata di connessione seriale verso il basso e anch'essa ha pin di alimentazione collegati direttamente alla base di

03:07.390 --> 03:09.070
alimentazione di Arduino.

03:09.280 --> 03:19.450
Quindi potresti mettere un grosso condensatore su quei pin o potresti anche aggiungere un secondo pacco batteria in

03:19.840 --> 03:24.000
serie o parallelo a quello già presente.

03:24.550 --> 03:32.710
O anche solo aggiungendo un'altra batteria in serie manterrà la bassa tensione sopra i cinque volt perché in questo momento il

03:32.710 --> 03:37.580
pacco batteria è di circa sei volt quando è completamente carico.

03:37.810 --> 03:46.330
Quindi non ci vuole molto di meno per portarlo a meno di 5 volt o si

03:46.360 --> 03:53.030
può semplicemente fare un paio di batterie guidate e poco costose.

03:53.100 --> 03:54.790
Bene, facciamo un piano di gioco qui.

03:54.940 --> 04:03.610
Se hai visto un Roomba in azione hanno più sensori a infrarossi e in realtà eseguono un po 'di mappatura della

04:03.670 --> 04:05.290
stanza al volo.

04:05.770 --> 04:14.320
Ma in realtà puoi realizzare la stessa cosa con solo un sensore paraurti come se avessimo appena randomizzato i tuoi movimenti

04:14.320 --> 04:16.230
in tutta la stanza.

04:16.330 --> 04:25.270
E quando incontri un ostacolo fermati e gira in una direzione casuale, continua ad andare avanti e indietro nel tempo

04:25.270 --> 04:29.080
e eviti gli ostacoli e copri la stanza.

04:31.150 --> 04:39.380
Quindi, nello schizzo di evitare gli ostacoli a infrarossi, quello che ho fatto è stato piuttosto semplice.

04:39.420 --> 04:49.140
Ho impostato una variabile di soglia che è un numero che ho deciso nella nostra lezione precedente in cui abbiamo sperimentato

04:49.260 --> 04:51.500
il sensore a infrarossi.

04:51.510 --> 05:00.630
Ora nel mio caso ho deciso che se la lettura analogica del sensore a infrarossi fosse scesa al di sotto di circa 50,

05:00.750 --> 05:04.800
ho sentito che era un rilevamento positivo di un ostacolo.

05:04.800 --> 05:10.170
Ora potresti aver trovato un numero diverso a qualunque numero tu voglia schiaffo

05:10.170 --> 05:12.020
quel numero lì dentro.

05:12.090 --> 05:24.580
Ho impostato tutte le aperture GPI per il controllo del ponte H, ho impostato il robot per il movimento in avanti

05:24.670 --> 05:35.470
e poi ho usato i numeri estratti dallo schizzo di calibrazione nell'ultima lezione per guidare una linea retta

05:35.470 --> 05:36.280
approssimativa.

05:36.280 --> 05:42.160
Lo schizzo raw scaricabile avrà entrambi questi numeri a venticinque.

05:42.160 --> 05:45.650
L'ho già modificato per abbinarlo al mio robot.

05:45.670 --> 05:48.380
Probabilmente avrai numeri diversi qui.

05:48.520 --> 05:56.770
Basta cambiarli in qualunque numero tu abbia inserito nelle tue calibrazioni per andare in una linea retta

05:56.770 --> 06:07.360
approssimativa, in modo che inizi a fare il trucking a una velocità controllata attraverso la funzione loop e ogni volta che lo ricolleghi

06:07.360 --> 06:17.520
ci vuole una lettura dal sensore a infrarossi e se la lettura è al di sotto della soglia, prende una serie

06:17.880 --> 06:18.900
di

06:21.460 --> 06:26.090
passaggi prima ferma i motori e aspetta per mezzo secondo.

06:26.110 --> 06:28.570
Non devi fare questa parte, ovviamente.

06:28.570 --> 06:31.150
Ma ho programmato in ritardo.

06:31.300 --> 06:36.490
Quindi imposta il lato b del ponte a 8 ore per la retromarcia.

06:36.490 --> 06:40.360
Quindi il motore destro girerà all'indietro.

06:40.420 --> 06:47.440
Quindi ruota la velocità in avanti del motore sinistro e il motore destro all'indietro a piena velocità in

06:47.440 --> 06:49.720
modo che giri sul posto.

06:49.720 --> 06:59.170
Ora, se avessi programmato il robot in modo che dicesse solo il motore della mano destra girato all'indietro, ciò

06:59.170 --> 07:04.940
che accadrà è che il robot si girerà e tornerà indietro.

07:05.020 --> 07:13.240
Ora potrebbe esserci un muro qui o qualche altro ostacolo che vorrei sapere e non lo lascerei tornare indietro.

07:13.300 --> 07:21.190
Ma se giriamo sul posto non apportiamo alcuna modifica alla nostra posizione, quindi ruoterà in una

07:21.190 --> 07:22.350
direzione diversa.

07:22.460 --> 07:28.090
Ora ho appena scelto un tempo di ritardo arbitrario di trecento per la rotazione.

07:28.090 --> 07:30.930
Potresti volerlo allungare o accorciare.

07:30.940 --> 07:39.550
Stavo semplicemente mirando a circa 90 gradi di rotazione leggermente più o leggermente meno è meglio perché questo è

07:39.550 --> 07:41.830
esattamente di 90 gradi.

07:41.830 --> 07:51.330
Potresti rimanere intrappolato semplicemente viaggiando verso il perimetro esterno della stanza e basta.

07:51.400 --> 07:59.440
Quindi, una volta completata la rotazione, spengo i motori in modo da dividere il secondo.

07:59.440 --> 08:05.590
Di nuovo un altro ritardo che è opzionale ma mi piaceva avere questi

08:05.590 --> 08:13.840
ritardi qui e poi torna all'inizio della funzione di loop che ovviamente imposta entrambi i motori per girare

08:13.840 --> 08:21.790
in avanti e poi inizia a avanzare in linea retta a una velocità controllata Continuerà a farlo fino

08:21.790 --> 08:27.120
a quando non incontrerà un altro ostacolo, quindi fai lampeggiare

08:48.970 --> 08:55.200
il tuo Arduino e lascia cadere il robot nel mezzo per vedere cosa fa.

09:08.170 --> 09:15.700
Puoi perfezionarlo mentre procedete cambiando i valori del diritto analogico per modificare le velocità del motore in modo

09:15.940 --> 09:20.920
che guidi in un arco o in una linea retta migliore.

09:20.920 --> 09:30.620
È possibile modificare i valori di soglia se non si è soddisfatti del rilevamento e, naturalmente, è possibile aggiungere anche

09:30.620 --> 09:32.090
occhi googly.
