6.5 contatto

Blocco Sensore di contatto

Il blocco Sensore di contatto ottiene i dati dal sensore di contatto. Puoi testare se lo stato del sensore di contatto è Premuto, Rilasciato o Premuto e rilasciato e ottenere un output logico (Vero o Falso).Per ulteriori informazioni sul funzionamento del sensore di contatto, i dati forniti e gli esempi di programmazione, vedi Utilizzo del sensore di contatto.

Suggerimenti

Il blocco Sensore di contatto restituisce dati con un filo dati. Per informazioni sugli altri utilizzi del sensore di contatto che non richiedono un filo dati, vedi Utilizzo del sensore di contatto.

SCEGLI LA PORTA DEL SENSORE E LA MODALITÀ.

Utilizza il selettore della porta nella parte superiore del blocco per essere certo che il numero di porta del sensore (1, 2, 3 o 4) corrisponda alla porta sul mattoncino EV3 a cui è connesso il sensore di contatto.

Utilizza il selettore modalità per selezionare la modalità per il blocco. Gli input e output disponibili dipenderanno dalla modalità.

MODALITÀ

Misura - Stato

La modalità Misura- Stato restituisce lo stato del sensore di contatto nell'output Stato. L'output Stato assume il valore Vero se il sensore di contatto è attualmente premuto, altrimenti assume il valore Falso.

Vedi l'esempio di programmazione 3 in Utilizzo del sensore di contatto.

Confronto - Stato

Nella modalità Confronto - Stato puoi scegliere lo stato del sensore di contatto da testare (Rilasciato, Premuto o Rilasciato e premuto) nell'input Stato. Il valore Vero/Falso dello stato selezionato viene restituito in Risultato confronto. Lo stato attuale del sensore viene restituito in Valore misurato.

Per informazioni sul funzionamento dei diversi stati, vedi Utilizzo del sensore di contatto.

INPUT E OUTPUT

Gli input disponibili per il blocco Sensore di contatto dipenderanno dalla modalità selezionata. È possibile immettere i valori di input direttamente nel blocco. In alternativa, i valori di input possono essere forniti da fili dati dagli output di altri blocchi di programmazione.

Gli output disponibili dipenderanno dalla modalità selezionata. Per utilizzare un output, usa un filo dati per connetterlo a un altro blocco di programmazione.

Utilizzo del sensore di contatto

Il sensore di contatto rileva se il pulsante posto sulla parte anteriore è premuto. Puoi utilizzare un sensore di contatto per rilevare ad esempio quando il robot incontra un oggetto spostandosi. Puoi inoltre premere con un dito un sensore di contatto per innescare un'azione.

Il sensore di contatto può indicare se è premuto o meno. Non può misurare quanto a fondo o quanto forte è stato premuto il pulsante. Il sensore di contatto fornisce dati logici (Vero o Falso). La posizione del pulsante del sensore di contatto è detta stato ed è Vero se il pulsante è premuto e Falso se non è premuto (rilasciato).

Il sensore di contatto consente inoltre di tenere traccia del fatto che il pulsante sia stato premuto e quindi rilasciato in precedenza. Questo stato è chiamato Premuto e rilasciato ed è utile per rilevare, ad esempio, le pressioni effettuate con un dito. Per ulteriori informazioni, vedi Informazioni sullo stato Premuto e rilasciato.

DATI DEL SENSORE DI CONTATTO

Il sensore di contatto può fornire i dati seguenti:

ESEMPI DI UTILIZZO DELLO STATO PREMUTO

Di seguito sono riportati alcuni esempi di come utilizzare i dati relativo allo stato Premuto del sensore di contatto.

Esempio 1: spostarsi finché non viene premuto un sensore di contatto

Questo programma fa spostare un robot in avanti in linea retta finché non viene premuto un sensore di contatto, quindi il robot si arresta. Il programma utilizza il blocco Attesa con la modalità Sensore di contatto - Confronto - Contatto per testare lo stato Premuto.

Suggerimenti

Ricorda di utilizzare la modalità On del blocco Movimento con controllo sterzo se desideri far spostare il robot durante l'attesa di un sensore.

Esempio 2: far funzionare un motore ogni volta che viene mantenuto premuto un sensore di contatto (metodo 1)

Questo programma fa funzionare un motore ogni volta che il sensore di contatto viene premuto e mantenuto premuto. Il motore si arresta ogni volta che il sensore di contatto viene rilasciato. Il programma utilizza un blocco Selettore con la modalità Sensore di contatto - Confronto - Contatto per testare lo stato Premuto. Il risultato del test viene utilizzato per scegliere tra l'accensione e lo spegnimento del motore. Il test viene ripetuto continuamente in un ciclo.

Esempio 3: far lampeggiare la luce di stato del mattoncino ogni volta che viene premuto un sensore di contatto

Questo programma fa accendere la luce di stato del mattoncino in arancione e la fa lampeggiare ogni volta che il sensore di contatto viene premuto. Il programma utilizza il blocco Sensore di contatto in modalità Misura per ottenere lo stato del sensore di contatto. Il risultato viene inviato all'input Intermittente del blocco Pulsanti del mattoncino tramite un filo dati logico.

ESEMPI DI UTILIZZO DELLO STATO RILASCIATO

Di seguito sono riportati alcuni esempi di come utilizzare i dati relativi allo stato Rilasciato del sensore di contatto.

Esempio 4: emettere un suono ogni volta che viene premuto il sensore di contatto

Questo programma emette un breve tono ogni volta che il sensore di contatto viene premuto. Per ogni pressione viene emesso un solo tono. Il programma utilizza un blocco Attesa in modalità Sensore di contatto - Confronto - Contatto per testare lo stato Premuto, quindi utilizza un altro blocco Attesa per attendere lo stato Rilasciato prima di far continuare il ciclo.

Suggerimenti

Se elimini l'attesa del rilascio del sensore dal programma, il tono verrà ripetuto fintanto che il sensore di contatto resta premuto. Questo è dovuto al fatto che l'attesa dello stato Premuto proseguirà immediatamente con il blocco successivo se il sensore di contatto è già premuto. Provaci.

Esempio 5: far funzionare un motore ogni volta che viene mantenuto premuto un sensore di contatto (metodo 2)

Questo programma fa funzionare un motore ogni volta che il sensore di contatto viene premuto e mantenuto premuto. Il motore si arresta ogni volta che il sensore di contatto viene rilasciato. Il programma utilizza un blocco Attesa in modalità Sensore di contatto - Confronto - Contatto per attendere lo stato Premuto per avviare il motore, quindi utilizza un altro blocco Attesa per attendere lo stato Rilasciato prima di arrestare il motore. Il processo viene ripetuto in un ciclo.

Suggerimenti

Questo programma esegue le stesse operazioni dell'Esempio 2, ma con un metodo diverso.

INFORMAZIONI SULLO STATO PREMUTO E RILASCIATO

Oltre a indicare se il proprio pulsante attualmente è premuto o rilasciato, il sensore di contatto tiene traccia del fatto che tale pulsante sia stato premuto e rilasciato in precedenza. Questo è il cosiddetto stato Premuto e rilasciato. In questo modo è facile determinare se un sensore di contatto è stato premuto come un pulsante senza dover verificare costantemente che avvenga una pressione e quindi attendere il rilascio.

Dopo che un sensore di contatto indica lo stato Premuto e rilasciato, non indicherà di nuovo tale stato finché non verrà premuto e quindi rilasciato ancora una volta. Questo consente ad esempio di assicurarsi che a ogni pressione corrisponda un'azione che viene eseguita una sola volta. 

Nella tabella seguente è riportato un esempio in cui un sensore di contatto viene premuto e rilasciato due volte come una serie di passaggi. La tabella mostra il risultato di un programma che testa lo stato Premuto, Rilasciato e Premuto e rilasciato dopo ogni azione.

Quando il pulsante rimane premuto, il sensore di contatto continua a indicare Premuto ogni volta che il programma ne testa lo stato. Quando però il pulsante viene rilasciato, il sensore indica Premuto e rilasciato solo la prima volta che il programma legge la presenza di tale stato. Il sensore non indicherà di nuovo Premuto e rilasciato finché il pulsante non viene premuto e rilasciato ancora una volta.

ESEMPI DI UTILIZZO DELLO STATO PREMUTO E RILASCIATO

Di seguito sono riportati alcuni esempi di come utilizzare i dati relativi allo stato Premuto e rilasciato del sensore di contatto.

Esempio 6: cambiare visualizzazione sul display quando viene premuto il sensore di contatto

Questo programma visualizzerà "Zero", quindi "One" (Uno) e infine "Two" (Due) sul display del mattoncino EV3, cambiando la visualizzazione ogni volta che lo stato del sensore di contatto è Premuto e rilasciato (ossia ogni volta che il pulsante viene premuto e quindi rilasciato).

Suggerimenti

Se modifichi l'attesa per i blocchi del programma in modo che venga testata la presenza dello stato Premuto anziché dello stato Premuto e rilasciato, il display da "Zero" passerà direttamente a "Two" (Due), saltando "One" (Uno). Prova. Questo avviene perché i blocchi Display vengono eseguiti così rapidamente che, al secondo test di attesa dello stato Premuto, il dito sta ancora premendo il pulsante per la prima volta, quindi la seconda attesa termina immediatamente. Quando viene eseguito il test dello stato Premuto e rilasciato, avrà esito positivo un solo test per ogni diversa pressione.

Esempio 7: spostarsi secondo uno schema finché il sensore di contatto non viene premuto e rilasciato

Questo programma fa ripetere a un robot uno schema di spostamenti in linea retta e curve finché non viene premuto un sensore di contatto, che funge da pulsante di arresto. Dopo che il sensore di contatto viene premuto, il robot si arresterà dopo la successiva curva. Il programma utilizza un blocco Ciclo in modalità Sensore di contatto per ripetere gli spostamenti finché lo stato del sensore di contatto non è Premuto e rilasciato (ossia finché il pulsante non viene premuto e quindi rilasciato).

Suggerimenti

Se provi questo programma utilizzando Premuto anziché Premuto e rilasciato, premendo il sensore di contatto in genere il robot non si arresterà. Prova. Questo avviene perché il ciclo testa il sensore solo brevemente dopo il completamento dei due blocchi Movimento. Se premi e rilasci il sensore mentre sono in esecuzione i blocchi Movimento, lo stato Premuto non verrà visualizzato. Utilizzando Premuto e rilasciato, il sensore di contatto ricorda che è stato premuto e rilasciato in precedenza.

BLOCCHI E MODALITÀ PER IL SENSORE DI CONTATTO

Nella tabella seguente sono riportati tutti i blocchi di programmazione e le modalità utilizzabili con il sensore di contatto.