OK.
Cambio dei piani.
So che ho mentito, ma ascoltami.
Ho detto che avremmo usato lo schermo LCD Hitachi ma ho realizzato qualcosa.
Abbiamo le nostre tavole Dino zap legate ai nostri robot e già predisposte per guidare il robot in giro.
Ora c'è molto lavoro da fare.
Volevo anche usare il nostro uomo stravagante per vedere i sensori a ultrasuoni in tandem con il robot.
Quindi prima faremo il sensore ultrasonico perché potresti avere difficoltà a ottenere abbastanza connessioni per tutti i tuoi
attrezzi con i controlli per il robot di tutte le connessioni per il display Hitethi eccetera.
Utilizzeremo la nuova libreria ping che abbiamo appena scaricato nell'ultima lezione.
Questo è il motivo per cui l'abbiamo scaricato.
È per guidare e usare questo sensore ad ultrasuoni.
Va bene.
Quindi, qual è il sensore in ogni caso.
Queste due cose d'argento sono in realtà diffusori ad altissima frequenza.
Infatti operano a frequenze sonore che vanno oltre la portata dell'udito umano.
Ma il range di 40 kilohertz potrebbe seriamente irritare il tuo cane o gatto o le zanzare nella stanza.
Non so che non ho un cane o un gatto e qui è inverno.
Quindi non l'ho ancora testato sulle zanzare.
Ricorderai nel primo modulo che potremmo usare anche gli altoparlanti come microfono.
Bene, questo è quello che hanno fatto qui, mandano un impulso da 40 kilohertz, quindi commutano
l'elettronica per usare gli altoparlanti come microfoni per ascoltare l'eco dalle pareti o dagli ostacoli.
Ora questo scudo ha solo quattro pin DCC in terra e poi gli altri due pin chiamati Trigger ed echo.
Quindi quando si invia un impulso alto di almeno 10 microsecondi al pin di attivazione, la scheda invia un treno
di impulsi a circa 40 kilohertz.
Il suono si spegne e rimbalza su muri o altri ostacoli.
Fa eco alla scheda, quindi ascolta l'eco e le volte quando riceve l'eco dell'elettronica di bordo, quindi invia un
impulso sul pin Echo e la durata di tale impulso è il tempo che intercorre tra la trasmissione e
la ricezione del suono.
Ora, poiché conosciamo la velocità del suono nell'aria, possiamo utilizzarla come metodo non distruttivo
non distruttivo per rilevare oggetti e misurare distanze con quell'oggetto con sorprendente precisione.
Ora la velocità del suono in errore è di circa trecentoquaranta metri al
secondo o zero punto zero tre quattro centimetri per microsecondo o zero punto zero zero tre quattro millimetri per microsecondo.
Il tempo per l'eco è il tempo impiegato dal suono per viaggiare sia verso l'ostacolo che verso il ritorno.
Quindi dividiamo quel tempo a metà che è il tempo necessario per provare il suono a viaggiare solo in un
modo e prendiamo quel tempo in microsecondi moltiplicandolo per zero punto tre tre e voilà
abbiamo appena misurato la distanza dell'oggetto in centimetri senza anche toccandolo.
Quindi le applicazioni di questa tecnologia e della robotica vanno in lungo e in largo.
Tutto dalla navigazione alla mappatura di aree sconosciute per misurare le distanze al carico che
il robot sta per raccogliere ecc. Immagina un robot mobile che guidi attraverso un sistema di
grotte sconosciute con uno di questi sensori, in modo che sappia mirare in direzioni diverse mentre guida attraverso la grotta.
Può prendere misurazioni in tutte le direzioni, memorizzare quelle misurazioni e costruire effettivamente una mappa.
Può sia costruire la mappa sia navigare la mappa mentre prende le misure lungo la strada.
Questo è il principio alla base della navigazione nello slam, che entreremo in gioco in
cinque localizzazioni simultanee e mappatura che sta costruendo la mappa e localizzandosi all'interno di quella mappa.
Allo stesso tempo, esplorando aree precedentemente inesplorate.
Quindi, quello che faremo è usarlo di nuovo come sensore di prossimità, ma lo useremo per misurare le
distanze in modo manuale.
Quindi puoi vederlo direttamente in azione, quindi useremo la nuova libreria ping e poi
la useremo in combinazione con la nostra piattaforma robot mobile per la prossimità al rilevamento che puoi vedere che ho
rimosso il mio sensore di inferenza e l'ho sostituito con l'ultrasonico
sensore Ho appena fatto zaps abbassato in modo che gli emettitori siano rivolti in avanti ho usato
i collegamenti di alimentazione originali che stavo usando sul sensore a infrarossi e collegato il grilletto all'arduino DI aperto sei e il pin Echo si è
aperto di sette userò il nostro sensore come righello senza contatto per ora ho impostato la funzione di
stampa seriale perché invieremo alcuni dati sullo schermo del computer, quindi nella funzione di loop impostiamo il
grilletto alto per 10 microsecondi, quindi impostarlo basso mentre il grilletto è alto e per un breve periodo
di tempo l'elettronica del ricevitore viene bloccata dallo scudo.
Questo non è solo perché l'elettronica deve passare dall'usare gli altoparlanti come diffusori per
poi collegarli agli amplificatori sulla scheda per utilizzarli come microfoni, è anche perché questa intera scheda si scuoterà
realmente dai suoni emessi in modo da dare letture false
Quindi, una volta completato il blocco, gli amplificatori integrati iniziano ad ascoltare il suono da 40 kilohertz
che torna indietro come un'eco e il tempo necessario.
Ora, a causa di questo ritardo necessario e dell'alta velocità del suono, la misura più vicina che puoi misurare
è di due centimetri o poco meno di un pollice.
Ora questo può essere un po 'stretto per l'uso sul nostro robot mobile delicato poiché non è possibile misurare distanze inferiori
a due centimetri.
Ora non è un grosso problema, suppongo intendo solo quanto vicino vuoi arrivare a quel muro comunque.
Il pin Echo diventerà alto dopo una breve pausa e rimarrà in alto fino a quando non sentirà l'eco.
Se non si sente un eco entro trenta otto millisecondi, si verifica un timeout e si presuppone che tutti gli oggetti
là fuori siano al di fuori del suo intervallo.
Quindi il pin dell'eco si spegne.
Quindi, impiegando 38 millisecondi e dividendolo a metà per ottenere la distanza percorsa, il suono viaggiato è di 19 millisecondi a zero
punto zero tre quattro centimetri per microsecondo. La gamma massima è di circa sei punti quattro sei metri o
superiore a 20 piedi o giù di lì per rendere le cose ancora più semplici.
Qualche persona davvero simpatica che lavora con arduino ha scritto un'istruzione chiamata Pulse in pulse nel controllare un pin che tu
chiami e, per quanto tempo il polso sul pin fosse alto o basso, lo dici nel modo che
vuoi misurare.
Nel nostro caso vogliamo misurare per quanto tempo l'impulso diventa alto sul pin 7.
Il nostro impulso di eco-pin restituisce semplicemente il tempo in microsecondi così facile da farci imbrogliare e richiamare l'istruzione dell'impulso
proprio qui diciamo di scandire l'impulso alto sul nostro pin eco.
Ho scelto di memorizzare quel tempo in una variabile chiamata Echo time.
Solo così puoi vedere la matematica eseguita un po 'più facilmente.
Ora abbiamo bisogno di impostare la nostra misurazione della distanza come variabile con un punto fluttuante.
Punto decimale decimale.
Altrimenti la matematica cercherà costantemente di arrotondare i nostri numeri e otteniamo risultati matematici irregolari, quindi prendiamo il
nostro tempo di eco diviso a metà perché il nostro suono ha viaggiato il doppio rispetto a quello che stiamo cercando di
misurare.
Siamo andati lì e ritorno.
Quindi moltiplichiamo quel tempo in microsecondi di zero punto zero tre quattro quattro centimetri per
microsecondo e voilà abbiamo una distanza che sputiamo a quella distanza sul serio monitor di Mol e lì vai.
Quindi questo è il
codice di esempio ad ultrasuoni disponibile nella sezione di download, prosegui e trasferiscilo sul tuo Arduino.
Ci sono diverse limitazioni qui con il mio schizzo molto breve.
Per esempio, se tutto è più lontano dal mio robot di 2 metri, tutto richiede tempo per prendere queste
misure e nel mio caso particolare diciamo che non mi interessa.
Devo solo sapere se c'è un ostacolo immediatamente davanti a me.
Non posso davvero cambiare la mia distanza di timeout, quindi usiamo ora la nostra nuova libreria ping che abbiamo appena installato, la nuova
libreria ping è davvero impressionante.
Può misurare può eseguire il ping e misurare fino a 15 sensori ad ultrasuoni contemporaneamente.
Quindi, tornando a quella navigazione sottile, stavo parlando di come si possa fare una mappatura
piuttosto seria mettendo una serie di questi sensori tutti sottolineando in una forma sferica che potresti
mappare caverne inesplorate o edifici pericolosi e abbandonati di ogni genere di cose interessanti.
Quindi, ecco il codice di esempio fornito con la nuova libreria ping.
Ma l'ho modificato per la nostra lezione.
Il codice è disponibile per il download nella sezione download.
Dobbiamo prima includere la nuova libreria a pagamento che hai già installato, quindi devi solo
includerla ora e subito dopo l'hop.
Cominciamo a trasferire i dati tra il nostro schizzo e la biblioteca, proprio come se fosse una funzione nel nostro schizzo.
Ora ci sono diverse funzioni all'interno della nuova libreria pin che possiamo chiamare, infatti,
ecco la lista sul sito di Arduino
playground, quindi nel nostro caso useremo la funzione sonar ping presente nella libreria in modo che la libreria si aspetti tre variabili da
consegnare ad esso.
Che il nostro pin Dino è collegato al grilletto sulla protezione che il nostro vetro
è collegato al pin dell'eco sullo scudo e al time-out.
Distanza o distanza massima che si desidera misurare in centimetri.
Se si lascia quel numero, per impostazione predefinita verrà impostato a 500 centimetri o cinque metri.
Quindi inviamo questi dati alla libreria richiamando la libreria e facendo riferimento al sonar e quindi inviando
i dati.
Ora, naturalmente, quali dati vengono trasferiti e come varia da una libreria all'altra.
Quindi devi cercare come viene usata la libreria.
E naturalmente puoi leggere tutti questi dettagli sul sito di giochi Arduino dove hai scaricato
la nuova libreria ping.
Quindi impostiamo il monitor serio per stampare i risultati che la libreria restituisce.
Ecco la chiamata a queste funzioni specifiche nella libreria e il valore restituito viene semplicemente stampato
sul monitor seriale.
Quindi vai avanti e mostra il disegno alla lavagna e sperimenta le distanze di misurazione.
No.
Nota come alcuni oggetti riflettono le onde sonore meglio di altri intorno agli oggetti tendono a
riflettere l'eco in direzioni diverse così come gli oggetti su un angolo la tua pelle tende ad assorbire molto del suono ultrasonico
e di conseguenza non riflette tutto il suono indietro al sensore in modo da
ottenere letture errate o errate.
Così ora ti lascio con la sfida che ora sai come leggere la distanza con il sensore ultrasonico ora e sai
come guidare il tuo robot in giro.
Quindi ti sfiderò per la stessa sfida che abbiamo fatto con il sensore a infrarossi.
Avere il robot semplicemente guidare in avanti e quando incontra un ostacolo semplicemente girare e tornare indietro e procedere in
una direzione diversa.
In questo caso la soglia sarà una distanza dall'oggetto che determinerai e misurerai con
sorprendente accuratezza.
Puoi anche imbrogliare e modificare il tuo schizzo del sensore di prossimità a infrarossi.
OK.
Quindi divertiti con quello.