Angebot!

Micro-Servo 9g SG90 Motor für Modellbau RC-Helikopter Flugzeuge Robotik Amateur-Arduino

Ursprünglicher Preis war: 6,46 €Aktueller Preis ist: 4,00 €. USt.-frei

Micro-Servo 9g SG90 Motor für Modellbau RC Hubschrauber Flugzeuge Robotik Amateur-Arduino

31 vorrätig (kann nachbestellt werden)

Domande su questo prodotto? Scrivi a Lana su WhatsApp

Kategorien: ,

🎬 Das Produkt im Video

Beschreibung


🛠 Vollständige Beschreibung des Micro Servo 9g SG90

Das Micro Servo SG90 9g ist ein kleiner Servo-Motor, der häufig in Modellbau (Hubschrauber, Flugzeuge), Amateur-Robotik, Projekten mit Arduino und Selbstversorgung verwendet wird. Es wird geschätzt wegen seiner Leichtigkeit, niedrigeren Kosten und einfacher Bedienung.

✅ Technische Spezifikationen:

Spezifikation Wert
Modell SG90 Micro Servo
Gewicht 9g
Drehmoment 1,8 kg/cm (bei 4,8V)
Betriebsspannung 4.8V – 6V
Winkelbereich Etwa 180° (mechanisch begrenzt)
Geschwindigkeit 0,12 sec/60° (bei 4,8V)
Art der Steuerung PWM (Pulsweitenmodulation)
Kontakte 3-polig: GND (braun), VCC (rot), Signal (orange)
Material der Zahnräder Nylon

📦 Typischer Inhalt der Verpackung:

  • 1x Micro Servo SG90
  • 3x Armstücken (Hörner)
  • 3x Schrauben

🔌 Verbindung des Micro Servo SG90 mit Arduino

Servo Arduino UNO
GND (braun) GND
VCC (rot) 5V
Signal (orange) Digitale Pin (z.B. D9)

⚠️ Hinweis: Für mehrere Servomotoren oder schwere Lasten, verwende ein externes Netzteil (5V), um das Arduino nicht zu überlasten.


🔧 Notwendige Bibliothek

Arduino hat eine offizielle Bibliothek namens Servo.h die den Einsatz von Servos sehr vereinfacht.

📦 Installation (falls noch nicht vorhanden):

  • Öffne das Arduino IDE
  • Gehe zu: Sketch > Bibliothek einbinden > Bibliotheken verwalten…
  • Suche „Servo“ und installiere die offizielle von Arduino

🧪 Beispielskript

🎯 Ziel: Drehen des Servos von 0° bis 180° und zurück

#include <Servo.h>

Servo mioServo; // Crea un oggetto servo

void setup() {
  mioServo.attach(9); // Collega il servo al pin 9
}

void loop() {
  for (int angolo = 0; angolo <= 180; angolo++) {
    mioServo.write(angolo);      // Imposta l'angolo
    delay(15);                   // Attendi che il servo si muova
  }
  delay(500);
  for (int angolo = 180; angolo >= 0; angolo--) {
    mioServo.write(angolo);
    delay(15);
  }
  delay(500);
}

💡 Erweiterte Beispiele für den Einsatz

📍 Steuerung über einen Potentiometer

#include <Servo.h>

Servo mioServo;
int potPin = A0; // Potenziometro collegato ad A0

void setup() {
  mioServo.attach(9);
}

void loop() {
  int lettura = analogRead(potPin);          // Legge il valore (0–1023)
  int angolo = map(lettura, 0, 1023, 0, 180); // Lo converte in gradi
  mioServo.write(angolo);
  delay(10);
}

🎮 Steuerung über serielle Verbindung

#include <Servo.h>

Servo mioServo;

void setup() {
  Serial.begin(9600);
  mioServo.attach(9);
  Serial.println("Inserisci un angolo tra 0 e 180:");
}

void loop() {
  if (Serial.available() > 0) {
    int angolo = Serial.parseInt();
    if (angolo >= 0 && angolo <= 180) {
      mioServo.write(angolo);
      Serial.print("Angolo impostato a: ");
      Serial.println(angolo);
    } else {
      Serial.println("Valore non valido. Inserisci 0-180.");
    }
  }
}

📚 Tipps für den Einsatz

  • Zwingen Sie den Servo nicht über seine mechanischen Grenzen hinaus (normalerweise 0°–180°).
  • Verwende nicht mehrere Servos direkt vom 5V von Arduino, nutze stattdessen ein externes Netzteil mit 5V/2A für Stabilität.
  • I Servos SG90 eignen sich nicht für kontinuierliche Drehung: Wenn du einen Motor benötigst, der frei drehen kann, denke an kontinuierliche Servos oder Getriebemotoren.

⚙️ Häufige Anwendungen

  • Ruder- oder Flügelaufregung auf Modellen
  • Roboterarm-Bewegung
  • Elektronische Schlösser
  • Mechanische Animatronic-Systeme
  • Sensor- oder Kamera-Ausrichtung (Pan/Tilt)

Perfekt! Erweitere die Anleitung um:

  1. ✅ Wireless-Steuerung mit Bluetooth (HC-05)
  2. ✅ Steuerung über WLAN mit ESP8266/ESP32
  3. ✅ Steuerung mehrerer Servos gleichzeitig
  4. ✅ Integration mit Sensoren (z.B. Ultraschall-Distanzmodul HC-SR04)

🟦 1. Wireless-Steuerung mit Bluetooth-Modul HC-05

🎯 Ziel:

Steuere den SG90-Servo über Bluetooth von einer App auf dem Smartphone (z.B. eine App wie Serial Bluetooth Terminal für Android).

🔌 Verbindung HC-05:

HC-05 Arduino UNO
VCC 5V
GND GND
TXD Pin 10
RXD Pin 11 (⚠️ mit Spannungsabteiler auf 3.3V)

⚠️ Verwende einen Widerstandspannungsabteiler (1kΩ + 2kΩ), um das Signal von 5V auf 3.3V für den RXD des HC-05-Moduls zu senken.

🔧 Arduino-Code mit SoftwareSerial:

#include <Servo.h>
#include <SoftwareSerial.h>

Servo mioServo;
SoftwareSerial BT(10, 11); // RX, TX

void setup() {
  mioServo.attach(9);
  BT.begin(9600);
}

void loop() {
  if (BT.available()) {
    int angolo = BT.parseInt();
    if (angolo >= 0 && angolo <= 180) {
      mioServo.write(angolo);
    }
  }
}

🔄 Test: Senden Sie von der mobilen App eine Zahl zwischen 0 und 180.


🌐 2. Wi-Fi-gesteuerte Servo (ESP8266 oder ESP32)

⚠️ Wenn Sie ESP8266 oder ESP32 verwenden, NICHT Arduino UNO verwenden. Die Pins sind anders und der Servo muss sorgfältig versorgt werden.

🧠 Beispiel mit ESP8266 (NodeMCU):

  • Servo → extern mit 5V und gemeinsamer GND versorgt
  • Signal → angeschlossen an D1 (GPIO 5)

🔧 Basiscode für Webserver, der den Servo steuert:

#include <ESP8266WiFi.h>
#include <Servo.h>

Servo mioServo;
const char* ssid = "TuaReteWiFi";
const char* password = "PasswordWiFi";

WiFiServer server(80);

void setup() {
  mioServo.attach(D1); // GPIO 5
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if (client) {
    String req = client.readStringUntil('r');
    client.flush();

    if (req.indexOf("/angle=") != -1) {
      int angolo = req.substring(req.indexOf("=")+1).toInt();
      if (angolo >= 0 && angolo <= 180) {
        mioServo.write(angolo);
      }
    }

    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println("");
    client.println("<html><body>");
    client.println("<h1>Controllo Servo</h1>");
    client.println("<form>Angolo (0-180): <input type='number' name='angle'><input type='submit'></form>");
    client.println("</body></html>");
  }
}

💻 Gehe zum zugewiesenen IP-Adresse (z.B. 192.168.1.42) im Browser.


⚙️ 3. Mehrere Servos gleichzeitig steuern

#include <Servo.h>

Servo servo1, servo2, servo3;

void setup() {
  servo1.attach(9);
  servo2.attach(10);
  servo3.attach(11);
}

void loop() {
  for (int ang = 0; ang <= 180; ang++) {
    servo1.write(ang);
    servo2.write(180 - ang);
    servo3.write(ang / 2);
    delay(15);
  }
}

✅ Jeder Servo wird an einen anderen Pin angeschlossen. Arduino UNO kann bis zu 12 Servos steuern, aber mitversorgungsgrenzen Servo mit Entfernungssensor HC-SR04 steuern!


📏 4. Servo Steuerung mit Entfernungssensor HC-SR04

🎯 Ziel:

Bewegen Sie den Servo basierend auf der Entfernung, die vom Ultraschall-Sensor gelesen wird.

🔌 Verbindungen:

HC-SR04 Ultraschall-Sensor Arduino
VCC 5V
GND GND
Trig D7
Echo D6

🔧 Code:

#include <Servo.h>

Servo mioServo;
const int trigPin = 7;
const int echoPin = 6;

void setup() {
  Serial.begin(9600);
  mioServo.attach(9);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  // Invio impulso
  digitalWrite(trigPin, LOW); delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long durata = pulseIn(echoPin, HIGH);
  float distanza = durata * 0.034 / 2;

  int angolo = map(distanza, 5, 100, 0, 180); // Da 5 cm a 100 cm
  angolo = constrain(angolo, 0, 180);

  mioServo.write(angolo);
  delay(100);
}

🔚 Schlussfolgerung und mögliche Erweiterungen

✅ Jetzt können Sie:

  • Den Servo über Bluetooth, WLAN oder Sensoren steuern
  • Mehrere Servos für Robotik oder Gelenkarme steuern
  • Eingaben von Fernsteuerungen oder Umgebung (z.B. Entfernung, Potentiometer) integrieren

Perfekt! Vertiefen Sie die beiden Aspekte für einen Roboter mit Gelenkarm, der von SG90-Servos gesteuert wird:


🦾 1. Servo-Bewegungssynchronisation (Roboterarm)

🎯 Ziel:

Koordinieren Sie mehrere Servos (z.B. Schulter, Ellbogen, Handgelenk) für flüssige und synchronisierte Bewegungen eines Roboterarms.

🎮 Beispiel: 3 DOF (Bewegungsfreiheiten)

🔌 Anschlüsse:

Teil des Arms Servo Pin Arduino
Schulter servo1 9
Ellbogen servo2 10
Handgelenk servo3 11

🔧 Synchronisierter Code:

#include <Servo.h>

Servo servoSpalla;
Servo servoGomito;
Servo servoPolso;

void setup() {
  servoSpalla.attach(9);
  servoGomito.attach(10);
  servoPolso.attach(11);
}

void loop() {
  // Esegui una sequenza sincrona
  for (int ang = 0; ang <= 90; ang++) {
    servoSpalla.write(ang);
    servoGomito.write(90 - ang);
    servoPolso.write(ang / 2);
    delay(20); // Tempo per il movimento fluido
  }

  delay(1000); // Pausa

  for (int ang = 90; ang >= 0; ang--) {
    servoSpalla.write(ang);
    servoGomito.write(90 - ang);
    servoPolso.write(ang / 2);
    delay(20);
  }

  delay(1000);
}

✅ Alle Servomotoren bewegen sich koordiniert und können die Beziehungen ändern, um gegliederte Bewegungen zu erzeugen.


💾 2. Speicherung der Servopositionen

🧠 Ziel:

Speichere Positionen des Roboterarms in der Speicher (EEPROM) oder sende sie über serielle Verbindung, um sie später mit einem Befehl aufzurufen.


📦 Lösung 1: Speichere in EEPROM (dauerhaft nach Neustart)

#include <Servo.h>
#include <EEPROM.h>

Servo s1, s2, s3;

void setup() {
  s1.attach(9);
  s2.attach(10);
  s3.attach(11);

  // Carica posizione salvata all'avvio
  int a1 = EEPROM.read(0);
  int a2 = EEPROM.read(1);
  int a3 = EEPROM.read(2);

  s1.write(a1);
  s2.write(a2);
  s3.write(a3);
  delay(1000);
}

void loop() {
  // Sposta braccio in nuova posizione
  s1.write(60);
  s2.write(120);
  s3.write(90);
  delay(2000);

  // Salva questa "pose" nella EEPROM
  EEPROM.write(0, 60);  // s1
  EEPROM.write(1, 120); // s2
  EEPROM.write(2, 90);  // s3

  while (1); // Ferma il loop
}

💾 Nach dem Neustart von Arduino kehrt der Arm in die gespeicherte Position zurück.


📦 Lösung 2: Senden von Positionen über Serial Monitor und Speichern in RAM

#include <Servo.h>

Servo s1, s2, s3;
int pos[3];

void setup() {
  Serial.begin(9600);
  s1.attach(9);
  s2.attach(10);
  s3.attach(11);

  Serial.println("Invia tre valori separati da virgole (es. 30,90,120):");
}

void loop() {
  if (Serial.available()) {
    String input = Serial.readStringUntil('n');
    input.trim();

    int idx1 = input.indexOf(',');
    int idx2 = input.lastIndexOf(',');

    if (idx1 > 0 && idx2 > idx1) {
      pos[0] = input.substring(0, idx1).toInt();
      pos[1] = input.substring(idx1 + 1, idx2).toInt();
      pos[2] = input.substring(idx2 + 1).toInt();

      s1.write(pos[0]);
      s2.write(pos[1]);
      s3.write(pos[2]);

      Serial.println("Posizione eseguita.");
    } else {
      Serial.println("Formato errato. Usa: ang1,ang2,ang3");
    }
  }
}

📱 Du kannst Positionen von PC oder Bluetooth senden. Beispiel: 45,90,135


➕ Erweiterung (Optional)

✅ Speichere mehrere Positionen in EEPROM mit Tasten zum Aufrufen
✅ Speichere animierte Sequenzen für Wiedergabe
✅ Web-Interface (ESP32) für die Programmierung von Bewegungen aus dem Browser
✅ Joystick zum Echtzeitsteuern des Arms und dann „aufnehmen“


🔚 Schluss

Mit diesen Lösungen kannst du:

  • Bewegen Sie den Arm wie ein Gelenksystem Speichern Sie Positionen oder benutzerdefinierte Sequenzen
  • Integrieren Sie mit Befehlen von Fernbedienungen (Bluetooth, WLAN oder seriell)
  • Tutorial: Wie man den Micro Servo SG90 verwendet Befehle per Fernsteuerung (Bluetooth, Wi-Fi oder seriell)

Arduino Uno oder kompatibel

Der Mikro-Servo SG90 ist ein kleiner Motor, der ideal für Roboterprojekte und Modellbau für RC-Erzeugnisse wie Helikopter, Flugzeuge und Autos ist. Mit einer Masse von nur 9g eignet sich dieser Servo perfekt für Anfänger, die mit Arduino beginnen möchten.

Was du brauchst

  • 5V-Verbindung
  • GND-Verbindung
  • Datenverbindung
  • Verbinden Sie den Servo SG90 mit dem Arduino, indem Sie die angegebenen Kabel verwenden.
  • Laden Sie das bereitgestellte Arduino-Sketch herunter, um den Servo zu steuern.

Schritte

  1. Ändern Sie den Bewegungswinkel des Servos, indem Sie die Zeilen im Sketch anpassen.
  2. Testen Sie die vollständige Drehung des Servos von 0° bis 180°.
  3. Erstellen Sie einen Roboterarm mit zwei SG90, die synchron bewegt werden, um Gegenstände zu ergreifen.
  4. Teste die vollständige Drehung des Servos von 0° bis 180°.

Beispielcode

void setup() {
  pinMode(9, OUTPUT);
}

void loop() {
  for(int pos = 0; pos <= 180; pos += 1) {
    servos.write(pos);
    delay(15);
  }
}

Mini-Projekt

Erstelle einen Roboterarm mit zwei SG90, die synchron bewegt werden, um Gegenstände aufzunehmen.

Häufige Fehler

  • Überprüfe nicht die Spannung des Servos.
  • Verbinde den Servo ohne Schutz gegen Induktionsströme.
  • Verwende einen Bewegungswinkel, der nicht den Spezifikationen im Datenblatt entspricht.
  • Überspringe die Installation der Servo-Bibliothek für Arduino.

Empfohlenes Zubehör

  • JST-Stecker
  • Netzteil RC 5V-6V
  • Lipo-Batterie 3S
  • Induktionsstrom-Schutzplatine

Häufige Fragen

Welche Spannung benötigt der Servo SG90?
Überprüfe im Datenblatt.

Wie schwer ist der Servo SG90?
Das Gewicht beträgt 9g.

Benötige ich eine spezielle Bibliothek, um diesen Servo mit Arduino zu steuern?
Ja, verwende die Servo-Bibliothek.

Rezensionen

Es gibt noch keine Rezensionen.

Schreiben Sie die erste Rezension für „Micro-Servo 9g SG90 Motor für Modellbau RC-Helikopter Flugzeuge Robotik Amateur-Arduino“

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert