라즈베리파이 스텝모터 (STEP MOTER)소스코드

라즈베리파이 스텝모터 (STEP MOTER)소스코드 1

 

#include <stdio.h>
#include <wiringPi.h>
#include <wiringPiI2C.h>

#define STEP_I2C_ADDR    0x20

#define IN_PORT0 	 0x00
#define IN_PORT1	 0x01
#define OUT_PORT0	 0x02
#define OUT_PORT1	 0x03
#define POLARITY_IVE_PORT0  0x04
#define POLARITY_IVE_PORT1  0x05
#define CONFIG_PORT0 	    0X06
#define CONFIG_PORT1	    0x07

const int aPhase_1[4] = {0x80, 0x40, 0x20, 0x10};

int fd;

int main(void)
{
	if((fd=wiringPiI2CSetup(STEP_I2C_ADDR))<0)
	{
		return -1;
	}

	wiringPiI2CWriteReg16(fd, CONFIG_PORT0, 0x00);

	int i;

	while(1)
	{
	for(i=0; i<4; i++)
	{
		wiringPiI2CWriteReg16(fd, OUT_PORT0, aPhase_1[i]);
		delay(10);
	}
	}
	return 0;
}

 

라즈베리파이 스텝모터 (STEP MOTER)소스코드 2

 

#include <stdio.h>
#include <wiringPi.h>
#include <wiringPiI2C.h>

#define STEP_I2C_ADDR 	 	0x20

#define IN_PORT0 		0x00
#define IN_PORT1		0x01
#define OUT_PORT0		0x02
#define OUT_PORT1		0x03
#define POLARITY_IVE_PORT0	0x04
#define POLARITY_IVE_PORT1	0x05
#define CONFIG_PORT0		0x06
#define CONFIG_PORT1		0x07

const int aPinSwitch[2] = {6,5};

const int aPhase_2[4] = {0xC0, 0x60, 0x30, 0x90};

const int aPhase_12[8] = {0x10, 0x30, 0x20, 0x60, 0x40, 0xC0, 0x80, 0x90};

int fd;

int interruptFlag = 0;

void changePhaseTo2(void)
{
	interruptFlag = 0;
}

void changePhaseTo12(void)
{
	interruptFlag = 1;
}

int main(void)
{
	if((fd = wiringPiI2CSetup(STEP_I2C_ADDR))<0)
	{
		return -1;
	}

	wiringPiSetupGpio();

	int i;
	for(i=0; i<2; i++)
	{
		pinMode(aPinSwitch[i], INPUT);
	}

	wiringPiI2CWriteReg16(fd, CONFIG_PORT0, 0x00);

	wiringPiISR(aPinSwitch[0], INT_EDGE_RISING, changePhaseTo2);
	wiringPiISR(aPinSwitch[1], INT_EDGE_RISING, changePhaseTo12);
	

	while(1)
	{
		if(interruptFlag ==0)
		{
			for(i=0; i<4; i++)
			{
				wiringPiI2CWriteReg16(fd, OUT_PORT0, aPhase_2[i]);
				delay(10);
			}
		}
		else
		{


			for(i=7; i>=0; i--)
			{
				wiringPiI2CWriteReg16(fd, OUT_PORT0, aPhase_12[i]);
				delay(10);
			}
		}
	}
	return 0;
}

댓글

Designed by JB FACTORY

1 2 3 4 5 6 7 8 1 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10