PROGETTI ARDUINO

  • HOME
  • PROGETTI E TUTORIAL
    • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI
  • SOSTIENI IL BLOG
  • HOME
  • PROGETTI E TUTORIAL
    • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI
  • SOSTIENI IL BLOG

55. Arduino mano robotica

Arduino Mano robotica (robotic hand)
Foto
Foto
Salve ragazzi, Oggi realizzeremo un progetto per creare una mano robotica con 5 sensori di flessione e 5 servo che comandano la mano stessa.
 Questo progetto è molto innovativo, ci permette di muovere una mano robotica grazie all`uso di 5 servo motori comandati da 5 sensori di flessione posti sulle dita di un guanto.

Arduino leggerà i valori dati dai sensori di flessione e ci consentirà di muovere i servo di 180°, quest`ultimi tireranno un filo collegato su ciascun dito della mano robotica.

Per imparare ad utilizzare i servomotori vi rimando alla sezione tutorial
Foto
I sensori flessione sono delle barrette regolatrici di resistenza flessibili (vedi immagine sopra), collegandole sulle dita di un guanto invieremo un segnale analogico ad Arduino e faremo muovere ciascun dito.

​
Per acquistare i componenti su e eBay cliccare questo link
​
​
Per acquistare i tuoi componenti su Amazon clicca su questo link
Per costruire la mano robotica esistono vari metodi, il primo è tramite la stampa 3D, troverete online vari programmi per la stampa, la seconda più semplice è comprare un kit già pronto come quello nell`immagine sottostante che per noi è l`ideale.
Foto
​Compra qui la tua mano robotica
Per prima cosa dobbiamo leggere i valori dei sensori di flessione, e ho creato un semplice programma che ci permette di leggere sul serial monitor un valore in bit della tensione in ingresso compreso tra 1 e 1023.

Nel nostro caso quando i sensori sono piegati (pugno chiuso) il valore è di circa 400-450, quando sono lineari (mano aperta) il valore è compreso tra 650-700.
​
Qui sotto vi lascio il file dello sketch per leggere i sensori di flessione.
Foto
Sketch_lettura_sensori_di_flessione.ino
File Size: 0 kb
File Type: ino
Scarica file



Ora procediamo con il collegamento seguendo lo schema sottostante.

Ricordo che fra il sensore e Arduino va inserita una resistenza da 22Kohm e i servomotori vanno collegati alle porte pwm.
​
Foto
Simulazione:
Link simulazione: https://www.tinkercad.com/things/4Zk09eOezJR
 
Arduino calcola il valore di ogni flessione del sensore e visualizza un numero all'incirca tra 400-700 per indicare la flessione. 

Ora dobbiamo convertire il valore che sta tra 400 e 700 ai valori proporzionali di angolo di un servo motore che sta tra 0 e 180, in modo che il servo ruota in corrispondenza della curvatura dei sensori di flessione. 

In seguito ho nominato  la posizione di una variabile P , e calcolato che:


Gamma di possibili flexValues ​​= 700-400 = 300

currentFlexVal / 300 (flexValues ​​gamma 0f) = P / 180 (posizione del servo)

300 * P = 180 * currentFlexVal

P = 0.6 * currentFlexVal

Sapendo che la nuova posizione è = 0.6 * currentFlexVal, ho creato la mia funzione di mappatura chiamata findPosition che prende il valore flex corrente e restituisce una posizione proporzionale tra 0-180 da inviare al servo. 
Ed infine ecco lo sketch:
Foto
Foto
Qui sotto troverete lo Sketch da immettere nel programma. 

Buon divertimento!
sketch_arduino_mano_robotica.ino
File Size: 2 kb
File Type: ino
Scarica file

Condividete nei commenti le foto dei vostri progetti.
Offerta speciale Banggood solo utenti www.ProgettiArduino.com
Visita la pagina dedicata cliccando l'immagine sottostante.
Foto
Foto
Foto
Foto
Se ti va lascia un mi piace, supporta il blog!
© ProgettiArduino.com 2019 - Fancello Salvatore
​ Layout, immagini e testi sono di esclusiva proprietà di www.progettiarduino.com 
Privacy Policy