Was ist ein Servomotor?

Der hier verwendete Servomotor wird über die Pulsweitenmodulation gesteuert. Jedem Wert (0 bis 255) ist eine definierte Position zugeordnet, die der Servomotor danach ansteuert. Somit kann das Garagentor durch die Veränderung der Position geöffnet und geschlossen werden.

Servomotor

Schaltung

Den Schaltplan kannst du dir im Hauptmenü dieses Projektes herunterladen.

Programmierung

Als erstes muss die Bibliothek "ESP32Servo.h" über den Bibliotheksverwalter hinzugefügt werden. Beim Hinzufügen werden zusätzlich noch andere Bibliotheken eingebunden, die du löschen kannst, da sie hier nicht benötigt werden. Nun definierst du den Servo mit dem Namen "garagentor". Dieser Name ist jedoch frei wählbar aber er muss dann im weiteren Verlauf dauerhaft benutzt werden.

#include <ESP32Servo.h>   // Servo-Bibliothek (ESP32)
Servo garagentor;         // Servo-Name definieren

In der "Setup-Methode" definierst du Pin 13 als Steuerausgang, über den später die Werte für den Servo übermittelt werden.

void setup() {
  garagentor.attach(13);    // Pin 13 für PWM definieren
}

In der "loop-Funktion" werden zwei Schleifen definiert, sodass sich die Garage einmal öffnen und wieder schließen kann. Mit dem Befehl ".write()" wird dann der Wert an den Servomotor übermittelt. Du solltest ein "delay()" von ca. 30 ms verwenden, da durch die schnelle Taktung des Mikrocontrollers deine Garage sich zu schnell öffnen würde, wodurch sie eventuell kaputt gehen kann. In diesem Beispiel werden die Werte von 10 bis 120 verwendet. Je nach Einbau des Servos müssen andere Werte übermittelt werden, was du ja nacheinander ausprobieren kannst.

void loop() {
  for(int i=10; i <= 120; i++)                      
  {
    garagentor.write(i);         // Servo-Schritte steuern
    delay(30);                   // Verzögerung
  }
  delay(5000);
  for(int i=120; i >= 10; i--)                      
  {
    garagentor.write(i);         // Servo-Schritte steuern
    delay(30);                   // Verzögerung
  }
  delay(5000);
}
Zuletzt geändert: Freitag, 6. August 2021, 08:17