coolwolf / 25/07/2014
Arduino ile 2 adet step motoru X ve Y ekseninde kullanmak üzere sürmek :
#include
#define STEPS 100
Stepper stepperX(STEPS, 2, 3, 4, 5);
Stepper stepperY(STEPS, 6, 7, 8, 9);
int oncekiX = 0;
int farkX = 0;
int gidilecekX = 0;
int oncekiY = 0;
int farkY = 0;
int gidilecekY = 0;
int LEDPIN=13;
int LEDSWPIN=12;
bool ledYANSIN=false;
int pot[10];
int pin[14];
int _sonDUGMEDURUMU;
void setup()
{
pinMode(LEDPIN,OUTPUT);
pinMode(LEDSWPIN,INPUT);
stepperX.setSpeed(200);
stepperY.setSpeed(200);
Serial.begin(9600);
}
void loop()
{
pin[LEDSWPIN]=digitalRead(LEDSWPIN);
if(ledYANSIN) digitalWrite(LEDPIN,HIGH); else digitalWrite(LEDPIN,LOW);
if(pin[LEDSWPIN]==LOW&&_sonDUGMEDURUMU!=LOW)
{
if(ledYANSIN) ledYANSIN=false; else ledYANSIN=true;
Serial.print("Pin 12 durumu : ");
Serial.print(pin[LEDSWPIN]);
Serial.print("Led durumu : ");
Serial.print(ledYANSIN);
Serial.println("");
}
//digitalWrite(LEDPIN,ledDURUM);
_sonDUGMEDURUMU=pin[LEDSWPIN];
pot[9] = analogRead(0);
pot[8] = analogRead(1);
farkX=pot[9]-512;
gidilecekX=farkX/10;
if(abs(farkX)<50) gidilecekX=0;
farkY=pot[8]-512;
gidilecekY=farkY/10;
if(abs(farkY)<50) gidilecekY=0;
if(gidilecekX!=0||gidilecekY!=0)
{
Serial.print("Pot Değeri XY: ");
Serial.print(pot[9]);
Serial.print(pot[8]);
Serial.print(" //Fark XY: ");
Serial.print(farkX);
Serial.print(farkY);
Serial.print(" //Gidilecek XY: ");
Serial.print(gidilecekX);
Serial.print(gidilecekY);
Serial.println("");
}
oncekiX=farkX;
oncekiY=farkY;
if(gidilecekX!=0) stepperX.step(gidilecekX);
if(gidilecekY!=0) stepperY.step(gidilecekY);
}