PROGETTI ARDUINO

  • HOME
  • 200 Progetti
  • Progetti e Tutorial
  • Reti
    • Impara le reti
    • internet fibra
    • wifi mesh
    • modem router
    • diagnostica reti
    • ethernet lan
    • sicurezza configurazione
  • Elettronica
  • Recensioni
  • Manuale
  • Contatti
  • HOME
  • 200 Progetti
  • Progetti e Tutorial
  • Reti
    • Impara le reti
    • internet fibra
    • wifi mesh
    • modem router
    • diagnostica reti
    • ethernet lan
    • sicurezza configurazione
  • Elettronica
  • Recensioni
  • Manuale
  • Contatti

Progetto 154
​Rotazione automatica di oggetti con Arduino

🚀 Introduzione
​

In molti sistemi automatici è necessario ruotare un oggetto fino a una posizione precisa prima di eseguire un’operazione.

Questo principio viene utilizzato, ad esempio, nei piccoli espositori rotanti, nei sistemi fotografici, nei selettori automatici, nei dispositivi di ispezione e nelle linee di lavorazione.

In questo progetto realizzerai un semplice sistema per la rotazione automatica di oggetti utilizzando Arduino UNO e un servomotore.

L’oggetto verrà posizionato sopra una piccola piattaforma collegata all’albero del servo. Premendo un pulsante, Arduino farà ruotare automaticamente la piattaforma attraverso una serie di posizioni prestabilite.

Il sistema utilizzerà tre angoli principali:
  1. posizione iniziale;
  2. posizione centrale;
  3. posizione finale.

A ogni pressione del pulsante, la piattaforma passerà alla posizione successiva con un movimento graduale.

Un LED indicherà quando la rotazione è in corso.
​
Il progetto è semplice da realizzare, ma permette di comprendere concetti importanti come il controllo della posizione, la gestione di una sequenza automatica e la protezione dei limiti meccanici.

🎯 Cosa realizzerai
​

Con Arduino costruirai un sistema capace di:
  • 🔄 ruotare automaticamente un piccolo oggetto;
  • ⚙️ controllare un servomotore;
  • 🔘 avviare la rotazione tramite pulsante;
  • 📐 raggiungere posizioni angolari prestabilite;
  • 🐢 eseguire movimenti graduali;
  • 💡 indicare il movimento tramite un LED;
  • 🔁 passare ciclicamente tra più posizioni;
  • 🛑 fermarsi automaticamente al termine della rotazione;
  • 🧠 memorizzare la posizione corrente;
  • ✅ utilizzare codice compatibile con Arduino UNO.

🧰 Materiale necessario
​
  • 1x Arduino UNO;
  • 1x servomotore SG90, MG90S o compatibile;
  • 1x piccola piattaforma rotante;
  • 1x supporto per il servomotore;
  • 1x pulsante;
  • 1x LED;
  • 1x resistenza da 220 Ω;
  • 1x alimentatore esterno stabilizzato da 5V;
  • 1x condensatore elettrolitico da 470 µF, consigliato;
  • 1x breadboard;
  • cavetti jumper;
  • viti e distanziali;
  • cavo USB.
​
Per oggetti molto leggeri può essere utilizzato un servomotore SG90.
Per una piattaforma più pesante è preferibile utilizzare un MG90S oppure un servomotore con coppia maggiore.

🛒 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
​

📚 Librerie necessarie
​

​Il progetto utilizza la libreria:
  • Servo
La libreria Servo è normalmente già inclusa nell’Arduino IDE e non richiede installazioni aggiuntive.
Il servomotore viene comandato specificando l’angolo desiderato.
​
Nel programma verranno utilizzati alcuni valori prestabiliti, modificabili in base alla struttura meccanica.

🔌 Schema di collegamento

Servomotore
  • filo del segnale → pin digitale 9;
  • filo rosso → positivo dell’alimentazione esterna da 5V;
  • filo marrone o nero → GND dell’alimentazione esterna.

Pulsante di rotazione
  • un terminale → pin digitale 2;
  • terminale opposto → GND.
Il pulsante utilizza la modalità INPUT_PULLUP.
Non è quindi necessaria una resistenza esterna di pull-up o pull-down.

LED di movimento
  • anodo → pin digitale 7 tramite resistenza da 220 Ω;
  • catodo → GND.
Il LED rimane acceso durante lo spostamento della piattaforma e si spegne quando la posizione finale è stata raggiunta.
⚠️ Alimentazione
​

Il servomotore non dovrebbe essere alimentato direttamente dal pin 5V di Arduino quando deve ruotare una piattaforma con un oggetto sopra.
Durante il movimento il servo può richiedere una corrente elevata, soprattutto:
  • all’avvio;
  • durante un cambio di direzione;
  • quando sostiene un peso;
  • quando incontra un ostacolo;
  • quando raggiunge un fine corsa meccanico.

Un’alimentazione insufficiente può provocare:
  • vibrazioni;
  • movimenti irregolari;
  • perdita della posizione;
  • riavvio di Arduino;
  • surriscaldamento del regolatore.

Utilizza un alimentatore esterno stabilizzato da 5V capace di fornire almeno 1 A per un piccolo servomotore.
Per modelli più potenti è necessaria una corrente maggiore.

Ricorda di collegare insieme:
  • GND di Arduino;
  • GND dell’alimentatore esterno;
  • GND del servomotore;
  • GND del pulsante;
  • GND del LED.

👉 La massa comune è indispensabile per permettere ad Arduino di inviare correttamente il segnale di controllo.
​
È inoltre consigliabile collegare un condensatore elettrolitico da 470 µF tra il positivo e il negativo dell’alimentazione del servo.
Foto

💻 Codice Arduino
​

Il programma controllerà:
  • la lettura del pulsante;
  • l’antirimbalzo;
  • la posizione corrente;
  • la scelta della posizione successiva;
  • il movimento graduale del servomotore;
  • il LED di stato;
  • il ritorno ciclico alla posizione iniziale.

    

⚙️ Come funziona
​

Quando Arduino viene acceso, il servomotore porta la piattaforma nella posizione iniziale.
Il sistema rimane quindi in attesa della pressione del pulsante.

Alla prima pressione:
  • il LED si accende;
  • la piattaforma ruota gradualmente dalla posizione iniziale alla posizione centrale;
  • il servo si ferma;
  • il LED si spegne.

Alla seconda pressione, la piattaforma passa dalla posizione centrale alla posizione finale.

Alla terza pressione, ritorna alla posizione iniziale.

La sequenza viene quindi ripetuta ciclicamente:
  • posizione iniziale;
  • posizione centrale;
  • posizione finale;
  • ritorno alla posizione iniziale.
​
Arduino memorizza sempre la posizione attuale, così sa quale sarà il prossimo angolo da raggiungere.

📐 Posizioni prestabilite
​

Il progetto può utilizzare, ad esempio, i seguenti angoli:
  • posizione iniziale → 30°;
  • posizione centrale → 90°;
  • posizione finale → 150°.

Questi valori sono soltanto indicativi.

Dovranno essere regolati in base a:
  • orientamento del servo;
  • forma della piattaforma;
  • spazio disponibile;
  • presenza di ostacoli;
  • angolo massimo consentito dalla struttura.

Non tutti i servomotori raggiungono realmente 0° e 180°.
​
È consigliabile mantenere un margine di sicurezza rispetto ai fine corsa.

🐢 Movimento graduale
​

La piattaforma non passa immediatamente da un angolo all’altro.

Il programma modifica la posizione di pochi gradi alla volta.

Questo sistema permette di:
  • rendere il movimento più fluido;
  • ridurre gli urti;
  • evitare la caduta dell’oggetto;
  • diminuire le sollecitazioni meccaniche;
  • controllare meglio la velocità.

La velocità può essere regolata modificando il tempo tra un piccolo spostamento e quello successivo.
Un intervallo maggiore produce una rotazione più lenta.
​
Un intervallo minore rende la rotazione più veloce.

🔘 Gestione del pulsante

Un pulsante meccanico non produce sempre una singola variazione pulita.

Durante la pressione può generare diversi impulsi molto ravvicinati, fenomeno conosciuto come rimbalzo dei contatti.

Senza una gestione corretta, una sola pressione potrebbe essere interpretata come due o tre comandi.

Il codice utilizzerà un breve sistema antirimbalzo per accettare una sola pressione valida.
​
Al termine della rotazione sarà inoltre necessario rilasciare il pulsante prima di avviare un nuovo movimento.

