Tourne moteur, tourne!
Transistor et moteur.
Les ports de l'Arduino sont formidables pour contrôler directement de petits éléments électriques tels que les LEDs. Toutefois, quand on met en oeuvre de plus grands objets (comme un moteur de jouet ou une machine à laver), un transistor externe est requis.
Un transistor est incroyablement utile. Il produit un courant important en utilisant un courant plus faible. Un transistor a trois broches. Pour un transistor de type négatif (NPN), vous connectez la charge à un collecteur, et l'émetteur au sol. Ensuite quand un faible courant transite de la base vers l'émetteur, le courant passe à travers le transistor et votre moteur tourne.
Il y a littéralement des milliers de types différents de transistors, permettant de répondre exactement à chaque situation. Nous avons choisi un P2N2222AG, un transistor d'usage plutôt commun.
Les facteurs importants dans notre cas sont que le voltage maximum (40v) et le courant maximum (200 milli-amps) soient tous les deux assez forts pour notre moteur jouet (plus de détails sont disponibles sur cette
fiche).
La diode 1N4001 agit comme en roue libre.
COMPOSANTS
- Transistor P2N2222AG (TO92). (Note du traducteur: j'ai utilisé un transistor de référence BC7478K7E sans problème ).
- Moteur jouet.
- Diode (1N4001).
- Résistance de 330 Ohm (orange-orange-brun)
- Fils de connexion.
SCHEMA DU CIRCUIT
MONTAGE DU CIRCUIT
Photo du montage du moteur par le traducteur
CODE
Vous pouvez trouver ce code dans CIRC03-code-motor.js.
var five = require("johnny-five"), board, myMotor, led;
board = new five.Board();
board.on("ready", function() {
myMotor = new five.Motor({ pin: 9 });
// gestionnaire d'évènement pour démarrer et stopper
myMotor.on("start", function( err, timestamp ) {
console.log( "started", timestamp );
// stoppe après 2 secondes
board.wait(2000, function() { myMotor.stop(); });
});
myMotor.on("stop", function( err, timestamp ) {
console.log( "stopped", timestamp );
});
myMotor.start();
});
DEPANNAGE
Moteur qui ne tourne pas?
Si vous avec amené votre propre transistor, vérifiez bien sur la fiche que le brochage est compatible avec celui du P2N2222AG (beaucoup sont inversés).
Toujours pas de chance?
Si vous avez amené votre propre moteur, vérifiez bien qu'il fonctionne sur 5 volts et qu'il ne requiert pas trop de puissance. Vous pourriez avoir besoin de vous connecter à une source de courant externe.
Ne fonctionne toujours pas?
Quelquefois la carte Arduino se déconnecte de l'ordinateur. Essayez de la débrancher et ensuite la rebrancher sur le port USB.
ETENDRE LE CODE
Contrôler la vitesse:
Vous vous êtes amusé avec la capacité de l'Arduino à contrôler la luminosité d'une LED plus tôt, maintenant nous allons utiliser la même fonction pour contrôler la vitesse du moteur.
L'Arduino fait cela en utilisant quelque chose appelé modulation de largeur d'impulsion (PWM ou Pulse Width Modulation). Cela se réfère à la capacité de l'Arduino d'opérer vraiment, vraiment vite. Plutôt que directement contrôler le voltage venant du port de l'Arduino, nous allons basculer le port on et off très rapidemment. Dans le monde informatique cela va de 0 à 5 volts plusieurs fois par secondes, mais dans le monde de l'homme nous voyons cela comme un voltage.
Par exemple si l'Arduino est pulsé à 50% nous voyons la lumière atténuée de 50% parce que nos yeux ne sont pas assez rapides pour la voir passer entre éteint et allumé. La même caractéristique fonctionne avec les transistors. Vous ne le croyez pas? Essayez le - fournissez un paramètre à la méthode start pour contrôler la vitesse (entre 0 et 255):
myMotor.start(250);
Licence Common Creative. Traduit de l'anglais par Scriptol.fr à partir du tutoriel d'Anna Gerber. Copie et modification autorisées sous réserve de conserver cette notice y compris le lien sur la page originale.