Quellcode zur Arduino DC-Motorsteuerung (Projekt 29)
In diesem Artikel wird ergänzend zum Projekt 29 [[1]] der Quellcode für die Ansteuerung eines DC-Motors mithilfe einer H-Brücke aufgezeigt.
int motor1_A=11;
int motor1_B=10;
int motor1_Speed=3;
void setup()
{
pinMode(motor1_A,OUTPUT);
pinMode(motor1_B,OUTPUT);
}
void loop(){
// motor1 1. Drehrichtung
for (int i=0; i<250; i+=10){
digitalWrite(motor1_A,HIGH); // A = HIGH und B = LOW der Motor dreht sich nach rechts
digitalWrite(motor1_B,LOW);
analogWrite(motor1_Speed,i); // Motorgeschwindigkeit (max. ist der Wert 255 möglich)
delay(500);
}
// motor1 2. Drehrichtung
for (int i=0; i<250; i+=10){
digitalWrite(motor1_A,LOW); // A = LOW and B = HIGH der Motor dreht sich nach links
digitalWrite(motor1_B,HIGH);
analogWrite(motor1_Speed,i);
delay(500);
}
}
Wie aus dem Quellcode zu entnehmen ist, werden zuerst die Pins gewählt, welche den Motor über die H-Brücke ansteuern sollen. Dabei gibt die Variable "motor1_A" die Drehrichtung nach rechts und "motor1_B" die Drehrichtung nach links an. Im "void setup()" werden ebendiese Pins als Outputs deklariert. Der Pin "motor1_Speed" muss nicht als Ausgabepin deklariert werden, da dieser als ein Quasi-Analogausgang dient (genauer PWM). In der "void loop()" wird mithilfe der for-Schleife entsprechend eine Richtung auf "HIGH" und die andere auf "LOW" gesetzt, während die Mototgeschwindigkeit in 10ner Schritten inkrementiert. Dadurch ist die Drehbewegung des Motors gut zu beobachten.