Utilizzo del sensore di distanza VEX IQ (1a generazione).

Descrizione

Questo sensore segnala la distanza tra esso e l'oggetto solido più vicino (intervallo 50 mm - 1 m). Calcola la distanza utilizzando il tempo impiegato dalle onde ultrasoniche per rimbalzare su un oggetto e tornare al sensore.

Pezzo sensore di distanza VEX IQ (1a generazione).


Come funziona il sensore di distanza: ascolto della distanza

Schema del sensore di distanza che invia ultrasuoni per colpire un cubo verde e poi riceve il suono riflesso.

Il sensore di distanza utilizza gli stessi principi dei dispositivi sonar per misurare il suono. Invia un minuscolo impulso di ultrasuoni con il suo emettitore su un lato del sensore, quindi cronometra il tempo necessario per sentire il suono riflesso dal ricevitore sull'altro lato del sensore. Il sensore calcola la distanza in base al tempo impiegato dall'impulso sonoro per effettuare il viaggio di andata e ritorno. Il sensore di distanza effettua quindi un calcolo basato sulla velocità del suono per dire al cervello del robot quanto è lontano l'oggetto più vicino. 

Se la superficie non è piana come una parete curva o una palla, l'onda ultrasonica non rimbalza su tutte le parti in modo uguale o contemporaneamente. La superficie più vicina abbastanza grande da riflettere una quantità rilevabile dell'onda determina la distanza rilevata dell'oggetto.


Usi comuni del sensore di distanza:

Blocco VEXcode IQ Oggetto trovato che riporta Distanza trovato un oggetto?

Due diagrammi. In alto, il sensore di distanza è puntato verso un cubo verde nelle vicinanze ed è contrassegnato con un segno di spunta. In basso, il sensore di distanza non è puntato verso nulla nelle vicinanze ed è contrassegnato con il simbolo X.

Questo sensore può rilevare se c'è un oggetto davanti a lui.

VEXcode IQ Distanza dal blocco che legge Distanza distanza in mm.

Questo sensore può misurare la distanza tra esso e un oggetto.

  • Un robot può utilizzare questo sensore per allontanarsi da un oggetto a una certa distanza. Guarda l'animazione qui sotto per vedere come cambia il valore della distanza mentre il robot si sposta finché la distanza non scende sotto i 160 mm.

  • Un robot può utilizzare questo sensore per avvicinarsi a un oggetto senza toccarlo. Guarda questa animazione per vedere due robot che utilizzano sensori di distanza per coordinare la loro guida.

  • I valori forniti da questo sensore possono essere utilizzati per regolare la velocità del robot a seconda che sia vicino o lontano da un oggetto o da una superficie. Guarda questa animazione per vedere un robot che si adatta in base alla distanza da un muro.


Usi del sensore di distanza su un robot da competizione

  • Il robot può utilizzare il sensore di distanza per avviare una sequenza di comportamenti quando si trova nel posto giusto per farlo. Ad esempio, il robot può avanzare finché non rileva che si trova a 150 mm di distanza da un muro, quindi girare di 90 gradi e rilasciare un oggetto in una zona di punteggio.  
  • Il sensore di distanza può essere utilizzato per attivare azioni del robot, come raccogliere un pezzo di gioco, quando viene rilevato un oggetto nel raggio d'azione.
  • Il robot può utilizzare il sensore di distanza per dirigersi verso un oggetto o una superficie finché non si trova entro una distanza specifica, senza toccarlo. Questo può essere usato per assicurarsi che il robot non faccia cadere i pezzi del gioco.
  • Un robot può utilizzare il sensore di distanza per allontanarsi da un oggetto o da una superficie finché non ha raggiunto una distanza specifica. Questo può essere utilizzato per evitare collisioni con altri robot sul campo.

Utilizzo del sensore di distanza nel VEXcode IQ

Aggiunta del sensore di distanza come dispositivo in VEXcode IQ

Menu Dispositivi VEXcode IQ dopo aver selezionato il pulsante Aggiungi un dispositivo. L'opzione Distanza (1a generazione) è evidenziata.

Per codificare il sensore di distanza in VEXcode IQ, è necessario prima configurare il sensore di distanza. Visualizza questo articolo per saperne di più sulla configurazione di un sensore in VEXcode IQ.

Una volta configurato il sensore, nella casella degli strumenti verranno visualizzati i comandi che potrai utilizzare nel tuo progetto.

Codifica del Sensore di Distanza in Blocchi

VEXcode IQ Oggetto trovato blocco che legge Distance7 ha trovato un oggetto?

Il blocco <Object found> è un blocco reporter booleano che segnala una condizione come vera o falsa. I blocchi booleani, come il blocco <Object found> , si inseriscono all'interno di blocchi con input esagonali (a sei lati) per altri blocchi.

Il blocco booleano <Object found> riporta "vero" se il sensore rileva un oggetto e "falso" se il sensore non lo rileva. Per saperne di più sui blocchi booleani visita l'articolo Aiuto o Forme dei blocchi e significato.

 

VEXcode IQ blocca il progetto che utilizza un sensore di distanza per avanzare finché non trova un oggetto. Il progetto recita: Una volta avviato, procedi in avanti, attendi che Distance7 trovi un oggetto, quindi interrompi la guida.

In questo esempio, il blocco <Object found> viene utilizzato con un blocco [Aspetta fino a] per far avanzare il robot finché il sensore di distanza non rileva un oggetto. Quando il sensore rileva un oggetto, il robot smetterà di guidare, come mostrato nell'immagine sopra. 

VEXcode IQ Distanza dal blocco che legge Distance7 distanza in mm.

Il blocco (Distanza da) riporta la distanza dell'oggetto più vicino dal sensore di distanza. Riporta un intervallo compreso tramm e 1.000 mm, oppure tra 1 pollice e 40 pollici. Il blocco (Distanza da) è un blocco reporter utilizzato all'interno di blocchi con spazi circolari.

 

VEXcode IQ blocca il progetto che utilizza un sensore di distanza per avanzare finché la distanza non scende sotto i 50 mm. Il progetto recita: Una volta avviato, procedi in avanti, stampa la distanza Distance7 in mm su Brain, attendi che la distanza Distance7 in mm sia inferiore a 50, quindi interrompi la guida.

In questo esempio, il blocco (Distanza da) viene utilizzato con un blocco [Stampa] per visualizzare sulla schermata Brain la distanza tra il sensore di distanza e un oggetto. Il blocco (Distanza da) viene visualizzato anche all'interno di un blocco <Less than> che si trova all'interno di un blocco {Wait until}. Ciò farà sì che il robot guidi finché il sensore di distanza non rileva un oggetto a meno di 50 millimetri di distanza, quindi smetterà di guidare. Questo è mostrato nel primo video qui sopra.

Codificare il sensore di distanza in Python

Nota:Per codificare un sensore di distanza VEX IQ (1a generazione) in Python, è necessario collegarlo a un cervello VEX IQ (2a generazione). Il cervello VEX IQ (1a generazione) non supporta Python.

distance_7.is_object_detected()

Il comando distance.is_object_detected riporta 'true' se un oggetto viene rilevato e 'false' se un oggetto non viene rilevato.

Nota:Il nome del Sensore di Distanza che appare nel comando corrisponde al nome che gli viene dato nella configurazione. 

drivetrain.drive(FORWARD)
finché distance_7.is_object_detected()
wait(20, MSEC)
drivetrain.stop()
In questo esempio, un cicloWhile con una condizione not viene utilizzato con il comando distance.is_object_detected per far avanzare il robot finché il sensore di distanza non rileva un oggetto. Quando il sensore rileva un oggetto, il robot smette di muoversi, come mostrato nel codice Python sopra.
distanza_7.distanza(MM)

Il comando distance.distance riporta la distanza dell'oggetto più vicino dal sensore di distanza. Segnala un intervallo da24 mm a 1000 mm, o da 1 pollice a 40 pollici.

drivetrain.drive(AVANTI)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
wait(20, MSEC)
drivetrain.stop()

In questo esempio, un ciclo While con una condizione not viene utilizzato con il comando distance.is_object_detected per far avanzare il robot finché il sensore di distanza non rileva un oggetto. Quando il sensore rileva un oggetto, il robot smetterà di guidare.

In questo esempio, il comando distance.distance viene utilizzato con un comando brain.screen.print per visualizzare sullo schermo Brain la distanza tra il sensore di distanza e un oggetto. Il comando distanza.distanza viene mostrato anche all'interno di un ciclo While con una condizione not . Ciò farà sì che il robot guidi finché il sensore di distanza non rileva un oggetto a meno di 50 millimetri di distanza, quindi smetterà di guidare. Questo è mostrato nel primo video qui sopra.

Per saperne di più sulla codifica di un sensore di distanza in Python, consulta l'Unità 5 del corso Informatica Livello 1 - Python. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: