1. 程式人生 > >樹莓派控制五線四相步進電機

樹莓派控制五線四相步進電機

同樣是大二時候的坑......就不明白了當初為什麼不把程式碼也給貼上去,現在就貼出程式碼。

#include<stdio.h>
#include<stdlib.h>
#include<wiringPi.h>	//提供GPIO控制函式
#include<unistd.h>	//提供sleep()函式

void DelayMs(int n)
{
	usleep(n*1000);
}

//使樹莓派停止
void Step_Stop(int* Ins)
{
	int i;
	for(int i=0;i<=3;i++)
	{
		digitalWrite(Ins[i],0);	//設定為低電平,停止轉動
	}
}

//完成一圈的旋轉
void Step_Rounds(int* Ins)
{
	int i,j;
	for(i=0;i<4;i++)
	{
		for(j=0;j<4;j++)
		{
			if(i==j)
			{
				digitalWrite(Ins[3-j],1);
			}
			else
			{
				digitalWrite(Ins[3-j],0);
			}
		}
		//DelayMs(20);
	}
}

int main(void)
{
	int A=0,B=1,C=2,D=3;
	int Pin[4]={A,B,C,D};
	int count=100;
	int i;
	pinMode(A,OUTPUT);
	pinMode(B,OUTPUT);
	pinMode(C,OUTPUT);
	pinMode(D,OUTPUT);
	sleep(5);
	for(i=1;i<=count;i++)
	{
		Step_Rounds(Pins);
	}
	Step_Stop(Pins);
	sleep(2);
	printf("Stop!\n");
	return 0;
}
在編譯C檔案的時候,使用gcc XXX.c -o XXX -lwiringPi指定連線wiringPi庫才可以驅動步進電機,之後執行編譯好的檔案,便可以看到步進電機工作了。