Grundkenntnisse Programmierung (Servo-Motor mit einem Potentiometer steuern)
#include
- Wird verwendet um eine Bibilothek in das Programm einzufügen und nutzen zu können.
- Eine Bibliothek ist eine Sammlung von Unterprogrammen/-routinen, die Lösungswege für Aufgaben vereinfachen, indem mit kurzen Befehlen Programmcode ausgeführt wird.
- Benötigt wird in diesem Projekt die Bibliothek Servo.h, diese beinhaltet verschiedene Funktionen siehe [Link] (Befehle).
# include <Servo.h> // eingebaute Bibliothek einbinden
Servo Motor;
Servo.h
Initaliseriung
- Der Servo-Motor muss initialisiert werden.
Servo Motor; // Motor initalisieren
attach()
- Der Motor wird über einen PWM Pin gesteuert, dieser muss noch festgelegt werden mit dem Befehl attach()
Motor.attach(9); // Motor an Pin 9 angeschlossen (attach)
write()
- Der Motor soll sich zu einer bestimmten Position drehen, diese wird ihm mit write übergeben.
Motor.write(Position); // Motor zur Position bewegen
Funktionen
analogRead()
- Liest den Wert vom angegebenen analogen Pin ein.
- Den analog gelesenen Wert auf dem Pin (int), allerdings ist der Wert limitiert durch die Auflösung des Digital-Konverters (0-1023 für 10 Bit und 0-4095 für 12 Bit).
- Ein Digital-Konverter ist ein Umwandeler, damit zwei Geräte miteinader kommunizieren können, obwohl sie eine andere Sprache sprechen.
int analogPin = A3; // Pin, der gelesen werden soll: Pin A3
int val = 0; // Variable, die den gelesenen Wert speichert
void setup() {
}
void loop() {
val = analogRead(analogPin); // Pin einlesen
Serial.println(val); // Wert ausgeben
}
map()
- value:<sp> Die Nummer, die zugeordnet werden soll.
- fromLow: Die untere Grenze des aktuellen Wertebereichs.
- fromHigh: Die obere Grenze des aktuellen Wertebereichs.
- toLow: Die untere Grenze des Zielbereichs des Werts.
- toHigh: Die obere Grenze des Zielbereichs des Werts.
map(value, fromLow, fromHigh, toLow, toHigh)