Nota
Ciao, benvenuto nella Community di SunFounder per appassionati di Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirsi?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Accedi in anteprima agli annunci dei nuovi prodotti e alle anticipazioni.
Sconti Speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Giveaway Festivi: Partecipa a giveaway e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!
Servo
Panoramica
In questa lezione, esplorerai l’uso di Arduino e dei motori Servo. Concentrandoti sull’Arduino Uno e sul servo motore SG90, imparerai a programmare l’Arduino per controllare il movimento oscillante del servo. Questa tecnica è essenziale in varie applicazioni come la robotica e i sistemi automatizzati.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Elite Explorer Kit |
300+ |
Puoi anche acquistarli separatamente dai link seguenti.
INTRODUZIONE DEI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
- |
|
Cablaggio
Schema Elettrico
Codice
Nota
Puoi aprire il file
27-servo.inonel percorsoelite-explorer-kit-main\basic_project\27-servodirettamente.Oppure copia questo codice nell’IDE di Arduino.
Analisi del Codice
Qui, viene inclusa la libreria
Servoche permette un facile controllo del motore servo. Viene definito il pin collegato al servo e l’angolo iniziale del servo.#include <Servo.h> const int servoPin = 9; // Definisce il pin del servo int angle = 0; // Inizializza la variabile angolo a 0 gradi Servo servo; // Crea un oggetto servo
La funzione
setup()viene eseguita una sola volta quando l’Arduino si avvia. Il servo viene collegato al pin definito utilizzando la funzioneattach().void setup() { servo.attach(servoPin); }
Il ciclo principale contiene due cicli
for. Il primo ciclo aumenta l’angolo da 0 a 180 gradi, e il secondo ciclo diminuisce l’angolo da 180 a 0 gradi. Il comandoservo.write(angle)imposta il servo all’angolo specificato. Ildelay(15)fa sì che il servo aspetti per 15 millisecondi prima di passare all’angolo successivo, controllando la velocità del movimento di scansione.void loop() { // scansiona da 0 a 180 gradi for (angle = 0; angle < 180; angle++) { servo.write(angle); delay(15); } // ora scansiona indietro da 180 a 0 gradi for (angle = 180; angle > 0; angle--) { servo.write(angle); delay(15); } }