라즈베리파이 스텝모터 (STEP MOTER)소스코드
- 코딩/Raspberry Pi (c)
- 2019. 11. 19.
라즈베리파이 스텝모터 (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;
}
'코딩 > Raspberry Pi (c)' 카테고리의 다른 글
라즈베리파이 gpio 제어 코드 (0) | 2019.11.20 |
---|---|
라즈베리파이 LED 코드 (0) | 2019.11.19 |
라즈베리파이 FND 소스코드 (0) | 2019.11.19 |
라즈베리파이 서보(SERVO) 모터 코드 (0) | 2019.11.18 |
라즈베리파이 TEXTLCD 코드 (0) | 2019.11.18 |