36 lines
		
	
	
		
			842 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			842 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef Locomotive_h
 | |
| #define Locomotive_h
 | |
| 
 | |
| #include "Arduino.h"
 | |
| #include "Imotor.h"
 | |
| 
 | |
| class Locomotive
 | |
| {
 | |
|   public:
 | |
|     Locomotive(int accelerate, int decelerate, byte minSpeed, byte maxSpeed, IMotor& motor);
 | |
|     Locomotive(int accelerate, byte speed, int decelerate, byte minSpeed, byte maxSpeed, IMotor& motor);
 | |
|     void Accelerate();
 | |
|     void Accelerate(byte Speed);
 | |
|     void Accelerate(byte Speed, float bremsweg);
 | |
|     void Break();
 | |
|     void setSpeed(byte Speed);
 | |
|     void loop();
 | |
|     byte currentSpeed();
 | |
|     void setDirection(MotorDirection dir);
 | |
|     byte getDefaultSpeed();
 | |
| 
 | |
|   private:
 | |
|     int _accelerate;
 | |
|     int _decelerate;
 | |
|     float _currentAcc;
 | |
|     byte _minSpeed;
 | |
|     byte _maxSpeed;
 | |
|     byte _targetSpeed;
 | |
|     const unsigned int _delay=300;
 | |
|     unsigned long _millisStart;
 | |
|     float _currentSpeed;
 | |
|     IMotor& _motor;
 | |
| };
 | |
| 
 | |
| 
 | |
| #endif |