Nous n'étions pas nombreux pour cette séance.
Nous avons étudier en détails le pilotage d'un moteur pour pouvoir changer sa vitesse de rotation. Pour cela, nous avons utilisé :
Le potentiomètre est branché sur une entrée analogique de l'Arduino. Le réglage du potentiomètre va donc donner une tension entre 0 V et 5 V. L'Arduino va coder cette valeur entre 0 et 1023. Cette valeur va nous servir de consigne de réglage de la vitesse du moteur.
Le transistor est utilisé dans ce cas comme "interface de puissance" : l'Arduino n'a pas la capacité de fournir assez d'énergie pour alimenter le moteur. Le transistor est utilisé comme un interrupteur (mode saturé), on le pilote par la "base". L'Arduino va lui envoyé un signal de type PWM (Pulse Width Modulation, ou Modulation de Largeur d'Impulsion). Le principe de ce type de signal, est de régler le ratio OFF/ON, c'est-à-dire, le temps où le signal est éteint (OFF) et le temps où il est allumé (ON). Ce rapport est directement piloté par l'Arduino sur une sortie de type PWM. La vvaleur réglée pour cette sortie varie entre 0 (0 % -> complètement éteint) et 255 (100 % complètement allumé). Si l'on souhaite un rapport de 50 %, on devra alors régler la valeur de 127 (au milieu).
Le schéma utilisé est disponible au format image PNG.
Le programme utilisé sur l'Arduino est le suivant :
// Numéro de broche où le potentiomètre est branchée int potpin = A0; // Variable pour la tension lue sur le potentiomètre int value; void setup() { } void loop() { // Lit la valeur réglée sur le potentiometre value = analogRead(potpin); // Mise à l'échelle de la valeur : // - En entrée : 0..1023 // - En sortie : 0..255 value = map(value, 0, 1023, 0, 255); // Ecrit la valeur sur la broche de sortie (en PWM sur la broche 9) analogWrite(9, value); }