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.