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…
	
	Add table
		Add a link
		
	
		Reference in a new issue