Reagire agli urti

In questa parte, ci accingiamo a programmare Thymio modo che reagisca agli urti ed emetta un suono.

L'accelerometro

Come può essere rilevato un urto? Quale sensore può essere utilizzato per questo?

Rilevare urti o brusche variazioni di accellerazione è molto comune e utile. Ecco alcuni esempi:

  • In una macchina, lo shock causato da una collisione può essere rilevato e utilizzato per gonfiare l'airbag.
  • In un certo numero di telefoni cellulari, quando l'utente tocca con il dito una o più volte questo viene rilevato.
  • In un computer portatile, il rilevamento di una caduta libera può essere utilizzato per proteggere il disco rigido in modo che non venga danneggiato dall'urto.

Questo tipo di evento viene rilevato utilizzando l'accelerometro. Come si può indovinare dal nome, l'accelerometro misura le accellerazioni, come la gravità. Si possono quindi anche misurare una caduta libera e gli urti.

Osservare l'attività dell'accelerometro

ASEBA Studio può fare grafici dei valori delle variabili. Per questo, dobbiamo creare il nostro evento. Se vogliamo osservare i tre assi dell'accelerometro (l'accelerazione viene misurata in tre dimensioni), abbiamo bisogno di creare un evento con 3 argomenti. Per fare questo, fare clic sul + ** per aggiungere un evento, quindi dare un nome (ad esempio **my_accelerations) e specificare il numero di argomenti (3).

creer_event

Ora, nel codice, possiamo emettere il valore di accelerazione (variabile acc nella finestra variabili, che dispone di 3 elementi), dall'evento acc al nostro nuovo evento my_accelerations che può trasmettere 3 argomenti:

Quindi, nella finestra Eventi possiamo selezionare my_accelerations e cliccare sul bottone dei grafici.

plot.png

Si apre una nuova finestra con un grafico delle 3 accelerazioni. Vi possiamo vedere cosa succede se il robot è ruotato o se viene urtato.

plotacc.png

Qui vediamo i 3 assi in tre diversi colori. Quando il robot appoggia sulle sue ruote, la gravità viene rilevato sull'asse z (blu). Quando viene messo su un lato, l'accelerazione viene rilevato su un altro asse (quello rosso). Gli urti causano i picchi nei grafici.

Utilizzando l'accelerometro

L'accelerometro può essere utilizzato in diversi modi. Come abbiamo visto, la variabile acc fornisce i valori delle accelerazioni lungo i tre assi, e l'evento acc avviene ogni volta che le accelerazioni vengono misurate.

In aggiunta vi è un evento tocco (tap) che si verifica quando il robot viene toccato o rileva un colpo di qualche tipo. Questi eventi possono essere utilizzati per fare un suono quando il robot viene toccato.

pagina precedente | pagina successiva

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License