feierfrosch

EncoderTrigger 2

Dec 18th, 2021 (edited)
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1.   pinMode(EncPin1, INPUT_PULLUP);
  2.   pinMode(EncPin2, INPUT_PULLUP);
  3.   attachInterrupt(digitalPinToInterrupt(EncPin1), Encoder1, FALLING);
  4.   attachInterrupt(digitalPinToInterrupt(EncPin2), Encoder2, FALLING);
  5.  
  6.  
  7. void Encoder()
  8. {
  9.   bool Enc1Val = digitalRead(EncPin1);
  10.   bool Enc2Val = digitalRead(EncPin2);
  11.   static bool Enc1Triggered = false;
  12.   static bool Enc2Triggered = false;
  13.   if (Enc1Val == true && Enc2Triggered == false)
  14.   {
  15.     Enc1Triggered = true;
  16.   }
  17.   else if (Enc1Val == true && Enc2Triggered == true)
  18.   {
  19.     EncoderCounter++;
  20.     Enc2Triggered = false;
  21.   }
  22.   else if (Enc2Val == true && Enc1Triggered == false)
  23.   {
  24.     Enc2Triggered = true;
  25.   }
  26.   else if (Enc2Val == true && Enc1Triggered == true)
  27.   {
  28.     EncoderCounter--;
  29.     Enc1Triggered = false;
  30.   }
  31.   else
  32.   {
  33.   }
  34. }
  35.  
  36.  
  37. /////////////////////////////////////////////////////////////
  38. Second try, each sensor gets its own function so they're handled quicker
  39.  
  40. void Encoder1()
  41. {
  42.  if (Enc2Triggered == true)
  43.  {
  44.    EncoderCounter++;
  45.    Enc2Triggered = false;
  46.  }
  47.  else
  48.  {
  49.    Enc1Triggered = true;
  50.  }
  51. }
  52.  
  53. void Encoder2()
  54. {
  55.  if (Enc1Triggered == true)
  56.  {
  57.    EncoderCounter--;
  58.    Enc1Triggered = false;
  59.  }
  60.  else
  61.  {
  62.    Enc2Triggered = true;
  63.  }
  64. }
  65.  
  66. /////////////////////////////////////////////////////////////////////////////////////////////
  67. This was just a test to see if the Hall sensors both work and if they trigger equally
  68.  
  69.  
  70. void Encoder1()
  71. {
  72.  EncoderCounter++;
  73. }
  74.  
  75. void Encoder2()
  76. {
  77.  EncoderCounter--;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment