🚀 Introduzione
Dopo aver realizzato un braccio robotico controllato tramite pulsanti, è arrivato il momento di renderne il movimento ancora più naturale e preciso.
In questo progetto costruirai un braccio robotico a due assi controllato da due potenziometri, trasformando Arduino UNO in una vera centralina di controllo per piccoli sistemi robotici.
Ogni potenziometro funzionerà come un joystick manuale:
Ruotando lentamente una manopola, anche il servomotore si muoverà in modo fluido e proporzionale, rendendo il controllo molto più intuitivo rispetto ai pulsanti.
Questo tipo di controllo viene utilizzato in numerosi sistemi didattici, piccoli robot industriali e simulatori, perché permette di posizionare il braccio con grande precisione.
Il progetto rappresenta inoltre il passaggio ideale verso il prossimo progetto della serie, nel quale il braccio inizierà a movimentare piccoli oggetti in modo automatico.
Dopo aver realizzato un braccio robotico controllato tramite pulsanti, è arrivato il momento di renderne il movimento ancora più naturale e preciso.
In questo progetto costruirai un braccio robotico a due assi controllato da due potenziometri, trasformando Arduino UNO in una vera centralina di controllo per piccoli sistemi robotici.
Ogni potenziometro funzionerà come un joystick manuale:
- il primo controllerà la rotazione della base;
- il secondo controllerà il movimento verticale del braccio.
Ruotando lentamente una manopola, anche il servomotore si muoverà in modo fluido e proporzionale, rendendo il controllo molto più intuitivo rispetto ai pulsanti.
Questo tipo di controllo viene utilizzato in numerosi sistemi didattici, piccoli robot industriali e simulatori, perché permette di posizionare il braccio con grande precisione.
Il progetto rappresenta inoltre il passaggio ideale verso il prossimo progetto della serie, nel quale il braccio inizierà a movimentare piccoli oggetti in modo automatico.
🎯 Cosa realizzerai
Con Arduino creerai un sistema che permette di:
Con Arduino creerai un sistema che permette di:
- 🤖 controllare un piccolo braccio robotico a due assi;
- 🎛️ utilizzare due potenziometri come comandi analogici;
- ↔️ ruotare la base del braccio;
- ↕️ sollevare e abbassare il secondo asse;
- 📐 ottenere movimenti fluidi e proporzionali;
- ⚙️ limitare automaticamente gli angoli dei servomotori;
- 💡 visualizzare lo stato del sistema tramite un LED;
- 🔄 aggiornare continuamente la posizione dei servo;
- ✅ utilizzare un codice completamente compatibile con Arduino UNO.
🧰 Materiale necessario
Per ottenere movimenti più precisi è consigliabile utilizzare potenziometri di buona qualità con rotazione regolare.
- 1x Arduino UNO;
- 2x servomotori SG90 o MG90S;
- 2x potenziometri lineari da 10 kΩ;
- 1x struttura per braccio robotico a due assi;
- 1x LED;
- 1x resistenza da 220 Ω;
- 1x alimentatore esterno stabilizzato da 5 V;
- 1x condensatore elettrolitico da 470 µF o 1000 µF (consigliato);
- breadboard;
- cavetti jumper;
- cavo USB.
Per ottenere movimenti più precisi è consigliabile utilizzare potenziometri di buona qualità con rotazione regolare.
🛒 Non hai ancora i componenti?
Molti dei progetti presenti su progettiarduino.com utilizzano componenti elettronici di base come LED, resistenze, sensori e breadboard.
Se stai iniziando con Arduino, il modo più semplice è utilizzare un kit completo per principianti, che include quasi tutti i componenti necessari per realizzare molti dei progetti presenti sul sito.
👉 Kit Arduino consigliato:
ℹ️ Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
https://amzn.to/4b3dxjW
📘 Vuoi imparare Arduino passo dopo passo?
Se vuoi approfondire e realizzare progetti più completi, puoi dare un'occhiata anche ai miei libri dedicati ad Arduino.
All'interno troverai spiegazioni semplici, schemi chiari e molti progetti pratici pensati per chi parte da zero.
👉 Scopri i miei libri su Arduino:
ℹ️ Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
https://amzn.to/4rfzjXE
Molti dei progetti presenti su progettiarduino.com utilizzano componenti elettronici di base come LED, resistenze, sensori e breadboard.
Se stai iniziando con Arduino, il modo più semplice è utilizzare un kit completo per principianti, che include quasi tutti i componenti necessari per realizzare molti dei progetti presenti sul sito.
👉 Kit Arduino consigliato:
ℹ️ Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
https://amzn.to/4b3dxjW
📘 Vuoi imparare Arduino passo dopo passo?
Se vuoi approfondire e realizzare progetti più completi, puoi dare un'occhiata anche ai miei libri dedicati ad Arduino.
All'interno troverai spiegazioni semplici, schemi chiari e molti progetti pratici pensati per chi parte da zero.
👉 Scopri i miei libri su Arduino:
ℹ️ Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
https://amzn.to/4rfzjXE
📚 Librerie necessarie
Il progetto utilizza esclusivamente la libreria:
Il progetto utilizza esclusivamente la libreria:
- Servo
🔌 Schema di collegamento
Servomotore della base
Servomotore del braccio
Potenziometro Base
Potenziometro Braccio
LED
Servomotore della base
- filo segnale → pin digitale 9
- filo rosso → alimentazione esterna 5 V
- filo nero/marrone → GND
Servomotore del braccio
- filo segnale → pin digitale 10
- filo rosso → alimentazione esterna 5 V
- filo nero/marrone → GND
Potenziometro Base
- terminale laterale → 5V
- terminale centrale → A0
- terminale laterale opposto → GND
Potenziometro Braccio
- terminale laterale → 5V
- terminale centrale → A1
- terminale laterale opposto → GND
LED
- anodo → pin digitale 7 tramite resistenza da 220 Ω
- catodo → GND
⚠️ Alimentazione
I servomotori non dovrebbero essere alimentati direttamente dal pin 5V di Arduino.
Durante il movimento possono assorbire una corrente elevata che potrebbe causare:
Per questo motivo è consigliabile utilizzare un alimentatore esterno stabilizzato da almeno 2 A.
Ricorda inoltre di collegare insieme:
I servomotori non dovrebbero essere alimentati direttamente dal pin 5V di Arduino.
Durante il movimento possono assorbire una corrente elevata che potrebbe causare:
- riavvio della scheda;
- movimenti irregolari;
- vibrazioni;
- perdita della connessione USB.
Per questo motivo è consigliabile utilizzare un alimentatore esterno stabilizzato da almeno 2 A.
Ricorda inoltre di collegare insieme:
- GND di Arduino;
- GND dell'alimentatore;
- GND dei servomotori.
💻 Codice Arduino
⚙️ Come funziona
Arduino legge continuamente la posizione dei due potenziometri tramite gli ingressi analogici A0 e A1.
Ogni potenziometro restituisce un valore compreso tra:
Ruotando lentamente una manopola, il servo seguirà fedelmente il movimento.
L'aggiornamento avviene continuamente, permettendo di posizionare il braccio con grande precisione.
Per evitare movimenti bruschi, il codice limiterà gli angoli utilizzabili in funzione della struttura meccanica, proteggendo così i servomotori dai fine corsa.
Quando almeno uno dei due assi è in movimento, il LED di stato si accende per indicare che il sistema sta ricevendo un comando.
Il risultato è un controllo molto naturale, simile a quello utilizzato nei piccoli manipolatori robotici.
Arduino legge continuamente la posizione dei due potenziometri tramite gli ingressi analogici A0 e A1.
Ogni potenziometro restituisce un valore compreso tra:
- 0
- 1023
Ruotando lentamente una manopola, il servo seguirà fedelmente il movimento.
L'aggiornamento avviene continuamente, permettendo di posizionare il braccio con grande precisione.
Per evitare movimenti bruschi, il codice limiterà gli angoli utilizzabili in funzione della struttura meccanica, proteggendo così i servomotori dai fine corsa.
Quando almeno uno dei due assi è in movimento, il LED di stato si accende per indicare che il sistema sta ricevendo un comando.
Il risultato è un controllo molto naturale, simile a quello utilizzato nei piccoli manipolatori robotici.
💡 Suggerimenti pratici
- Alimenta sempre i servomotori con una sorgente esterna.
- Utilizza potenziometri lineari da 10 kΩ per ottenere una regolazione più uniforme.
- Monta i servi nella posizione centrale prima di fissare le leve del braccio.
- Verifica che nessuna parte meccanica possa urtare durante la rotazione.
- Se il movimento risulta troppo sensibile, potrai ridurre la velocità direttamente nel codice.
- Utilizza cavetti corti per ridurre eventuali disturbi elettrici.
- Se noti leggere vibrazioni, aggiungi un condensatore da 470 µF vicino all'alimentazione dei servomotori.
⚠️ Errori comuni
Il servo vibra continuamente
Generalmente è dovuto a:
Arduino si riavvia
Quasi sempre i servomotori stanno assorbendo troppa corrente.
Utilizza un alimentatore esterno.
Il movimento è invertito
È sufficiente invertire i limiti oppure ruotare fisicamente il servomotore.
Il braccio arriva a fine corsa
Riduci gli angoli massimi e minimi nel programma.
Il movimento non è fluido
Controlla:
Il servo vibra continuamente
Generalmente è dovuto a:
- alimentazione insufficiente;
- potenziometro economico o usurato;
- struttura troppo pesante.
Arduino si riavvia
Quasi sempre i servomotori stanno assorbendo troppa corrente.
Utilizza un alimentatore esterno.
Il movimento è invertito
È sufficiente invertire i limiti oppure ruotare fisicamente il servomotore.
Il braccio arriva a fine corsa
Riduci gli angoli massimi e minimi nel programma.
Il movimento non è fluido
Controlla:
- fissaggio delle leve;
- alimentazione;
- qualità del potenziometro;
- eventuali giochi meccanici.
🔄 Varianti possibili
Vuoi migliorare il progetto?
Vuoi migliorare il progetto?
- 🦾 aggiungi un terzo servomotore per una pinza;
- 🤖 costruisci un braccio robotico a tre assi;
- 💾 salva le posizioni nella memoria EEPROM;
- ▶️ registra una sequenza di movimenti;
- 📟 visualizza gli angoli su display LCD;
- 📱 controlla il braccio tramite Bluetooth;
- 🌐 aggiungi il controllo Wi-Fi;
- 🎮 utilizza un joystick analogico al posto dei potenziometri;
- 📡 invia gli angoli al PC tramite Monitor Seriale;
- 📦 prepara il sistema per il progetto Pick and Place.