system
September 12, 2012, 10:06am
1
Bonjour,
j'ai fait un prog simple : avance des deux moteurs, avec commande analogique 160.
J'ai fait des essais sur différentes broches (3,6,5,9,10,11)
Le PWM ne fonctionne pas sur les broches 3 et 11, systématiquement. Sur toutes les autres oui, et simultanément.
Que se passe t il ?
patg
September 12, 2012, 10:40am
2
Le PWM de ces broches est contrôlé par le Timer 2.
Est-ce que tu n'utiliserais pas ce timer pour un autre usage dans ton sketch?
system
September 12, 2012, 11:47am
3
ah, c'est un indice. Je n'ai pas inclu la bibliothèque Timer2 ds mon programme, peut être est ce dû à cela ?
patg
September 12, 2012, 12:09pm
4
Ulmo:
ah, c'est un indice. Je n'ai pas inclu la bibliothèque Timer2 ds mon programme, peut être est ce dû à cela ?
Non mais certaines librairies comme MSTimer2 utilisent ce timer et rendent de fait le PWM sur les broches 3 et 11 indisponible.
La fonction tone() elle aussi interfère avec le PWM sur ces broches.
system
September 12, 2012, 12:15pm
5
#include <IRremote.h>
Voici la seule bibliothèque appelée dans mon programme, pour la télécommande.
patg
September 12, 2012, 12:21pm
6
Ulmo:
#include <IRremote.h>
Voici la seule bibliothèque appelée dans mon programme, pour la télécommande.
D'après sa doc elle utilise le timer2 pour générer le signal PWM émis.
Tu peux lui faire utiliser le timer1 si tu veux en modifiant IRremoteInt.h:
// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
//#define IR_USE_TIMER1 // tx = pin 9
#define IR_USE_TIMER2 // tx = pin 3
#endif
system
September 12, 2012, 2:38pm
7
Merci pour vos réponses, vraiment très efficace.
patg
September 12, 2012, 3:07pm
8
Ulmo:
Merci pour vos réponses, vraiment très efficace.
De rien. Comme j'avais pas grand chose à faire au boulot aujourd'hui ça m'a occupé un peu