Nota

Ciao, benvenuto nella community di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Esplora più a fondo Raspberry Pi, Arduino ed ESP32 con altri appassionati.

Perché unirsi a noi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche grazie al supporto della nostra community e del nostro team.

  • Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni l’accesso anticipato a nuovi annunci di prodotto e anteprime.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e omaggi: Partecipa a giveaway e promozioni durante le festività.

👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!

2.12 Servo

Panoramica

In questa lezione imparerai a conoscere il Servo. Il Servo è un tipo di attuatore che permette di regolare e mantenere la posizione angolare o un attuatore rotativo che consente un controllo preciso della posizione angolare. Attualmente, è ampiamente utilizzato in giocattoli telecomandati di fascia alta, come aeroplani, sottomarini, telerobot e così via.

Componenti necessari

../_images/list_2.12.png

Circuito Fritzing

In questo esempio, utilizziamo il pin PWM 9 per controllare il Servo, collegando il cavo arancione del servo al pin PWM 9, il cavo rosso al 5V e il cavo marrone al GND.

../_images/image454.png

Schema elettrico

../_images/image455.png

Codice

Nota

  • Puoi aprire direttamente il file 2.12_servo.ino nella cartella sunfounder_vincent_kit_for_arduino\code\2.12_servo.

  • Oppure copia questo codice nell’IDE di Arduino.

Dopo aver caricato il codice sulla scheda Mega2560, vedrai il braccio del servo ruotare nell’intervallo 0°~180°.

Analisi del codice

Utilizzando la libreria Servo.h, puoi controllare facilmente il servo.

#include <Servo.h>

Funzioni della libreria:

Servo

Crea un oggetto Servo per controllare un servo.

uint8_t attach(int pin);

Assegna un pin come driver del servo. Chiama pinMode. Restituisce 0 in caso di errore.

void detach();

Libera un pin dal controllo del servo.

void write(int value);

Imposta l’angolo del servo in gradi, da 0 a 180.

int read();

Restituisce il valore impostato con l’ultima chiamata a write().

bool attached();

Restituisce 1 se il servo è attualmente collegato.

Immagine del risultato

../_images/image132.jpeg