04-步進馬達
幾乎所有的Arduino學習套件裡,都會有" ULN2003+28BYJ-48步進馬達"這樣的組合,但是要搞定它們並沒想像中簡單,因為Arduino內建的函式庫,對這樣的組合並不友善,所以要花點功夫才能解決。
傑森不吃這套,測試了一堆方法和第三方函式庫後,總算找到一個最好用的函式庫了,就算初學者也能快速上手!
下載後,解壓縮,將「ULN2003_StepperMotor_master」資料夾放在arduino的libraries資料夾下
其實只要用了這個函式庫,程式就很簡單了,傑森把程式和線路圖都提供給大家,有需要的人就試看看吧!
對了,當你寫好程式,拔掉USB線,改用9V電池供電,這時你可能會發現,步進機不動了,哈,請外加電源給步進機吧,5v的哦!
程式碼:
/**********************************************************/
// ULN2003驅動板 搭配 28BYJ-48步進馬達測試程式
//
//
//
/**********************************************************/
#include <StepperMotor.h>
StepperMotor motor(8,9,10,11); // 建立步進機物件,參數就是4個接腳,IN1, IN2, IN3, IN4
int motorSpeed = 1; // 速度,數字愈大,速度愈慢,在5v電力下,最快可達15 rpm
int motorSteps = 4076; // 28BYJ-48 轉一圈,就是4076步 ( 每步的角度是 5.625°/64 )
/**********************************************************/
void setup(){
motor.setStepDuration(motorSpeed); // 設定速度
}
/**********************************************************/
void loop(){
// 馬達正轉
motor.step(motorSteps); // 轉一圈
delay(1000);
// 馬達反轉
motor.step(-motorSteps); //給負數的步數,就是反轉!
delay(1000);
}