Sensore di flessione – montaggio

I sensori che puoi collegare ad arduino sono molteplici e potrei non finire mai di elencarli e testarli tutti, oggi montiamo il sensore di flessione: in grado di misurare la flessione di un corpo fisico.

sensore di flessione

Il sensore di flessione lo puoi acquistare on-line e ti arriva a casa nudo e pronto per essere montato.

Il montaggio del sensore di flessione

Per utilizzare il sensore di flessione dovrai innanzitutto saldare due fili ai contatti del sensore, puoi seguire i passaggi nelle foto:

Step 1: fondi dello stagno sui contatti del sensore:

sensore di flessione saldatura contatti

Step 2: inserisci sui fili da saldare due pezzi di termo-retrattile:

sensore di flessione fili termoretrattili

Step 3: salda i contatti del sensore di flessione ai fili:

sensore di flessione fili saldati

Step 4: retrai il termo-retrattile intorno ai contatti del sensore:

sensore di flessione completo

Schema di collegamento

Il sensore di flessione è una resistenza variabile in funzione della flessione che imponi al sensore stesso.

Collegando un tester ai capi del sensore con fondo scala 50Kohm e flettendolo vedrai cambiare il valore in ohm letti dal tester.

Per usare il sensore di flessione con arduino è necessario porre una resistenza di pull-down o pull-up tra uno dei pin del sensore e Gnd ( pull-down ) o +5v ( pull-up ). Ecco lo schema:

schema collegamenti

come noti puoi collegare un pin del sensore al +5v e l’altro sia al pin A5 di arduino sia ad una resistenza di pull-down verso Gnd.

In questa configurazione potrai leggere su arduino i valori analogici attraverso il pin A5 con il comando analogRead( A5 ); e scriverlo sul monitor seriale.

Lo sketch di test del sensore di flessione

Lo scketch che puoi utilizzare per eseguire il test è il seguente:

/*
  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 sketch lo avrai riconosciuto è l’esempio fornito con l’IDE arduino AnalogReadSerial.ino che ritrovi tra gli esempi di default, a cui ho apportato solo due modifiche:

linea 19: ho sostituito il pin letto dal comando analogRead() inserendo A5 poiché il sensore è collegato a tale pin;

linea 22: ho incrementato il delay da 1 millisecondo previsto nell’esempio di default a 200 millisecondi che ti permettono di visualizzare sul monitor seriale i valori letti.

Buon test !!!

Cortesemente, prima di inserire i commenti leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/elettronica/sensore-di-flessione-montaggio.html

19 comments

2 pings

Skip to comment form

    • Giovanni on 20 gennaio 2014 at 16:26
    • Reply

    Caro Mauro visto che ignoravo l’esistenza di questo sensore allora mi chiedo quali saranno gli altri sensori utilizzabili con Arduino? Mi puoi dare maggiori info.

    1. Ciao Giovanni,
      saranno migliaia i sensori che puoi collegare ad Arduino, puoi trovare una lista abbastanza completa sul blog o sul sito robot-domestici.it da cui io acquisto tali sensori, ma non saranno mai tutti.
      Considera che a tutti i sensori commerciali prodotti nel mondo puoi aggiungere tutti i sensori auto-prodotti dai makers di tutto il globo di cui ignoro l’esistenza.

      Mauro

    • Giovanni on 20 gennaio 2014 at 20:39
    • Reply

    Allora ti pongo la domanda in modo diverso e ciò ti fa comprendere che non ne so molto. Tutti i sensori esistenti sono compatibili con Arduino o solo alcuni sono espressamente dedicati ad essere usati con Arduino? Si tratta solo di differenza di potenziale?

    1. Ciao Giovanni,
      sono compatibili con arduino tutti i sensori che funzionano a +5v o inferiore, almeno per quello che concerne i sensori di tipo analogico.
      Per i sensori di tipo digitale, SPI, ICSP, I2C o altro protocollo di comunicazione devi verificare sensore per sensore e sopratutto se esistono le librerie di controllo per arduino.

      Se hai dei sensori che lavorano con livelli di segnale superiori ai +5v puoi sempre optare per un adattatore di segnale di tipo INPUT/OUTPUT.

      Tu di che tipo di sensore avresti bisogno?

      Mauro

    • Giovanni on 21 gennaio 2014 at 13:25
    • Reply

    Ti ringrazio per la risposta. In particolare non ho bisogno di nessun sensore ti ho posto la domanda solo per curiosità. Ero convinto, chissà perchè, che i sensori disponibili per Arduino fossero limitati.

    1. Ciao Giovanni,
      certamente non sono infiniti, sono di sicuro troppi per farne un elenco.
      Quelli già pronti sono di numero limitato da produttore a produttore.

      Mauro

    • fabio on 21 gennaio 2014 at 18:20
    • Reply

    Articolo da aggiungere alla tesina.Thanks

    1. Ciao Fabio,
      ne pubblicherò altri a breve 😉
      Sulla taratura dei sensori e dei servo.

      Mauro

    • Giuseppe on 24 gennaio 2014 at 02:41
    • Reply

    Articolo davvero interessante..che mi potrebbe schiarire le idee sul progetto che sto cercando di ultimare ..un saluto Mauro.

    1. Ottimo Giuseppe,
      sono certo che ci riuscirai 🙂

      Mauro

        • Giuseppe on 24 gennaio 2014 at 17:04
        • Reply

        Speriamo!..comunque guardando l’articolo seguente mi sa che è proprio quello a cui stai mirando tu..(una mano robot immagino) ..a me dà solo piccoli problemi di corrente e poi dovrebbe essere a posto 😉

    • kevin on 23 giugno 2014 at 21:47
    • Reply

    salve, complimenti innanzitutto per i tuoi tutorial! 🙂
    leggendo i valori ho una scala che va da 520 circa a 820 circa.
    il problema è che mettendo il sensore ad una certa flessione, cambia il valore ma sballa di continuo.
    ad esempio nel piegare ho una scala del genere:
    800
    799
    789
    787
    786
    785
    801 <<
    784
    800<<
    783
    782

    Questo ovviamente si ripete nel tempo.
    E mi crea dei problemi se devo attribuire il valore ad un servo, perchè il servo ha delle "vibrazioni" continue.
    Spero tu possa aiutarmi!
    Grazie in anticipo!

    1. Ciao Kevin, i sensori in genere possono avere delle oscillazioni sui rilievi. Quelli di flessione in particolare ti sembra di tenerli fissi ad una posizione ma non é realmente così.
      Aggiungi un certo grado di errore dovuto alla costruzione di un sensore per uso non professionale ed il gioco é quello che rilevi.

      Il primo grado di auto correzione é eseguito dalla funzione map perché rimappando 800 valori su 180 é circa 1/4 di risoluzione persa a vantaggio della stabilità del servo.
      Se non basta puoi agire con un campionamento di 10/20/30 valori e farne la media prima di inviarli al servo, ovviamente la media la farai anche prima del map()

        • kevin on 25 giugno 2014 at 17:57
        • Reply

        Grazie della risposta Mauro.
        Quindi se ho capito bene, leggo ad esempio 10 valori , faccio la media e poi uso la funzione map()?
        Con quale istruzione potrei fare una media corretta in Arduino?

        1. Ciao Kevin,
          hai compreso in modo egregio.
          La media la fai con una formula matematica: sommi tutti i valori letti nei 10 campioni e dividi per 10 il risultato.

            • kevin on 26 giugno 2014 at 18:27

            grazie mille Mauro, proverò e farò sapere i risultati!

          1. Ottimo Kevin !!!

    • Francesco on 8 settembre 2014 at 22:06
    • Reply

    Ciao ma la resistenza da inserire quale devo mettere? La 1k,10k o 100k??
    Grazie

    1. Ciao Francesco,
      nello schema è riportata la resistenza che ho utilizzato io, è una 10K come puoi vedere dai colori.

  1. […] « Sensore di flessione – montaggio […]

  2. […] Sensore di flessione – montaggio […]

Lascia un commento

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.