Servomotor
– Ein Servomotor ist ein Gerät, das präzise Steuerung von
Winkelposition, Geschwindigkeit und Beschleunigung ermöglicht.
– Servomotoren werden häufig in Robotik, Modellbau, und
Steuerungssystemen verwendet.
Wie funktioniert ein Servomotor?
– Servomotoren bestehen aus einem kleinen Gleichstrommotor,
einem Getriebe, einem Potentiometer (zur Positionsmessung) und einer
Steuerungselektronik.
– Sie haben drei Anschlüsse: Stromversorgung (meistens 5V),
Masse (GND) und Steuerleitung (Signal).
Steuerung eines Servomotors
– Die Steuerleitung nimmt Pulsweitenmodulation (PWM)-Signale
an.
– Ein PWM-Signal besteht aus einer Serie von Pulsbreiten,
die die gewünschte Position des Servos kodieren.
– Eine Impulsbreite von 1 ms bewegt den Servo in die
0-Grad-Position, 1,5 ms bewegt ihn in die 90-Grad-Position und 2 ms bewegt ihn
in die 180-Grad-Position.
Ultraschallsensor
– Ein Ultraschallsensor misst die Entfernung zu einem Objekt
mithilfe von Ultraschallwellen.
– Er besteht aus einem Sender, der Schallwellen aussendet,
und einem Empfänger, der die reflektierten Wellen empfängt.
Wie funktioniert ein Ultraschallsensor?
– Der Sensor sendet einen kurzen Ultraschallimpuls aus.
– Der Impuls wird von einem Objekt reflektiert und vom
Sensor empfangen.
– Der Sensor misst die Zeit, die der Impuls benötigt, um
zurückzukehren, und berechnet daraus die Entfernung.
Projekt 1: Abstandmessgerät
Ziel: Einen Servomotor basierend auf den von einem
Ultraschallsensor gemessenen Entfernungen bewegen.
Komponentenliste
– Arduino Uno
– HC-SR04 Ultraschallsensor
– Servo-Motor
– Jumper-Kabel
– Breadboard
1. GND:
– Verbinde einen
GND-Pin des Arduino mit der GND-Schiene (blaue Schiene) auf dem Breadboard.
– Verbinde den
GND-Pin des HC-SR04 mit der GND-Schiene (blaue Schiene) auf dem Breadboard.
– Verbinde den
GND-Pin des Servo-Motors mit der GND-Schiene (blaue Schiene) auf dem
Breadboard.
2. VCC:
– Verbinde den
5V-Pin des Arduino mit der VCC-Schiene (rote Schiene) auf dem Breadboard.
– Verbinde den
VCC-Pin des HC-SR04 mit der VCC-Schiene (rote Schiene) auf dem Breadboard.
– Verbinde den
VCC-Pin des Servo-Motors mit der VCC-Schiene (rote Schiene) auf dem Breadboard.
Signalpins
1. Trig-Pin:
– Verbinde den
Trig-Pin des HC-SR04 mit Pin 9 des Arduino.
2. Echo-Pin:
– Verbinde den
Echo-Pin des HC-SR04 mit Pin 10 des Arduino.
3. Servo-Signal:
– Verbinde das
Signal-Kabel des Servo-Motors mit Pin 6 des Arduino.
Beispielcode für die Abstandsmessung und Servosteuerung
#include <Servo.h>
// Pinbelegung
const int trigPin = 9;
const int echoPin = 10;
const int servoPin = 6;
// Variablen
für Messung
long duration;
int distance;
//
Servo-Objekt erstellen
Servo myServo;
void setup() {
//
Serielle Kommunikation starten
Serial.begin(9600);
//
Pinmodi setzen
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//
Servo an Pin 6 anschließen
myServo.attach(servoPin);
}
void loop() {
//
Ultraschallsensor anstoßen
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//
Echo-Zeit messen
duration = pulseIn(echoPin, HIGH);
//
Entfernung berechnen
distance = duration * 0.034 / 2;
//
Ausgabe der Entfernung zur Überprüfung
Serial.print(„Entfernung: „);
Serial.print(distance);
Serial.println(“ cm“);
//
Servo basierend auf der Entfernung bewegen
if (distance <= 10) {
myServo.write(0); // 0 Grad Position
} else if (distance > 10 && distance <= 20) {
myServo.write(90); // 90 Grad Position
} else {
myServo.write(180); // 180 Grad Position
}
//
Kurze Pause vor der nächsten Messung
delay(100);
}
Zusammenfassung der Schritte
1. GND-Verbindungen:
– Arduino GND –> Breadboard GND-Schiene
– HC-SR04 GND –> Breadboard GND-Schiene
– Servo GND –> Breadboard GND-Schiene
2. VCC-Verbindungen:
– Arduino 5V –> Breadboard VCC-Schiene
– HC-SR04 VCC –> Breadboard VCC-Schiene
– Servo VCC –> Breadboard VCC-Schiene
3.
Signalverbindungen:
– HC-SR04 Trig –> Arduino Pin 9
– HC-SR04 Echo –> Arduino Pin 10
– Servo Signal –> Arduino Pin 6
4. Code:
– Lade den obigen
Arduino-Sketch auf den Arduino hoch.
– Öffne den
seriellen Monitor in der Arduino IDE (Stelle sicher, dass die Baudrate auf 9600
eingestellt ist).
– Öffne den
seriellen Monitor in der Arduino IDE (Stelle sicher, dass die Baudrate auf 9600
eingestellt ist).
Mit diesen klaren Schritten und dem Beispielcode sollte dein Setup korrekt funktionieren, um die Entfernung zu messen und basierend darauf den Servo-Motor zu steuern. Wenn alles richtig verbunden ist, sollte der Servo entsprechend der gemessenen Entfernung seine Position ändern.
Abschlussprojekt und Präsentation
– Praktisch: Die
Schüler arbeiten an einem eigenen kleinen Projekt oder in Gruppen an einem
größeren Projekt, wie z.B. einem Mini-Roboter, einer Alarmanlage oder einem
einfachen Spiel.
– Präsentation:
Jede Gruppe oder jeder Schüler stellt sein Projekt vor und erklärt, wie es
funktioniert.