Motoren_ansteuern1.ino 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. const int A1A=3;
  2. const int A1B=2;
  3. const int B1A=5;
  4. const int B1B=4;
  5. class Motor{
  6. int _pina;
  7. int _pinb;
  8. public:
  9. void Setup(int a, int b)
  10. {
  11. _pina = a;
  12. _pinb = b;
  13. pinMode(_pina, OUTPUT);
  14. pinMode(_pinb, OUTPUT);
  15. }
  16. void SetPower(float pow)
  17. {
  18. if(pow < 0)
  19. {
  20. analogWrite(_pina,0);
  21. analogWrite(_pinb,pow * 255);
  22. }
  23. else
  24. {
  25. analogWrite(_pinb,0);
  26. analogWrite(_pina,pow * 255);
  27. }
  28. }
  29. }; // ; am Ende einer Klasse
  30. Motor motor1;
  31. Motor motor2;
  32. void setup() {
  33. motor1.Setup(2, 3);
  34. motor2.Setup(4, 5);
  35. }
  36. void loop() {
  37. for(int i = 0; i < 255; i++) // erstes: Variable anlegen, zweites: welche Bedingung, damit Schleife weiter läuft, drittes: was machen wir am Ende eines jeden Schleifendurchlaufs
  38. {
  39. delay(10);
  40. motor1.SetPower(i / 255.0f); // integer * float = float
  41. motor2.SetPower(i / 255.0f);
  42. }
  43. for(int i = 255; i > 0; i--) // erstes: Variable anlegen, zweites: welche Bedingung, damit Schleife weiter läuft, drittes: was machen wir am Ende eines jeden Schleifendurchlaufs
  44. {
  45. delay(10);
  46. motor1.SetPower(i / 255.0f); // integer * float = float
  47. motor2.SetPower(i / 255.0f);
  48. }
  49. for(int i = 0; i < 255; i++) // erstes: Variable anlegen, zweites: welche Bedingung, damit Schleife weiter läuft, drittes: was machen wir am Ende eines jeden Schleifendurchlaufs
  50. {
  51. delay(10);
  52. motor1.SetPower(i / 255.0f); // integer * float = float
  53. motor2.SetPower(i / 255.0f);
  54. }
  55. for(int i = 255; i > 0; i--) // erstes: Variable anlegen, zweites: welche Bedingung, damit Schleife weiter läuft, drittes: was machen wir am Ende eines jeden Schleifendurchlaufs
  56. {
  57. delay(10);
  58. motor1.SetPower(i / 255.0f); // integer * float = float
  59. motor2.SetPower(i / 255.0f);
  60. }
  61. // put your main code here, to run repeatedly:digitalWrite(A1A,LOW);
  62. }