Ruslan_nig

SimpleEncoder_1

Oct 29th, 2023 (edited)
1,104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //this is my example for Amperka L298P shield
  2. //this code placed on Pastebin
  3. //source example from here: http://andrewjkramer.net/motor-encoders-arduino/
  4. #define dirPin 4
  5. #define speedPin 5
  6. #define RH_ENCODER_A 3
  7. #define RH_ENCODER_B 8
  8. uint8_t pwm = 55;
  9. uint8_t step = 1;
  10. bool mean = 0;
  11. bool newmean = 0;
  12. uint32_t counter = 0;
  13.  
  14. void simpleGo(uint8_t dir1, uint8_t speed) {
  15.   digitalWrite(dirPin, dir1);
  16.   analogWrite(speedPin, speed);
  17. }
  18.  
  19. void setup() {
  20.   pinMode(dirPin, OUTPUT);
  21.   pinMode(speedPin, OUTPUT);
  22.   pinMode(RH_ENCODER_A, INPUT);
  23.   pinMode(RH_ENCODER_B, INPUT);
  24.   Serial.begin(9600);
  25.   //simpleGo(1, 40);
  26.   //delay(2000);
  27.   //simpleGo(1,0);
  28. }
  29.  
  30.  
  31.  
  32. void loop() {
  33.   //Serial.print("port A = ");
  34.   //Serial.println(digitalRead(RH_ENCODER_A));
  35.   //Serial.print("port B = ");
  36.   //Serial.println(digitalRead(RH_ENCODER_B));
  37.   while (counter <= 60000) {
  38.     newmean = digitalRead(RH_ENCODER_B);
  39.     if (mean != newmean) {
  40.       counter++;
  41.       Serial.print("count = ");
  42.       Serial.println(counter);
  43.       mean = newmean;
  44.     }
  45.     simpleGo(1, 50);
  46.   }
  47.   simpleGo(1, 0);
  48.  
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment