Upravljanje DC motorom

Što ćemo naučiti:

– Upravljati brzinom i smjerom kretanja DC motora koristeći H-most L293D

Zadatak

Na Arduino spojite H most (L293D) i DC motor te napišite program koji će svakih 100 milisekundi povećavati brzinu kretanja DC motora u smjeru kazaljke na satu te kada dostigne maksimalnu brzinu smanjivati brzinu do trenutka kada se DC motor više ne kreće. Dodatno, napišite dio programa gdje će DC motor obavljati isti rad, ali u smjeru suprotnom od kazaljke na satu. U trenutku kada motor mijenja smjer kretanja neka se ne kreće barem 1 sekundu.

Prikaz spajanja

Arduino kod

const int PolA= 2;
const int PolB = 3;
 
void setup(){
  pinMode(PolA, OUTPUT);
  pinMode(PolB, OUTPUT);
}
void loop(){
  //Kretanje motora u smjeru kazaljke na satu
  //Motor povećava brzinu kretanja
  for (int i = 1; i <= 255; i++) {
    analogWrite(PolA, i);
    digitalWrite(PolB,LOW);  
    delay(100);
  }
  //Motor smanjuje brzinu kretanja
  for (int i = 255; i >= 0; i--) {
    analogWrite(PolA, i);
    digitalWrite(PolB,LOW);  
    delay(100);
  }
    //Motor se zaustavlja
    digitalWrite(PolA,LOW);    
    digitalWrite(PolB,LOW);            
    delay(1000);
  
  //Kretanje motora u smjeru suprotnom od kazaljke na satu
  //Motor povećava brzinu kretanja
  for (int i = 1; i <= 255; i++) {
    analogWrite(PolB, i);
    digitalWrite(PolA,LOW);  
    delay(100);
  }
  //Motor smanjuje brzinu kretanja
  for (int i = 255; i >= 0; i--) {
    analogWrite(PolB, i);
    digitalWrite(PolA,LOW);  
    delay(100);
  }
    //Motor se zaustavlja
    digitalWrite(PolB,LOW);    
    digitalWrite(PolA,LOW);            
    delay(1000);
}