5. Far muovere le dita
| Site: | Bios4You |
| Course: | (4) Robotica nella biotecnologia |
| Book: | 5. Far muovere le dita |
| Printed by: | Guest user |
| Date: | Tuesday, 28 July 2026, 6:12 AM |
Panoramica
Come è stato mostrato in precedenza, uno dei modi più semplici per azionare i movimenti della mano bionica potrebbe essere tramite dei servomotori che tirano dei fili (“tendini”), collegati alla parte mobile più distante di un dito (vedi Fig.35).
Figura 35. Movimento di un dito della mano bionica
I motori possono essere controllati da un Down dispositivo elettronico relativamente autonomo - un single board computer (SBC) delle dimensioni di una carta di credito. Esistono molti dispositivi di questo tipo sul mercato, ma quello suggerito è il microcontrollore Arduino UNO (vedi Fig.36), perché:
- È open-source, relativamente economico ed estremamente popolare tra gli appassionati di elettronica e piccola automazione;
- È incluso come uno dei dispositivi virtuali simulati in Tinker CAD – una piattaforma gratuita basata sul web per l’apprendimento della progettazione. Questo rappresenta un vantaggio particolare poiché la modellazione 3D, la progettazione dei circuiti e del software possono essere eseguite all’interno dello stesso ambiente. Inoltre, la progettazione, modellazione e il test virtuale dell’hardware e del out software aiuteranno a evitare danni alle apparecchiature (e quindi alcune spese), poiché gli elementi hardware virtuali non si guastano se collegati e utilizzati in surfaces modo improprio. Alcuni passaggi di preparazione preventiva consigliati prima di implementare il progetto su hardware reale saranno menzionati di seguito.

Figura 36. Microcontrollore Arduino UNO (vista reale - a sinistra, virtualizzato in TinkerCAD - a destra)
Microcontrollore Arduino UNO
Il microcontrollore Arduino UNO (d’ora in poi denominato “UNO”) ha risorse computazionali limitate rispetto a PC desktop, laptop, tablet o anche telefoni cellulari, ma è completamente adatto al nostro scopo – implementare un movimento controllato:
- UNO può essere collegato a un PC Windows tramite un cavo USB, per fornire alimentazione e caricare un programma software;
- Il software è solitamente sviluppato in una versione limitata del linguaggio di programmazione C all’interno di un ambiente di sviluppo software speciale di Arduino chiamato SKETCH. Vale la pena menzionare che il software può anche essere progettato e testato in Tinker CAD, quindi esportato come file, letto da SKETCH, compilato e caricato su un dispositivo UNO.
- L’UNO con il programma caricato può funzionare senza un PC e controllare i dispositivi collegati, quando alimentato in modo indipendente (si consiglia un’alimentazione DC da 7-12 Volt o una batteria da 9V).
Figura 37. Microcontrollore Arduino UNO e ambiente di sviluppo del programma SKETCH. Si possono notare le uniche due procedure eseguite da UNO, che devono essere progettate: setup() – inizializzazione di una SBC; e loop() – da ripetere finché viene fornita alimentazione.
Figura 38. Sezione “Circuits” (colonna sinistra) in Tinker CAD
Arduino UNO in Tinker CAD
La modellazione dell'elettronica e del software avviene entrando nella sezione “Circuiti” (Fig. 38) in Tinker CAD (la sezione “Progettazione 3D” potrebbe essere stata utilizzata precedentemente per modellare parti delle dita). Si può trovare una vasta libreria di esempi e progetti di Tinker CAD per l'apprendimento.
L'ambiente di sviluppo grafico di Tinker Cad contiene 2 parti: un'elettronica virtuale sulla sinistra e una raccolta di elementi elettronici o un editor di programmazione sulla destra (come si vede in Fig. 39). Quest'ultimo può essere utilizzato in due modalità alternative:
- Editor di programmi C, come in SKETCH – si può esportare un file di programma C da caricare su un vero UNO;
- Ambiente di programmazione grafica “CodeBlocks”, estremamente simile a SCRATCH2. Il programma CodeBlocks viene automaticamente convertito in un programma C (ma non vale il contrario, bisogna fare attenzione a non perdere il proprio lavoro).
Nell'esperimento virtuale saranno utilizzati 5 servo-motori per muovere le dita della mano bionica, come mostrato schematicamente nelle Figure 39 e 40. I motori saranno controllati e azionati dall'UNO, e 10 pulsanti (5 dita x 2 direzioni = 2 file di pulsanti) saranno utilizzati per avviare il movimento.

Figura 40. L'esperimento virtuale - movimento di 5 servo-motori (dita) tramite UNO. Sono utilizzati multimetri aggiuntivi per controllare la corrente attraverso i pulsanti e un servo-motore, al fine di evitare possibili sovraccarichi
Il servo-motore è un dispositivo digitale, che ruota un perno in una posizione data (di solito da 0 a 180 gradi). I motori (pin di controllo) devono essere collegati alle uscite digitali PWM (Pulse-Width Modulation – il modo per specificare la posizione di rotazione) contrassegnate dell'UNO. In totale, ci sono 6 uscite digitali (PWM) di questo tipo in un UNO.
Un set di pulsanti (ad esempio “Su”) sarà collegato agli ingressi analogici di un UNO, un altro set (ad esempio “Giù”) di pulsanti - agli ingressi digitali di un UNO. Va detto che collegare un pulsante a un ingresso analogico e leggere il valore richiede leggermente più sforzo rispetto a un ingresso digitale.
2 Ambiente di programmazione grafica, progettato da MIT.EDU e ampiamente utilizzato per insegnare la programmazione nelle scuole https://scratch.mit.edu/
Sviluppare un programma
L'ambiente di programmazione grafica Tinker CAD (GPE) è limitato allo sviluppo della sola funzione loop(), mentre la setup() viene implementata come predefinita. Questa piccola limitazione può essere superata proseguendo lo sviluppo esclusivamente in C (senza CodeBlocks), soluzione che potrebbe essere accettabile per applicazioni pratiche di maggiore complessità. Il GPE contiene 6 tipi di operazioni “CodeBlocks”, codificate con colori diversi (Fig. 41a): variabili, controllo, output, input, matematica (include il calcolo della verifica di una condizione, le cosiddette operazioni booleane, utilizzate all'interno delle istruzioni di controllo), notazione (commenti). Le istruzioni di diverso tipo vengono combinate tra loro in base alle loro forme.
|
Il programma che muove i servo-motori (“dita”) è composto da una parte minore e due principali (Fig. 41b), separate da commenti in grigio:
|
Figura 41. Parte del programma grafico per l'azionamento dei servo-motori |
Procedendo oltre
Ci sono alcune precauzioni da tenere in considerazione quando si cerca di assemblare un modello hardware realmente funzionante:
- I servomotori hanno potenze diverse e potrebbero richiedere schemi di alimentazione differenti, poiché la scheda UNO potrebbe non fornire abbastanza energia, soprattutto quando è alimentata tramite connessione USB.
- Nella realtà potrebbe essere utile impiegare un sensore di forza all'estremità di ogni dito e utilizzarlo per arrestare un movimento. Tali sensori potrebbero essere letti tramite ingressi analogici, quindi sarà necessario un diverso setup per i pulsanti (riorganizzazione e componenti aggiuntivi).
Per iniziare da solo…
C'è un progetto da cui si consiglia di iniziare (in Tinker CAD) presentato in Fig. 42:
- Prendi semplicemente un UNO virtuale e un servo-motore virtuale.
- Collega l'alimentazione e la massa dalla scheda UNO ai pin corrispondenti del servo-motore, e l'uscita contrassegnata PWM dell'UNO al pin “Signal” del servo-motore. Crea un programma che ruoti il servo-motore in una posizione e poi indietro.
Figura 42. Schema suggerito per la prima simulazione
Letture consigliate
Simulazioni di movimento basate su AR
Prima di caricare il codice sui microcontrollori fisici, gli studenti possono utilizzare la realtà aumentata (AR) per simulare virtualmente i movimenti delle dita. Questo garantisce che i movimenti programmati siano precisi e riduce il rischio di errori meccanici o danni ai componenti durante i test nel mondo reale.
