Qu'est-ce qu'un phototransistor ? Comment le faire fonctionner ? Introduction Un phototransistor est un capteur de lumière qui va récupérer le niveau de lumière ambiant et le restituer sous forme de signal électrique. C’est un semi-conducteur qui se trouve souvent en deux ou trois broches. Le phototransistor permet de capter de la lumière grâce à un transistor. Dès qu’une lumière IR (infrarouge), visible ou UV (ultraviolet) est détectée, le dispositif modifie le flux de courant circulant entre un émetteur et un collecteur, en fonction de la lumière et du niveau d’intensité reçus. Sommaire masquer 1 Qu'est-ce qu'un phototransistor ? Comment le faire fonctionner ? 1.1 Introduction 1.1.1 Avantage du phototransistor 1.1.2 Inconvénient du phototransistor 1.1.3 Le symbole de la phototransistor 1.2 Afficher valeur phototransistor sur le moniteur série 1.3 Détecteur d'obscurité 1.4 Suiveur solaire Il deux autre type de capteur lumineux :la photorésistance qui est une résistance dont la valeur change en fonction de la lumière qu’elle reçoit. le capteur photodiode qui joue le même role que le phototransistor mais qui comporte une diode à la place du transistor. Néanmoins le phototransistor est plus sensible qu’une photodiode, donc plus précis. Avantage du phototransistor Pour le même taux de lumière, le phototransisitor produira plus de courant qu’une photodiode.Par rapport à une photodiode, le temps de réponse d’un phototransistor est plus rapide.Les photo-transistors peut insensibles au bruit sonore.Les photo-transistors sont moins coûteux que la photodiode et la photorésistance. Inconvénient du phototransistor L’efficacité du phototransistor diminue avec les interférences du champ électromagnétique.Les phototransistors ne fonctionnent pas correctement à fréquence élevée. Le symbole de la phototransistor Comme on peut voir le symbole corresponds à celui du transistor avec deux flèches en plus qui rentre vers celui-ci. Les deux flèches indiquent que la lumière est captée par le transistor et convertit en tension. Afficher valeur phototransistor sur le moniteur série On va maintenant voir comment afficher la valeur de la tension relevée par le phototransistor. On l’affichera sur le moniteur série. int phototransistor_broche = A0; // Broche de la phototransistor int Luminosite = 0; // permet de récupére la luminosité de la pièce void setup() { Serial.begin(9600); // On initialise le moniteur série } void loop() { Luminosite = analogRead(phototransistor_broche); // On lit la valeur du phototra Serial.print("La valeur de la phototransistor est :"); // On affiche la valeur sur le moniteur série Serial.println(Luminosite); delay(150); // On fait une pause entre deux mesures } Voici le résultat sur le moniteur série : Détecteur d'obscurité On va maintenant voir comment faire un détecteur d’obscurité. Pour cela on va utiliser une phototransistor et à partir d’un certain seuil d’obscurité que l’on va déterminer, la carte arduino va allumer une led.Voici le schéma du circuit : int broche_led = 9; // Broche de la led int phototransistor_broche = A0; // Broche de la phototransistor int Luminosite = 0; // permet de récupére la luminosité de la pièce void setup() { pinMode(broche_led , OUTPUT);// On assigne la led en sortie } void loop() { Luminosite = analogRead(phototransistor_broche); // On lit la valeur du phototra Luminosite = map(Luminosite, 0, 1023, 255, 0); // On change les bornes de la variable afin de l'adapter à la led analogWrite(broche_led,Luminosite);//On assigne la valeur PWM à la led } Suiveur solaire On va maintenant voir comment modifier la position d’un servomoteur en fonction de la luminosité captée par le phototransistor. Cela peut vous servir pour modifier la position d’un panneau solaire en fonction du soleil par exemple. #include <Servo.h> // Librairie du servomoteur int phototransistor = A0;// La broche du phototransistor int Valeur_phototransistor = 0; // La valeur du phototransistor Servo Servomoteur; // Le servomoteur void setup() { pinMode(phototransistor, INPUT); // On initialise du phototransistor comme une entrée pour récupérere les valeurs de celle-ci Servomoteur.attach(9); // On initalise le servomoteur sur la borne 9. } void loop() { Valeur_phototransistor = analogRead(phototransistor); // On récupère la mesure du phototransistor Valeur_phototransistor = map(Valeur_phototransistor, 0,13,0,180); // On convertit cette valeur entre 0V et 5V pour correspondre à la led Servomoteur.write(Valeur_phototransistor); // On assigne la valeur au servomoteur delay(300);// pause entre chaque mesure }