Quellcode zur Arduino DC-Motorsteuerung (Projekt 29): Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(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.


<pre>int motor1_A=11;
<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);
   }
   }
} </pre>  
}</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, 16: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.