💡 Suggerimenti pratici
​
  • Centra il servomotore prima di fissare la piattaforma.
  • Utilizza una piattaforma molto leggera.
  • Posiziona l’oggetto il più vicino possibile al centro di rotazione.
  • Fissa il servomotore a una base rigida.
  • Evita che la piattaforma tocchi cavi o altri componenti.
  • Utilizza un supporto per distribuire meglio il peso.
  • Regola gli angoli prima di montare oggetti fragili.
  • Inizia con movimenti lenti.
  • Verifica che il servo non emetta rumori quando è fermo.
  • Utilizza un’alimentazione esterna stabile.
  • Evita di superare il carico massimo del servomotore.
  • Riduci l’ampiezza della rotazione se la struttura si muove.

Per piattaforme più grandi, il peso non dovrebbe gravare direttamente sull’albero del servo.
​
In questi casi è meglio utilizzare:
  • un cuscinetto;
  • un supporto rotante;
  • un perno centrale;
  • una trasmissione a ingranaggi o cinghia.

⚠️ Errori comuni

Il servomotore non si muove
Controlla:
  • collegamento del filo del segnale;
  • alimentazione del servo;
  • massa comune;
  • pin utilizzato nel programma;
  • corretto caricamento del codice;
  • funzionamento del pulsante.

La piattaforma ruota nella direzione opposta
La direzione dipende dall’orientamento del servomotore.
Puoi:
  • invertire le posizioni nel codice;
  • ruotare fisicamente il servo;
  • cambiare l’ordine degli angoli;
  • modificare il punto di montaggio della piattaforma. 

Il servo vibra quando è fermo
Le possibili cause sono:
  • alimentazione instabile;
  • oggetto troppo pesante;
  • piattaforma sbilanciata;
  • fine corsa meccanico;
  • servo di scarsa qualità;
  • struttura che oppone resistenza.
Riduci il carico e controlla che il servo non stia spingendo contro un ostacolo.

Arduino si riavvia durante la rotazione
Il servomotore probabilmente sta assorbendo troppa corrente.
Utilizza un’alimentazione esterna e verifica la massa comune.
Non alimentare una piattaforma sotto carico direttamente dal pin 5V di Arduino.

Una pressione provoca più rotazioni
Il pulsante potrebbe generare rimbalzi oppure essere mantenuto premuto troppo a lungo.
Il codice deve:
  • applicare un breve antirimbalzo;
  • rilevare il passaggio da non premuto a premuto;
  • attendere il rilascio prima di accettare un nuovo comando.

La piattaforma non raggiunge l’angolo desiderato
Controlla:
  • limiti reali del servomotore;
  • corretto fissaggio della leva;
  • giochi meccanici;
  • peso dell’oggetto;
  • tensione di alimentazione;
  • angoli impostati nel programma.
Un servo economico può avere una precisione inferiore rispetto ai modelli di qualità superiore.

Il servomotore diventa caldo
Interrompi l’alimentazione se il servo diventa molto caldo.
Potrebbe essere:
  • bloccato;
  • sovraccarico;
  • spinto oltre il limite;
  • alimentato con una tensione errata;
  • costretto a sostenere un peso eccessivo. 

🔄 Varianti possibili
​

Vuoi migliorare il progetto?
  • 🔢 aggiungi più posizioni di rotazione;
  • 🎛️ regola l’angolo tramite potenziometro;
  • ⏱️ avvia automaticamente la rotazione a intervalli regolari;
  • 📟 visualizza l’angolo su un display LCD;
  • 🔘 aggiungi un pulsante per ogni posizione;
  • ↩️ inserisci un pulsante di ritorno alla posizione iniziale;
  • 📡 controlla la piattaforma tramite Bluetooth;
  • 🌐 aggiungi un comando Wi-Fi;
  • 📷 realizza una piattaforma per fotografie a 360°;
  • 💡 sincronizza l’illuminazione con la rotazione;
  • 🔔 aggiungi un buzzer al raggiungimento della posizione;
  • 📦 utilizza un sensore per rilevare la presenza dell’oggetto;
  • 🔄 crea una rotazione automatica continua;
  • ⚙️ sostituisci il servo con un motore passo-passo;
  • 🏭 integra la piattaforma in una piccola linea automatizzata.

Foto
Foto

© ProgettiArduino.com 2026 - Fancello Salvatore
​ Layout, immagini e testi sono di esclusiva proprietà di www.progettiarduino.com 
Privacy Policy