Advertisement
thorium90

CCmotor_v1.2.cpp

Nov 3rd, 2011
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.33 KB | None | 0 0
  1. /*
  2. ##########################################################################
  3. ##                          ARDUINO SOURCES                             ##
  4. ##########################################################################
  5. */
  6. /*
  7.    ___|  _)  | _)       _)                         ___|                    
  8.  \___ \   |  |  |   __|  |  |   |  __ `__ \       |       _ \    __|  __ \  
  9.        |  |  |  |  (     |  |   |  |   |   |      |      (   |  |     |   |
  10.  _____/  _| _| _| \___| _| \__,_| _|  _|  _|     \____| \___/  _|     .__/  
  11.                                                                      _|  
  12. Code source libre de droit. Si vous utilisez mon code, merci à vous d'en préciser la source.
  13.  
  14. @Date : 03/11/2011
  15. @Auteur : Silicium Corp
  16. */
  17. #include "CCmotor.h"
  18.  
  19. //===============================================================
  20. CCmotor::CCmotor(int pinDigit_1, int pinDigit_2, int gachette)
  21. {
  22.     digitalPin_1 = pinDigit_1;
  23.     digitalPin_2 = pinDigit_2;
  24.     pinPWM = gachette;
  25.  
  26.     pinMode(pinPWM,OUTPUT);
  27.     pinMode(digitalPin_1,OUTPUT);
  28.     pinMode(digitalPin_2,OUTPUT);
  29.    
  30.     digitalWrite(pinPWM,LOW);
  31.     digitalWrite(digitalPin_1,HIGH);
  32.     digitalWrite(digitalPin_2,LOW);
  33.    
  34.     isON = false;
  35.     setBorne(0, 255);
  36.     setMotorSpeed(0);
  37.     setWay(FORWARD);  
  38. }
  39. //==================================================================
  40. void CCmotor::setMotorSpeed(int value)
  41. {
  42.     if ((value > minSpeed -1 && value < maxSpeed + 1) || value == 0)
  43.     {
  44.         motorSpeed = value;
  45.         if (isON)
  46.         {
  47.             analogWrite(pinPWM,motorSpeed);
  48.         }
  49.     }
  50. }
  51. //==================================================================
  52. void CCmotor::setBorne(int minimum, int maximum)
  53. {
  54.     if (minimum < maximum && minimum > -1 && maximum < 256)
  55.     {
  56.         minSpeed = minimum;
  57.         maxSpeed = maximum;
  58.     }
  59.     else
  60.     {
  61.         minSpeed = 0;
  62.         maxSpeed = 255;
  63.     }
  64. }
  65. //==================================================================
  66. void CCmotor::launch(int value)
  67. {
  68.     isON = true;
  69.     setMotorSpeed(value);
  70. }
  71. //==================================================================
  72. void CCmotor::launch()
  73. {
  74.     isON = true;
  75.     analogWrite(pinPWM,motorSpeed);
  76. }
  77. //==================================================================
  78. void CCmotor::stopNow()
  79. {
  80.     isON = false;
  81.     digitalWrite(pinPWM,LOW);
  82. }
  83. //==================================================================
  84. void CCmotor::setWay(boolean sense)
  85. {
  86.     if (sense)
  87.     {
  88.         digitalWrite(digitalPin_1,HIGH);
  89.         digitalWrite(digitalPin_2,LOW);
  90.         way = FORWARD;
  91.     }
  92.     else
  93.     {
  94.         digitalWrite(digitalPin_1,LOW);
  95.         digitalWrite(digitalPin_2,HIGH);
  96.         way = BACKWARD;
  97.     }
  98. }
  99. //==================================================================
  100. void CCmotor::switchWay()
  101. {
  102.     if (way == FORWARD)
  103.     {
  104.         setWay(BACKWARD);
  105.     }
  106.     else
  107.     {
  108.         setWay(FORWARD);
  109.     }
  110. }
  111. //===============================================================
  112. boolean CCmotor::getWay()
  113. {
  114.     return(way);
  115. }
  116. //==================================================================
  117. int CCmotor::getMotorSpeed()
  118. {
  119.     return(motorSpeed);
  120. }
  121. //==================================================================
  122. boolean CCmotor::getState()
  123. {
  124.     return(isON);
  125. }
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement