Advertisement
pongfactory

Untitled

Aug 4th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. const byte PWM_PIN = 10; // Digital Pin 5
  2. const byte PWM_PIN2 = 11; // Digital Pin 5
  3. byte pwm_value = 0;
  4. byte pwm_value2 = 0;
  5. void setup() {
  6.   pinMode( PWM_PIN, OUTPUT );
  7.   pinMode( PWM_PIN2, OUTPUT );
  8. //TCCR0A = (TCCR0A & ~((1 << COM0A1) | (1<< COM0A0))) | ((1 << COM0A1) | (1<< COM0A0));
  9. }
  10.  
  11.  
  12.  
  13. void loop(){
  14.  
  15. delay(900);
  16. setPwmFrequency(PWM_PIN, 1);
  17. setPwmFrequency(PWM_PIN2, 1);  
  18.   int value = 255/2;
  19.   int Freq_speed = value;
  20.   analogWrite(PWM_PIN,2.55*44);
  21.   delayMicroseconds(5000);
  22.   analogWrite(PWM_PIN2, 2.55*47);  // same value for both
  23.   delayMicroseconds(5000);
  24.   TCCR1A |= bit (COM1A0);          // inverting mode
  25.   Serial.println(Freq_speed);
  26.  
  27. delay(900);
  28.  
  29.  
  30.   //invertAnalogWrite(PWM_PIN2, pwm_value2 );
  31. }
  32.  
  33. void setPwmFrequency(int pin, int divisor) {
  34.   byte mode;
  35.   if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
  36.     switch(divisor) {
  37.       case 1: mode = 0x01; break;
  38.       case 8: mode = 0x02; break;
  39.       case 64: mode = 0x03; break;
  40.       case 256: mode = 0x04; break;
  41.       case 1024: mode = 0x05; break;
  42.       default: return;
  43.     }
  44.     if(pin == 5 || pin == 6) {
  45.       TCCR0B = TCCR0B & 0b11111000 | mode;
  46.     } else {
  47.       TCCR1B = TCCR1B & 0b11111000 | mode;
  48.     }
  49.   } else if(pin == 3 || pin == 11) {
  50.     switch(divisor) {
  51.       case 1: mode = 0x01; break;
  52.       case 8: mode = 0x02; break;
  53.       case 32: mode = 0x03; break;
  54.       case 64: mode = 0x04; break;
  55.       case 128: mode = 0x05; break;
  56.       case 256: mode = 0x06; break;
  57.       case 1024: mode = 0x7; break;
  58.       default: return;
  59.     }
  60.     TCCR2B = TCCR2B & 0b11111000 | mode;
  61.   }
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement