天天看點

arduino與雙H橋直流電機驅動闆 - cooska

這個驅動闆也是從機器人基地買的,其實其他地方也有類似的闆子賣,而且還便宜的多。當初選擇在這裡購買,是因為他比其他地方的闆子多了4個插針,用于步進電機驅動。不過購買後才發現自己當初的失誤,這個驅動闆隻能同時控制同一種電機,也就是要麼控制步進電機,要麼控制直流電機,想兩個電機一起插在闆子上控制,那是不可能的。有點後悔當初沒有仔細看文檔。哎。。如果隻是為了控制直流電機,我就再其他地方買了,價格便宜将近一半。

   不過這個闆子作為直流電機驅動還是挺不錯的,多的那4跟插針也可以同時再接兩個直流電機,也就是說它能同時控制4個直流電機。好了,先從機器人基地弄個圖過來給大家看看。

arduino與雙H橋直流電機驅動闆 - cooska

我把這個驅動闆的+5V接到arduino闆子的+5V輸出,vms和gnd分别接到電源的正負極。似乎隻有這樣接線才能使我的電機轉動起來,而說明文檔上說 +5V那裡可以不用接線,但是我不接的話電機不動。。

先不管了,再附上他們提供的測試代碼:

int pinI1=8;//定義I1接口

int pinI2=9;//定義I2接口

int speedpin=11;//定義EA(PWM調速)接口

void setup()

{

  pinMode(pinI1,OUTPUT);//定義該接口為輸出接口

  pinMode(pinI2,OUTPUT);

  pinMode(speedpin,OUTPUT);

}

void loop()

  analogWrite(speedpin,100);//輸入模拟值進行設定速度

  delay(2000);

  digitalWrite(pinI1,LOW);//使直流電機順時針轉

  digitalWrite(pinI2,HIGH);

  analogWrite(speedpin,100);

  delay(2000);

  digitalWrite(pinI1,HIGH);//使直流電機逆時針轉

  digitalWrite(pinI2,LOW);

  analogWrite(speedpin,100);

  delay(2000);

  digitalWrite(pinI1,HIGH);//使直流電機停止

  digitalWrite(pinI2,HIGH);

  delay(2000);

}

電機先順時針轉兩秒,再逆時針轉兩秒,再讓電機停止轉動,這樣循環進行。

到此,我能讓我的arduino控制小車前進和後退,并且停止。同時還能通過其他傳感器來擷取實時的周邊環境情況的資料。接下來的工作便是對手機進行軟體操作了,讓手機來分析這些資料并發出指令使小車自動行駛。

arduino與雙H橋直流電機驅動闆 - cooska