Inhaltsverzeichnis
Für dieses Projekt benötigst du
Wie funktioniert ein Servomotor?
Ein Servomotor ist ein Elektromotor, der über einen Sensor die aktuelle Position bestimmen und zielgenau anfahren kann. Der hier verwendete Sensormotor kann in 1-Grad-Schritten alle Positionen zwischen 0 und 180 Grad ansteuern.
Einen Servo Motor mit einem Mikrocontroller ansteuern
Aufgabe: Ein Servomotor soll von einem Mikrocontroller angesteuert werden. Der Servo soll dazu in diesem Beispiel vier verschiedene Positionen ansteuern und zwischen den Positionen eine kurze Zeit warten.
Schaltpläne
Der Programmcode
Arduino UNO
// die Bibliothek Servo.h wird eingebunden, sie steuert den Motor
#include "Servo.h"
// der Servomotor erhält den Namen Servomotor
Servo Servomotor;
void setup()
{
// dem Servomotor wird der Pin 8 zugeordnet
Servomotor.attach(8);
}
void loop()
{
// der write-Befehl steuert den Servomotor
// Zwischen den einzelnen Positionen gibt es eine Pause
// Position 1 ansteuern mit dem Winkel 0°
Servomotor.write(0); // Position 1 ansteuern mit dem Winkel 0°
// 3 Sekunden Pause
delay(3000);
// Position 2 mit dem Winkel 90° ansteuern
Servomotor.write(90);
// 3 Sekunden Pause
delay(3000);
// Position 3 mit dem Winkel 180° ansteuern
Servomotor.write(180);
// 3 Sekunden Pause
delay(3000);
// Position 4 mit dem Winkel 20° ansteuern
Servomotor.write(20);
// 3 Sekunden Pause
delay(3000);
}
Wemos D1
// die Bibliothek Servo.h wird eingebunden, sie steuert den Motor
#include "Servo.h"
// der Servomotor erhält den Namen Servomotor
Servo Servomotor;
void setup()
{
// dem Servomotor wird der Pin D1 zugeordnet
Servomotor.attach(D1);
}
void loop()
{
// der write-Befehl steuert den Servomotor
// Zwischen den einzelnen Positionen gibt es eine Pause
// Position 1 ansteuern mit dem Winkel 0°
Servomotor.write(0); // Position 1 ansteuern mit dem Winkel 0°
// 3 Sekunden Pause
delay(3000);
// Position 2 mit dem Winkel 90° ansteuern
Servomotor.write(90);
// 3 Sekunden Pause
delay(3000);
// Position 3 mit dem Winkel 180° ansteuern
Servomotor.write(180);
// 3 Sekunden Pause
delay(3000);
// Position 4 mit dem Winkel 20° ansteuern
Servomotor.write(20);
// 3 Sekunden Pause
delay(3000);
}
NodeMCU
// die Bibliothek Servo.h wird eingebunden, sie steuert den Motor
#include "Servo.h"
// der Servomotor erhält den Namen Servomotor
Servo Servomotor;
void setup()
{
// dem Servomotor wird der Pin D1 zugeordnet
Servomotor.attach(D1);
}
void loop()
{
// der write-Befehl steuert den Servomotor
// Zwischen den einzelnen Positionen gibt es eine Pause
// Position 1 ansteuern mit dem Winkel 0°
Servomotor.write(0); // Position 1 ansteuern mit dem Winkel 0°
// 3 Sekunden Pause
delay(3000);
// Position 2 mit dem Winkel 90° ansteuern
Servomotor.write(90);
// 3 Sekunden Pause
delay(3000);
// Position 3 mit dem Winkel 180° ansteuern
Servomotor.write(180);
// 3 Sekunden Pause
delay(3000);
// Position 4 mit dem Winkel 20° ansteuern
Servomotor.write(20);
// 3 Sekunden Pause
delay(3000);
}
Funduino - Dein Onlineshop für Mikroelektronik
-
Dauerhaft bis zu 10% Rabatt für Schüler, Studenten und Lehrkräfte
-
Mehr als 3.500 Artikel sofort verfügbar!
-
Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE