Création d'un ventilateur à température contrôlée
Normalement, pour changer la vitesse du ventilateur, il y a un bouton désigné pour contrôler la vitesse du ventilateur et il peut être ajusté manuellement. Cependant, nous pouvons faire de la vitesse du ventilateur en fonction de la température d'une zone. Ainsi, la vitesse du ventilateur s'adaptera automatiquement à mesure que la température de cette zone change. Les composants que nous avons utilisés pour créer un ventilateur à température contrôlée sont:
Ainsi, le schéma du circuit de contrôle de la vitesse du ventilateur par rapport à la température est donné comme:
Ensemble matériel pour créer un ventilateur à température contrôlée à l'aide d'Arduino Uno
L'image publiée ci-dessous montre les connexions de chaque composant interfacé avec Arduino Uno.
Les fils roses connectent l'écran LCD à Arduino Uno et le fil gris relie le potentiomètre avec l'écran LCD pour contrôler la luminosité de l'écran LCD.
De plus, nous avons connecté le capteur de température directement sur les broches d'Arduino pour éviter toute distorsion dans la sortie du capteur. Pour connecter les composants à l'alimentation, nous avons utilisé les 5 volts et la masse de l'Arduino.
Code Arduino pour le ventilateur à température contrôlée
Le code Arduino compilé pour contrôler le ventilateur en fonction des valeurs de température est indiqué ci-dessous:
#include // bibliothèque pour l'écran LCD
LCD LiquidCrystal (9,8,5,4,3,2); // broches Arduino pour l'écran LCD
int vcc = a0; // A0 PIN ALIMENTATION DE LM35
int vout = a1; // a1 broche pour la sortie du LM35
int gnd = a2; // a2 broche pour la sortie du LM35
INT VALEUR; // Variable utilisée pour stocker les valeurs provenant du capteur
int fan = 11; // La broche où le ventilateur est connecté sur Arduino
int tempmin = 86; // la température pour démarrer le ventilateur
int tempmax = 127; // la température maximale
int fanspeed; // variable pour forte la vitesse du ventilateur
int fanlcd; // variable pour afficher le pourcentage de vitesse du ventilateur sur LCD
int tempc; // température dans le degré Celsius
int tempf; // température dans Fahrenheit
void setup()
// attribuant des modes aux broches Arduino attribuées
PinMode (ventilateur, sortie);
PinMode (VCC, sortie);
PinMode (Vout, entrée);
PinMode (GND, sortie);
// attribue des états au VCC et aux broches au sol utilisées pour LM35
DigitalWrite (VCC, High);
DigitalWrite (GND, Low);
LCD.commencer (16,2); // initialisation des dimensions de l'écran LCD
En série.commencer (9600); // initialisation de la communication série
LCD.setCursor (0, 0); // définir la place pour les données sur l'écran LCD
LCD.imprimer ("fan arduino"); // données à afficher
LCD.setCursor (0, 1); // définir la place pour les données sur l'écran LCD
LCD.imprimer ("Contrôle de vitesse"); // Données à afficher
retard (3000); // temps pour lequel les données seront affichées
VOID LOOP ()
LCD.clear (); // effacer le LCD
tempf = température (); / * Appeler la fonction de température pour obtenir la valeur de la température dans Fahrenheit * /
En série.imprimer (tempf); // affichant la température dans Fahrenheit
if (tempf = tempmin) && (tempf <= tempMax)) /* if temperature is higher than minimum temp and less than the maximum temperature then */
fanspeed = tempf; // donne à la vitesse du ventilateur la valeur de Tempf
fanlcd = map (tempf, tempmin, tempmax, 0, 100); / * Mise à l'échelle de la vitesse du ventilateur pour l'afficher sur l'écran LCD en utilisant la fonction de carte de 0 à 100 * /
Analogwrite (fan, fanspeed); // attribuant la valeur à la broche du ventilateur
LCD.imprimer ("température:"); // affichant les données
LCD.imprimer (tempf); // Affiche la température dans Fahrenheit
LCD.print ("f");
LCD.setCursor (0,1); // définir la place des données suivantes à afficher
LCD.Imprimer ("Speed du ventilateur:"); // Affichage des données
LCD.print (fanlcd); // Afficher la vitesse du ventilateur
LCD.imprimer ("%"); // affichant les données
Delay (200); // temps pour lequel les données seront affichées sur l'écran LCD
LCD.clear (); // effacer le LCD
int température () // Nom de la fonction
Value = analogread (vout); // Lire la valeur du capteur
tempc = valeur * 0.48828125; // convertir les valeurs du capteur en degré Celsius
retour tempf = tempc * 9/5 + 32; // convertit les valeurs dans Fahrenheit
Pour concevoir un ventilateur à température contrôlée, nous avons compilé le code Arduino de telle manière que nous avons d'abord défini la bibliothèque de l'écran LCD et des épingles Arduino attribuées pour le LCD. Ensuite, nous avons défini des variables et les épingles Arduino respectives pour le capteur de température et le ventilateur pour les interfacer avec Arduino Uno.
Puisque nous prenons la température à Fahrenheit, nous avons également défini les limites minimales et maximales pour la température qui est de 86 Fahrenheit à 127 Fahrenheit.
Dans la fonction de configuration d'abord, nous avons attribué des modes de broches aux broches Arduino définies précédemment, puis au VCC et à la broche de terre du capteur de température. Après cela, les dimensions de l'écran LCD sont initialisées et le nom du projet s'affiche sur l'écran LCD.
Dans la fonction de boucle d'abord, la fonction de température est appelée pour obtenir la valeur de la température, puis si l'état est utilisé pour vérifier si la température est inférieure à la température minimale. Dans ce cas, le ventilateur ne tourne pas, il y en a une autre condition si utilise et fonctionnent et vérifie si la température se situe entre la plage donnée de la température.
Nous avons utilisé le fonction de carte Pour évoluer la vitesse du ventilateur avec les valeurs de température dans la plage de 0 à 100, puis cette valeur est donnée à la broche Arduino du ventilateur en utilisant analogwrite () fonction, et cela fait tourner le ventilateur à une vitesse respective.
Ensuite, les données de la température et la vitesse du ventilateur sont affichées sur l'écran LCD à l'aide du LCD.imprimer() fonction. De plus, pour convertir les valeurs du capteur à la degré Celsius, nous avons utilisé l'échelle de 0.01V Augmentation de la tension par degré centigrade.
Donc, si la tension est de 1 volt, la température sera de 100 degrés donc ici pour le capteur, nous avons un maximum 5 volts, donc la température sera de 500 sur 5 volts. Cependant, la valeur analogique maximale pour le capteur est de 1023, ce qui signifie 5 volts et pour cela, nous avons divisé la température maximale par valeur analogique maximale. Nous avons également converti la température dans Fahrenheit et le concept de conversion peut en outre être clair pour former le tableau ci-dessous:
Changement par degré Celsius = (température maximale / valeur analogique maximale);
0.488 = (500/1023);
Température en degrés = valeur analogique * 0.488;
Température dans Fahrenheit = température en degrés * 9/5 + 32;
Simulation
Ici, dans ce projet, nous avons créé une simulation dans le logiciel Porteous. Dans la simulation publiée ci-dessous, nous voyons que nous augmentons la température manuellement. Ainsi, la vitesse du ventilateur continue d'augmenter à mesure que nous augmentons la température:
Conclusion
Les planches Arduino peuvent être utilisées pour faire une variété de projets de bricolage et qui donne aux débutants une meilleure compréhension du fonctionnement des circuits. De même, pour comprendre le fonctionnement des appareils, nous pouvons également créer leurs circuits d'une manière très facile. Dans ce guide, nous avons fait un ventilateur automatique qui dépend des valeurs du capteur de température. Les ventilateurs à température contrôlée sont principalement utilisés dans les appareils qui nécessitent un refroidissement adéquat à des températures élevées et l'exemple le plus courant est les PC de bureau ou les ordinateurs portables.