Arduino學習(6)
阿新 • • 發佈:2018-10-31
本文介紹Arduino連線並控制步進電機。
連線方式:
程式碼:
#define ROTATE(x) {PORTD|=x; PORTD&=(x|0x0F);} //四相單四拍 const char SinBeat[4]={0x80,0x40,0x20,0x10}; //四相雙四拍 const char DulBeat1[4]={0xc0,0x60,0x30,0x90}; //四相雙八拍 const char DulBeat2[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90}; //節拍模式選擇 #define MODE DulBeat2 void setup() { pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); Serial.begin(9600); } //逆時針旋轉 void Anti_Clockwise(int Speed) { for(int i=0;i<sizeof(MODE);i++) { ROTATE(MODE[i]); delay(Speed); } } //順時針旋轉 void Clockwise(int Speed) { for(int i=sizeof(MODE);i>=0;i--) { ROTATE(MODE[i]); delay(Speed); } } void loop() { Clockwise(50); delay(500); Serial.println("OK..."); }
執行結果: