Quellcode zur Arduino DC-Motorsteuerung (Projekt 29): Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „In diesem Artikel wird ergänzend zum Projekt 29 http://193.175.248.171/wiki/index.php/Projekt_29:_Entwicklungsplatine_f%C3%BCr_Mikrocontroller_entwerfen_und…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
In diesem Artikel wird ergänzend zum Projekt 29 [[http://193.175.248.171/wiki/index.php/Projekt_29:_Entwicklungsplatine_f%C3%BCr_Mikrocontroller_entwerfen_und_ansteuern]] der Quellcode für die Ansteuerung eines DC-Motors mithilfe einer H-Brücke aufgezeigt. | In diesem Artikel wird ergänzend zum Projekt 29 [[http://193.175.248.171/wiki/index.php/Projekt_29:_Entwicklungsplatine_f%C3%BCr_Mikrocontroller_entwerfen_und_ansteuern]] der Quellcode für die Ansteuerung eines DC-Motors mithilfe einer H-Brücke aufgezeigt. | ||
< | <syntaxhighlight line lang="c">int motor1_A=11; | ||
int motor1_B=10; | int motor1_B=10; | ||
int motor1_Speed=3; | int motor1_Speed=3; | ||
Zeile 29: | Zeile 29: | ||
delay(500); | delay(500); | ||
} | } | ||
} </ | }</syntaxhighlight> | ||
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. | 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. |
Aktuelle Version vom 30. Januar 2015, 18:27 Uhr
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.