«

»

Gen 22

Stampa Articolo

Guanto con sensore di flessione

Avrai immaginato di realizzare un guanto con sensore di flessione leggendo l’articolo di lunedì ed effettivamente il sensore di flessione è particolarmente indicato per questa applicazione.

Guanto con sensore di flessione

Il guanto con sensore di flessione è un progetto che mi ha sempre affascinato, fin dai tempi in cui questo tipo di sensori avevano un costo proibitivo per le mie finanze.

Oggi i sensori hanno un prezzo inferiore alla decina di euro consentendoti, con una spesa contenuta, di realizzare un progetto di guanto con sensore di flessione.

Arduino come si collega al guanto con sensore di flessione ?

Il sensore che vedi in foto è una resistenza variabile che opportunamente collegata ad una resistenza di pull-down puoi collegarla ad un qualsiasi pin analogico arduino leggendo i valori con il comando analogRead().

schema collegamentiArduino è dotato di 6 input analogici per cui potresti controllare 5 sensori di flessione connessi alle 5 dita della mano ed un ulteriore sensore ( accellerometro o altro ) per rilevare uno dei movimenti del polso.

Fissa il sensore di flessione al guanto

Nella foto vedi chiaramente che il sensore di flessione è semplicemente cucito sul dito indice del guanto.

La scelta del cotone e del lavoro di sartoria garantisce diversi vantaggi:

  1. se sbagli il fissaggio puoi scucire e ricucire il sensore;
  2. il sensore è libero di scorrere sotto il filo di cotone durante la piega delle dita;
  3. puoi sostituire facilmente il sensore se si dovesse danneggiare;

guanto sensore flessione montato

Lo sketch di test del guanto con sensore di flessione

I valori di flessione riportati dal sensore possono variare in base alla posizione del sensore sul dito che determina la curva assunta dal sensore di flessione durante la piega del dito.

Per non rischiare di scrivere tutto il codice del tuo guanto con sensore di flessione scoprendo in seguito che i valori letti non sono sufficenti è bene usare un semplice sketch per leggere il sensore di flessione:

/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

 This example code is in the public domain.
 */

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A5);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(200);        // delay in between reads for stability
}

è lo stesso sketch usato nel precedente articolo ma in questo esempio la differenza dei valori non è determinata dallo sketch ma dal sensore che da libero nell’aria è cucito al guanto.

Quando avrai cucito tutti e 5 i sensori al guanto potrai usare questo sketch per raccogliere tutti i valori letti da ciascuno dei cinque sensori:

#define sensPollice A5
#define sensIndice A4
#define sensMedio A3
#define sensAnulare A1
#define sensMignolo A2

int valuePollice = 0;
int valueIndice = 0;
int valueMedio = 0;
int valueAnulare = 0;
int valueMignolo = 0;

void setup() {
  Serial.begin(9600);
  pinMode( sensPollice,INPUT );
  pinMode( sensIndice,INPUT );
  pinMode( sensMedio,INPUT );
  pinMode( sensAnulare,INPUT );
  pinMode( sensMignolo,INPUT );
}

void loop() {
  valuePollice = analogRead( sensPollice );
  valueIndice  = analogRead( sensIndice  );
  valueMedio   = analogRead( sensMedio );
  valueAnulare = analogRead( sensAnulare );
  valueMignolo = analogRead( sensMignolo );

  Serial.print( valuePollice );
  Serial.print( " - " );
  Serial.print( valueIndice );
  Serial.print( " - " );
  Serial.print( valueMedio );
  Serial.print( " - " );
  Serial.print( valueAnulare );
  Serial.print( " - " );
  Serial.print( valueMignolo );
  Serial.print( "\n" );

  delay( 200 );
}

la differenza principale tra i due sketch è rappresentata dalla raccolta dei dati per i cinque sensori fatta dall’ultimo sketch rispetto al primo.

Il viedo del guanto con sensore di flessione

Il video l’ho realizzato solo con un sensore applicato all’indice del guanto e quindi della mano ed il primo sketch:

i valori rilevati variano da 270 a 130 circa e questi valori ci serviranno per determinare l’ampiezza della rotazione del servo del prossimo articolo … ops .. ti ho già svelato l’argomento del prossimo articolo.

Buon Test del guanto con sensore di flessione !!!

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/guanto-con-sensore-di-flessione.html

10 comments

Vai al modulo dei commenti

  1. Ennio Maresca

    Complimenti, mi piace

    1. Mauro Alfieri

      Grazie Ennio 🙂

  2. Davide

    Salve vorrei sapere dove si può acquistare il sensore di flessione.
    Grazie in anticipo.

    1. Mauro Alfieri

      Ciao Davide,
      io ho acquistato il sensore di flessione da robot-domestici.it

      Mauro

  3. Francesco

    Ciao con un singolo sensore di flessione lo sketch da utilizzare e mettere su arduino qual è?

    1. Mauro Alfieri

      Ciao Francesco,
      puoi ricavartelo da quello più complesso a 5 sensori, la descrizione serve proprio a farti capire a cosa servono i comandi e quale logica ho applicato.

  4. Franco

    Perché non usare il guanto per scrivere sul computer con il linguaggio dei muti?!

    1. Mauro Alfieri

      Ciao Franco,
      bellissimo suggerimento. Purtroppo non sono un conoscitore di gel tipo di gesture ma sarebbe interessante come progetto, se ti va di svilupparlo posso pubblicarlo quando lo avrai realizzato.

  5. giuseppe giunta

    ciao Mario sono Giuseppe è sono un sopravvissuto a ictus mi ritrovo senza l uso della mano sn mi potresti aiutare con il guanto robotico grazie aiiendo contatto

    1. Mauro Alfieri

      Ciao Giuseppe,
      grazie per il tuo commento. Il guanto è ancora i fase di sviluppo in questo momento.
      Appena sarà pronto, anche in versione test o sperimentale ti contatterò per coinvolgerti, con il tuo fisioterapista, nella fase di test clinico se siete daccordo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>