Arduino Motor Shield: DC motor aandrijving

Arduino Motor Shield: DC motor aandrijving

Eenvoudig voorbeeld ter demonstratie hoe je een DC motor voor- en achterwaarts kan aandrijven met een Arduino Uno en een Arduino Motor/Power Schield

Hardware

- Arduino UNO 

Arduino Motor / Power shield

- Voeding (ex 12V  max 20V)

- DC Motor

 

Schakeling

  1. Bevestig eerst het Arduino Motor Shield bovenop de Arduino Uno.
  2. Verbind de 2 draadjes van de DC motor met de ingangen van kanaal A
  3. Vergeet ten slotte niet om de voeding in te pluggen in de Arduino Uno. Let op deze moet voldoen aan de spanningsvereiste van de gekozen motor. In dit voorbeeld gebruiken we 12V.

 

Programma

Sluit het Arduino bordje aan op je computer en start de Arduino IDE. Kopieer de code hieronder.

 

//Defineer enkele variabelen

const int

DIR_A = 12,

BRAKE_A = 9,

PWM_A = 3,

SNS_A = A0;

void setup() {

 // Config de A Output

 pinMode(BRAKE_A, OUTPUT);  // Rem pin @ kanaal A

 pinMode(DIR_A, OUTPUT); // Direction pin @ kanaal A

 // Open Seriele Communicatie

 Serial.begin(9600);

 Serial.println("Motor shield DC motor on Arduino Uno | Test:\n");

}

 

void loop() {

 // Zet de output pins om de motor voorwaarts te laten draaien

 digitalWrite(BRAKE_A, LOW); // zet motor brake uit

 digitalWrite(DIR_A, HIGH); // richting op hoog zetten zorgt ervoor dat motor voorwaarts draait

 analogWrite(PWM_A, 255); // snelheid van motor instellen, 255 is maximale waarde

 delay(5000); // Laat de motor 5 seconden aan volle snelheid draaien

 

 Serial.print("Stroom verbruik aan volle snelheid: ");

 Serial.println(analogRead(SNS_A)); // Rem de motor af

 Serial.println("Start remmen\n");

 

 // De brake hoog setten zorgt ervoor dat de motor sneller stopt dan gewoon door traagheid

 digitalWrite(BRAKE_A, HIGH); // schrijf naar de brake pin

 delay(5000);

 

 // Schrijf naar de output pins om de motor in de andere richting te laten draaien

 Serial.println("Achterwaarts");

 digitalWrite(BRAKE_A, LOW); // disable motor brake opnieuw

 digitalWrite(DIR_A, LOW); // verander richting naar achterwaarts (LOW)

 analogWrite(PWM_A, 255); // de snelheid van de motor

 

 delay(5000);

 Serial.print("Stroom verbruik achterwaarts: ");

 Serial.println(analogRead(SNS_A));

 

 // stop nu de motor dmv traagheid, de motor zal trager afremmen dan met de brake functie 

 analogWrite(PWM_A, 0); // zet power van motor uit

 Serial.print("Stroom remmen: ");

 Serial.println(analogRead(A0));

 Serial.println("Einde motor shield test met een DC motors. Bedankt!");

 Serial.println("Vergeet geen kijkje te nemen op debouwdoos.be :)");

 

 while(1);

}

Reacties

Wees de eerste om te reageren...

Laat een reactie achter
* Uw e-mailadres wordt niet gepubliceerd.
* Verplichte velden
Door het gebruiken van onze website, ga je akkoord met het gebruik van cookies om onze website te verbeteren. Dit bericht verbergen Meer over cookies »