Il y a un topo qui explique comment
faire varier la fréquence sur ARDUINO, perso je n'ai jamais testé, et franchement j'ai du mal à comprendre le truc.
Par contre il y a une fonction que j'utilise, certes un peu cavalière, et peu académique, mais très simple et qui peut faire l'affaire, elle est d'ailleurs décrite dans l'article ci-dessus, qui consiste à générer les "puls" manuellement,c'est ce que j'utilise et c'est facile mettre en œuvre, voici le code :
On fixe par programmation une activation HIGH/LOW avec les délais en microsecondes, il suffit de faire varier le temps du "LOW" pour varier la vitesse.
Il faut cependant faire attention à plusieurs choses:
- Activer le "dir" avant d'envoyer les "puls", il y a un délai à respecter, voir la documentation du driver.
- Le temps de la "puls" en "HIGH" doit avoir une valeur minimum, de même se référer à la documentation du driver.
- Il y a une fréquence à ne pas dépasser, limite du driver, mais je pense que l'arduino aura sa limite avant celle du driver.
- Ce système est sensible aux interruptions qui vont perturber la fréquence générée.
PS :
@vibram profite bien de la naissance.