Étape 4: Arduino Mega Timer
minuterie 0 (contrôle la broche 13, 4)
minuterie 1 (contrôle l’axe 12, 11)
minuterie 2 (contrôle la broche 10, 9)
minuterie 3 (contrôle la broche 5, 3, 2)
minuterie 4 (contrôle la broche 8, 7, 6)
Copiez le code suivant pour arduino mega avec Timer 1 et 3 :
code pour Arduino Mega2560 et BTS7960 moteur pilote
Rédigé par : Mohannad Rawashdeh
int RPWM = 3 ;
int LPWM = 11 ;
int L_EN = 7 ;
int R_EN = 8 ;
void setPWMfrequency (int freq) {}
TCCR1B = TCCR2B & 0b11111000 | FREQ ;
TCCR3B = TCCR2B & 0b11111000 | FREQ ;
}
void MotorActiveStatus (char côté, boolean s) {}
Boolean Etat = s ;
{if(Side=='R')}
digitalWrite(R_EN,s) ;
}
{if(Side=='L')}
digitalWrite(L_EN,s) ;
}
}
void setMotor (char côté, octet pwm) {}
{if(Side=='R')}
analogWrite(RPWM,pwm) ;
}
{if(Side=='L')}
analogWrite(LPWM,pwm) ;
}
}
void closeMotor(char side) {}
{if(Side=='R')}
digitalWrite(RPWM,LOW) ;
}
{if(Side=='L')}
digitalWrite(LPWM,LOW) ;
}
}
void setup() {}
Mettez votre code de programme d’installation ici, pour exécuter une fois :
setPWMfrequency(0x02); / / Minuterie 2, 3,92 KHz
pour (int i = 5; i < 9; i ++) {}
pinMode(i,OUTPUT) ;
}
pour (int i = 5; i < 9; i ++) {}
digitalWrite(i,LOW) ;
}
Delay(1000) ;
MotorActiveStatus('R',true) ;
MotorActiveStatus('L',true) ;
Serial.Begin(9600) ;
}
void loop() {}
Mettez votre code principal ici, pour exécuter à plusieurs reprises :
pour (int i = 0; i < 256; i ++) {}
setMotor('R',i) ;
Delay(50) ;
}
Delay(500) ;
closeMotor('R') ;
Delay(1000) ;
pour (int i = 0; i < 256; i ++) {}
setMotor('L',i) ;
Delay(50) ;
}
Delay(500) ;
closeMotor('L') ;
Delay(1000) ;
}