Skip to main content

Lezione 4: Codifica del sensore di oggetti

Nell'ultima lezione hai imparato a conoscere il sensore di oggetti e hai raccolto le percentuali di riflettività di dischi e cubi. Ora utilizzeremo questi valori per creare un progetto in VEXcode per arrestare il trasportatore di uscita quando un disco viene rilevato dal sensore di oggetti.

In questa lezione imparerai:

  • Configurare il sensore di oggetti in VEXcode.
  • Scopri come utilizzare gli operatori di confronto in VEXcode.
  • Creare un progetto per spostare un disco dal trasportatore di ingresso al trasportatore di uscita utilizzando il feedback del sensore di oggetti.

Alla fine di questa lezione, avrai sviluppato il progetto della lezione precedente per arrestare il trasportatore di uscita quando il disco viene rilevato dal sensore di oggetti.

Disco verde sul trasportatore di uscita e sotto il sensore dell'oggetto.

Modifica del progetto

Inizierai modificando il tuo progetto dall'attività della lezione 2 dell'Unità 4 per preparare l'aggiunta dei comandi relativi al sensore di oggetti.

Apri il progettoUnità 4 Lezione 2 Attivitàin VEXcode EXP oppure ricrea il progetto mostrato qui.

Rinomina il progettoUnità 4 Lezione 4.

Tre pile di blocchi tratte dal progetto della Lezione 2 dell'Unità 4. Nella prima pila è scritto: All'avvio, far girare il trasportatore di ingresso 1 in entrata, attendere 7 secondi, quindi arrestare il trasportatore di ingresso 1. Quindi, far girare in avanti il trasportatore 2, attendere 4 secondi e quindi arrestare il trasportatore 2. Infine, far girare il trasportatore di uscita 4 in uscita, attendere 2 secondi, quindi arrestare il trasportatore di uscita 4. La pila successiva riporta: Quando il paraurti della torre di segnalazione 6 viene premuto, impostare il braccio 10 su controllo arrestato. L'ultimo progetto recita: Quando il controllo del braccio 10 si arresta, imposta la torre di segnalazione 6 su verde e spenta, quindi imposta la torre di segnalazione 6 su rosso e lampeggiante. Infine, arrestare il trasportatore di entrata 1, arrestare il trasportatore di trasporto 2 e infine arrestare il trasportatore di uscita 4.

Configurare il sensore di oggetti in VEXcode aprendo la finestra Dispositivi e selezionandoAggiungi un dispositivo.

La finestra Dispositivi è aperta e il pulsante Aggiungi un dispositivo è evidenziato.

Selezionare 3-Wireper aprire l'elenco dei dispositivi a 3 fili.

Opzioni del dispositivo nella finestra Dispositivi, con l'icona a 3 fili evidenziata in rosso.

Quindi, selezionare il sensore oggetto

Opzioni del dispositivo a 3 fili nella finestra Dispositivi, con l'icona del sensore oggetto evidenziata in rosso.

Selezionare la porta A, quindiFattoper completare la configurazione.

Nota:Assicurarsi che il sensore di oggetti sia collegato alla porta A del Brain.

Finestra Dispositivi con la porta A evidenziata per il sensore oggetto.

Rimuovere gli ultimi due blocchi dal progetto. Ciò include il bloccoWaite il bloccoStopper il trasportatore di uscita, come mostrato in questo video.

File video

Aggiungere un bloccoAttendi fino aal progetto.

Il bloccoWait untilè un blocco che attende che una condizione booleana venga segnalata come vera prima di passare al blocco successivo nello stack.

Continuazione di uno stack EXP VEXcode con un blocco Wait until vuoto aggiunto alla fine. Nella pila è scritto: Una volta avviato, far girare il trasportatore di ingresso 1 in entrata, attendere 7 secondi, quindi arrestare il trasportatore di ingresso 1. Quindi, far girare in avanti il trasportatore 2, attendere 5 secondi e quindi arrestare il trasportatore 2. Infine, far girare il trasportatore di uscita 4 in uscita e quindi attendere fino a.

Operatori di confronto

Ora che il bloccoWait untilè stato aggiunto al progetto, è necessario aggiungere la condizione che il blocco deve controllare. 

In precedenza hai appreso la percentuale di riflettività segnalata dal sensore di oggetti e hai annotato tali valori nel tuo quaderno di progettazione. In questo progetto, è necessario che il trasportatore di uscita funzioniafinché il valore non supera una certa soglia . Una soglia è un parametro utilizzato per determinare se un valore è al di sopra, al di sotto o all'interno di un intervallo accettabile. Gli operatori di confronto possono essere utilizzati per verificare se la riflettività è superiore a un certo valore o a una determinata soglia.

Aggiungere un blocco Maggiore diallo spazio esagonale del bloccoAttendi fino a.

Il blocco Attendi appena aggiunto, con un nuovo parametro booleano pari a 0 maggiore di 50.

Aggiungere un blocco Riflettività nella prima apertura del blocco Maggiore di.

Il blocco Attendi fino a ora è stato aggiunto al blocco Maggiore di con un blocco Riflettività sensore oggetto. L'intero blocco ora riporta la dicitura Attendi finché la riflettività del sensore oggetto A in % è maggiore del 50.

Il bloccoMaggiore diconfronta il primo valore con il secondo. Il blocco Maggiore diattualmente presente nel progetto confronta la percentuale di riflettività riportata dal sensore dell'oggetto con il parametro '50' prima di dichiarare il valore booleano comeVerooFalso

Il blocco Attendi fino a con il valore Maggiore di evidenziato. L'intero blocco ora riporta la dicitura Attendi finché la riflettività del sensore oggetto A in % è maggiore del 50.

Rifletti sugli obiettivi di questo progetto. Il trasportatore di uscita deve girare finché il sensore di oggetti non rileva un oggetto, dopodiché il trasportatore deve fermarsi. I valori raccolti nella lezione precedente possono essere utilizzati con questo bloccoMaggiore diper determinare la soglia che deve essere superata prima che il progetto passi al blocco successivo nello stack.

Cambia il secondo parametro del bloccoMaggiore diin '9.' 

Questo numero si basa sui valori raccolti nell'attività della lezione precedente. La riflettività è stata segnalata al 10% quando il disco verde si trovava sotto il sensore dell'oggetto, quindi qualsiasi valore pari a maggiore di% dovrebbe essere segnalato comeVero.

Il blocco Attendi fino a con il valore Maggiore di evidenziato e modificato da 50 a 9. L'intero blocco ora riporta la dicitura Attendi finché la riflettività del sensore oggetto A in % è maggiore di 9.

Aggiungere un bloccoStopalla fine del progetto. Assicurarsi che il parametro sia impostato su 'ExitConveyor4'.

Continuazione dello stack VEXcode EXP con un pulsante Arresto motore aggiunto alla fine con la scritta Arresto trasportatore di uscita 4. Nella pila è scritto: Una volta avviato, far girare il trasportatore di ingresso 1 in entrata, attendere 7 secondi, quindi arrestare il trasportatore di ingresso 1. Quindi, far girare in avanti il trasportatore 2, attendere 5 secondi e quindi arrestare il trasportatore 2. Infine, far girare il trasportatore di uscita 4 in entrata, attendere che la riflettività del sensore dell'oggetto A in % sia maggiore di 9, quindi arrestare il trasportatore di uscita 4.

Assicuratevi che Brain sia connesso a VEXcode e scaricate il progetto.

Barra degli strumenti VEXcode EXP con l'icona Download evidenziata in un riquadro rosso, tra le icone Brain ed Run.

Leggi il codice e prevedi cosa faranno i trasportatori quando il progetto sarà eseguito. 

Annota la tua previsione nel tuo quaderno di progettazione.

Lo stack EXP VEXcode a cui è stato appena aggiunto il blocco Stop Motor. L'intera pila riporta: All'avvio, far girare il trasportatore di ingresso 1 in entrata, attendere 7 secondi, quindi arrestare il trasportatore di ingresso 1. Quindi, far girare in avanti il trasportatore 2, attendere 5 secondi e quindi arrestare il trasportatore 2. Infine, far girare il trasportatore di uscita 4 in uscita, attendere che la riflettività del sensore dell'oggetto A in % sia maggiore di 9, quindi arrestare il trasportatore di uscita 4.

Assicurarsi che sul trasportatore di ingresso sia posizionato un disco verde. Premi il pulsante Check sul Brain per eseguire il progetto e testarlo.

Osservare il comportamento dei trasportatori durante l'esecuzione del progetto.

EXP Brain con il pulsante Controlla a forma di diamante evidenziato in una casella rossa per avviare il progetto Unità 4 Lezione 4.

Premere il pulsante X sul Brain per interrompere il progetto quando i nastri trasportatori hanno terminato il movimento. Annota le tue osservazioni sul tuo quaderno di progettazione.

I nastri trasportatori si sono mossi come previsto? Il disco verde è stato spostato sul nastro trasportatore di uscita come previsto? Perché sì o perché no?

EXP Brain con il pulsante X di diamante richiamato in un riquadro rosso per terminare il progetto.

Revisione del progetto

Esaminiamo il flusso del progetto in questo progetto che ha arrestato il trasportatore di uscita quando il disco verde è stato rilevato dal sensore di oggetti. Il bloccoAttendi fino aha messo in pausa l'avanzamento del progetto finché la condizione al suo interno non è stata segnalata come TRUE. 

Diagramma che visualizza il flusso logico nel progetto VEXcode EXP. Una freccia indica l'avvio del blocco Attendi fino a quando non si verifica la condizione, mentre una freccia ciclica indica che il blocco attende finché la sua condizione non diventa vera. Il blocco successivo verrà eseguito solo quando la riflettività del sensore dell'oggetto A in % sarà maggiore di 9.

Poiché il bloccoSpinè un blocco non in attesa, consente alla CTE Workcell di continuare a far girare il motore del trasportatore mentre controlla i valori provenienti dal sensore oggetto e la condizione di riflettività superiore al 9%. Dopo che la condizione nel bloccoAttendi fino aviene segnalata comeVERO, il progetto passa al blocco successivo nella pila, arrestando il motore del trasportatore di uscita.

Per vostra informazione

Un'altra combinazione di blocchi può essere utilizzata in un progetto per arrestare il trasportatore di uscita quando un oggetto si trova sotto il sensore oggetto. Il bloccoImposta soglia di rilevamentopuò essere utilizzato all'inizio di un progetto per impostare la soglia, proprio come è stato fatto con il bloccoMaggiore dinel progetto creato sopra. 

Blocco VEXcode EXP Set Detection Threshold che riporta 'Imposta la soglia di rilevamento del sensore oggetto A al 50%.

Una volta impostata la soglia, il blocco BooleanoRileva oggettopuò essere utilizzato in tutti i blocchi con spazi esagonali. Questo blocco riporterà TRUE quando viene raggiunta la soglia di rilevamento definita dal bloccoImposta soglia di rilevamento, oppure FALSE quando la percentuale di riflettività è inferiore a tale soglia.

Blocco VEXcode EXP Detects Object che riporta la scritta 'Il sensore A rileva un oggetto?'.

Poiché il bloccoRilevaoggettoè un blocco booleano, può essere inserito direttamente nel bloccoAttendi fino a.

Versione alternativa dello stack EXP VEXcode, con il blocco booleano Wait Until modificato in un sistema di soglia di rilevamento. Ora l'intero stack riporta: All'avvio, imposta la soglia di rilevamento del sensore oggetto A al 9%. Quindi, far girare il trasportatore di ingresso 1 in entrata, attendere 7 secondi, quindi arrestare il trasportatore di ingresso 1. Quindi, far girare in avanti il trasportatore 2, attendere 5 secondi e quindi arrestare il trasportatore 2. Successivamente, far girare il trasportatore di uscita 4 in entrata, attendere che il sensore A rilevi l'oggetto, quindi arrestare il trasportatore di uscita 4.

Controlla la tua comprensione

Prima di passare alla lezione successiva, assicurati di aver compreso i concetti di questa lezione rispondendo alle seguenti domande sul tuo quaderno di progettazione.

Controlla le tue domande di comprensione > (Google Doc / .docx / .pdf )


Seleziona Avanti > per passare all'attività "Mettere tutto insieme".