1. 程式人生 > >Arduino學習(6)

Arduino學習(6)

本文介紹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...");

}

執行結果: