new file motor
This commit is contained in:
parent
9a51caa5f2
commit
b059803fdc
1 changed files with 0 additions and 120 deletions
|
@ -1,120 +0,0 @@
|
||||||
// 3.6 2 amps
|
|
||||||
|
|
||||||
|
|
||||||
const int rangeSTick = 1023; // 0 is bottom
|
|
||||||
const int reangle = 45, angleRange = 90; // 0 is bottom
|
|
||||||
const float transformDesireToAngle = .09; // tranpoe
|
|
||||||
const int stillJoystick = 511;
|
|
||||||
const int deadband = 10;
|
|
||||||
const int motorPulseDelay = 500;
|
|
||||||
|
|
||||||
const float angleChange = 1.8;
|
|
||||||
float x = 0, y = 0; //angle of current postion
|
|
||||||
|
|
||||||
class MotorControl
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
float currentPostion;
|
|
||||||
float goPostion;
|
|
||||||
int pastDesire = stillJoystick;
|
|
||||||
bool reset;
|
|
||||||
bool isButtonPressed;
|
|
||||||
int whichButton;
|
|
||||||
int dire, puls;
|
|
||||||
|
|
||||||
MotorControl(int dire, int puls)
|
|
||||||
{
|
|
||||||
pinMode(dire,OUTPUT);
|
|
||||||
pinMode(puls,OUTPUT);
|
|
||||||
direct = dire;
|
|
||||||
pulse = puls;
|
|
||||||
yIsNo = isX;
|
|
||||||
currentPostion = reangle;
|
|
||||||
}
|
|
||||||
void whatToDo(int desire)
|
|
||||||
{
|
|
||||||
if (desire < 0)
|
|
||||||
button = desire * -1;
|
|
||||||
else
|
|
||||||
goto yeet;
|
|
||||||
switch (button)
|
|
||||||
{
|
|
||||||
case default:
|
|
||||||
goto yeet;
|
|
||||||
case 1:
|
|
||||||
goto caseEnd;
|
|
||||||
case 2:
|
|
||||||
goto caseEnd;
|
|
||||||
case 3:
|
|
||||||
goto caseEnd;
|
|
||||||
case 4:
|
|
||||||
goto caseEnd;
|
|
||||||
case 5:
|
|
||||||
goto caseEnd;
|
|
||||||
case 6:
|
|
||||||
goto caseEnd;
|
|
||||||
case 7:
|
|
||||||
caseEnd:
|
|
||||||
button = 0;
|
|
||||||
goto skip;
|
|
||||||
}
|
|
||||||
yeet:
|
|
||||||
if(desire > (pastDesire + 10) || desire < (pastDesire - 10)) // noise from constant stick upload
|
|
||||||
{
|
|
||||||
goPostion = tranpose();
|
|
||||||
pastdesire = desire;
|
|
||||||
}
|
|
||||||
|
|
||||||
// two pins
|
|
||||||
if(goPostion > (currentpostion + 5.0))
|
|
||||||
{
|
|
||||||
digitalWrite(direct, HIGH);
|
|
||||||
currentpostion += angleChange;
|
|
||||||
digitalWrite(pulse,HIGH);
|
|
||||||
delayMicroseconds(motorPulseDelay);
|
|
||||||
digitalWrite(pulse,LOW);
|
|
||||||
delayMicroseconds(motorPulseDelay);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
if((currentpostion - 5.0) > goPostion)
|
|
||||||
{
|
|
||||||
digitalWrite(direct, LOW);
|
|
||||||
currentpostion -= angleChange;
|
|
||||||
digitalWrite(pulse,HIGH);
|
|
||||||
delayMicroseconds(motorPulseDelay);
|
|
||||||
digitalWrite(pulse,LOW);
|
|
||||||
delayMicroseconds(motorPulseDelay);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
float tranpose()
|
|
||||||
{
|
|
||||||
int temp = desire * transformDesireToAngle;
|
|
||||||
return temp;
|
|
||||||
}
|
|
||||||
void calibrate()
|
|
||||||
{
|
|
||||||
currentpostion = reangle;
|
|
||||||
goPostion = reangle
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// defines pins numbers
|
|
||||||
const int stepPinM1 = 3; // motor 1
|
|
||||||
const int dirPinM1 = 5;
|
|
||||||
const int stepPinM2 = 6; // motor 2
|
|
||||||
const int dirPinM2 = 9;
|
|
||||||
|
|
||||||
MotorControl xMotor(stepPinM1, dirPinM1)
|
|
||||||
MotorControl yMotor(stepPinM2, dirPinM2)
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
xMotor.whatToDo();// angle
|
|
||||||
yMotor.whatToDo();// angle
|
|
||||||
skip:
|
|
||||||
}
|
|
Loading…
Reference in a new issue