Qu'est ce qu'un Transistor ? Quand l'utiliser dans vos circuits ? Comment le choisir ? Introduction Le transistor permet de commander un composant lorsque que la carte Arduino n’a pas la puissance nécessaire. Le transistor permet donc d’amplifier un signal pwm de votre carte arduino. Avec celui-ci, vous pouvez faire fonctionner un moteur 12V à l’aide d’une alimentation externe et d’un transistor par exemple. Sommaire masquer 1 Qu'est ce qu'un Transistor ? Quand l'utiliser dans vos circuits ? Comment le choisir ? 1.1 Introduction 1.1.1 Deux types de transistor : Mosfet et Bipolaire 1.1.2 Comment fonctionne t'il ? 1.1.3 Les broches du transistor 1.2 Quand est-ce que l'on utilise un transistor ? 1.2.1 Quelle est la différence entre un relay et un transistor ? 1.3 Transistor avec un moteur 1.4 Controler une led avec un transistor Deux types de transistor : Mosfet et Bipolaire Il existe deux types de transistor : Mosfet et bipolaire. Le transistor Mosfet permet de contrôler la tension de votre composant. C’est à dire que vous pourrez faire varier la tension mais pas l’intensité de celui-ci. Voici une référence de transistor Mosfet pour arduino : IRF520. Le transistor bipolaire permet de contrôler l’intensité de votre composant. C’est à dire que vous pourrez faire varier l’intensité mais pas la tension de celui-ci. Voici une référence de transistor Bipolaire pour arduino : BC547B. Si vous ne savez pas si votre composant doit se contrôler en tension ou en courant, vous pouvez regarder la fiche technique de celui-ci ou vous aurez surement des graphiques qui vous montrerons si c’est la tension qui fait varier la valeur de votre composant ou l’intensité. Comment fonctionne t'il ? Le transistor est un semi-conducteur composé d’une jonction PN. Celle-ci est aussi utilisé pour faire des diodes. On vous conseille d’ailleurs d’utiliser une diode de protection avec le transistor afin de ne pas griller celui-ci. Les broches du transistor Le transistor possède trois broches : Emettteur : Corresponds au Vcc de votre alimentation externeCollecteur : Correspond au GND de votre alimentation externeBase : C’est la broche de signal qui vient de la carte arduino Quand est-ce que l'on utilise un transistor ? Comme on l’a dit précédemment, le transistor permet de faire le relais entre la carte Arduino et votre composant si l’Arduino n’est pas assez puissante pour la fonctionner. La carte Arduino peut alimenter des composants allant jusqu’à 5V et 0,4 ampère. Si on veut contrôler un moteur qui fait 12V il va donc falloir une alimentation externe pour alimenter le moteur et d’un relais ou d’un transistor pour contrôler celui-ci. Quelle est la différence entre un relay et un transistor ? Les deux composants permettent de contrôler un composant qui nécessite plus de puissance que la carte arduino en utilisant une alimentation externe. Néanmoins le relais permet juste d’allumer le composant et de l’eteindre sans pouvoir faire varier la tension. Celui-ci est donc très utile pour allumer une lampe par exemple. Transistor avec un moteur On va maintenant voir comment contrôler un moteur avec une alimentation externe de 9 : La broche 3 de la carte arduino doit être programmée pour envoyer un signal au transistor. Voici le code ci-dessou qui permet d’allumer et éteindre le moteur de façon alternatif : int moteur =3; // Broche utilisé pour le moteur void setup(){ pinMode(moteur, OUTPUT); // On déclare le moteur en sortie } void loop(){ digitalWrite(moteur, HIGH); // On allume le moteur delay(1000); // On attends une seconde digitalWrite(moteur, LOW); delay(1000); // On attends une seconde } Controler une led avec un transistor On va maintenant voir comment faire varier la puissance d’une led avec un transistor. En effet, comme on l’a dit précédement ce qui différencie un transistor d’un relay c’est que le transistor permet de faire varier la tension à ses bornes. C’est ce que l’on va voir avec une led : Voici le code pour faire varier la tension aux bornes de la led : int led = 6;// Broche de la led void setup() { pinMode(led, OUTPUT); // On initialise la led en sortie } void loop() { for(int i=0; i<255; i++){ // On allume la led progressivement avec une boucle for analogWrite(led, i); // On assigne ça à la led delay(5);// Pause de 5 milliseconde } for(int i=255; i>0; i--){ // On éteint la led progressivement avec la boucle for analogWrite(led, i);// On assigne ça à la led delay(5); // Pause de 5 milliseconde } }