Table des matières:

Contrôleur de ventilateur de bureau Arduino : 4 étapes
Contrôleur de ventilateur de bureau Arduino : 4 étapes

Vidéo: Contrôleur de ventilateur de bureau Arduino : 4 étapes

Vidéo: Contrôleur de ventilateur de bureau Arduino : 4 étapes
Vidéo: Arduino #31 COMMENT ACTIVER UN VENTILATEUR À UNE CERTAINE TEMPÉRATURE. Tuto en français. 2024, Novembre
Anonim
Contrôleur de ventilateur de bureau Arduino
Contrôleur de ventilateur de bureau Arduino
Contrôleur de ventilateur de bureau Arduino
Contrôleur de ventilateur de bureau Arduino
Contrôleur de ventilateur de bureau Arduino
Contrôleur de ventilateur de bureau Arduino

Lorsque j'ai récemment changé de poste au sein de l'entreprise, j'ai déménagé des sites, passant de Bradford à notre siège social à Wakefield. J'ai dit au revoir à mon vieux bureau fidèle avec un ventilateur de bureau indispensable pour me garder au frais tout autour de moi……. Quoi qu'il en soit, la tendance dans notre bureau principal était aux petits ventilateurs alimentés par USB d'environ 4" à 6". Un joli modèle 6" effet laiton antique a donc été rapidement commandé et livré le lendemain.

Le problème avec tous les ventilateurs, qu'ils aient des réglages de vitesse ou des modes d'oscillation mécaniques, c'est qu'ils sont allumés ou éteints, et vous finissez par les allumer et éteindre tout le temps. Une étincelle d'imagination, combinée à une exigence de surélever mon moniteur d'un bon 3 , et mon prochain projet est né. Entrez dans Fanomatic.

J'avais joué avec Arduino pendant de nombreuses années, c'était donc le premier arrêt logique.

Étape 1: liste de courses et étui

Liste d'achats et étui
Liste d'achats et étui
Liste d'achats et étui
Liste d'achats et étui
Liste d'achats et étui
Liste d'achats et étui

Liste de courses:

  • 1 feuille de MDF 12 mm - pour le boîtier
  • 1 Arduino Uno - le cerveau
  • 1 planche à pain et fils sml
  • 1 DHT11 - capteur numérique de température et d'humidité - pour échantillonner la température uniquement
  • Écran OLED 1,96" - pour afficher les variables - vitesse, température, etc.
  • 1 module Mosfet IRF520 - pour allumer et éteindre l'alimentation USB du ventilateur
  • 4 potentiomètres 10k avec boutons de couleurs différentes - pour contrôler la vitesse du ventilateur, l'heure d'allumage, l'heure d'arrêt, le point de consigne de température
  • 1 interrupteur d'alimentation
  • 1 sml de peinture pour tableau noir - convient au MDF avec 1 couche
  • 1 câble USB et 1 prise USB

Cas:

La taille du boîtier était régie par la taille de la base de mon moniteur 24 et du commutateur KVM à 4 ports à 220 mm de large et à la hauteur finale sur laquelle je voulais que mon moniteur soit réglé. La profondeur était assez flexible, j'ai donc opté pour 180 mm pour donner beaucoup de La taille était donc de 220 mm x 180 mm x 60 mm. Maintenant, pour le faire et le remplir.

Le MDF de 12 mm a été découpé à la maison assez facilement, avant de coller et de visser pour former une base et une façade de travail. L'avant a ensuite été percé pour s'adapter à 4 potentiomètres 10k et 1 au-dessus de l'interrupteur marche/arrêt supérieur qui contrôlerait l'alimentation de l'Arduino et du ventilateur. Un trou rectangulaire a été ciselé pour contenir un petit panneau acrylique gris fumé, derrière lequel j'ai prévu de fixer l'un de ces jolis écrans OLED. À mi-chemin, j'aurais aimé utiliser un pli de 3 mm pour l'avant, au lieu de MDF de 12 mm car il y avait plus de bois enlevé qu'il n'en restait.

Une fois les trous percés et ciselés à l'arrière et sur les côtés pour le capteur de température, la prise USB et l'alimentation USB. Quelques couches de peinture pour tableau noir ont été appliquées. C'est une excellente peinture pour le mdf car elle pénètre bien et n'a pas besoin de sous-couche. Il donne un fini mat très impitoyable, exactement ce que je cherchais.

Des pots et des interrupteurs ont été fixés, de l'acrylique fumé collé à chaud et des étiquettes Dyno produites pour ce look rétro.

A côté des commandes…

Étape 2: les contrôles

Les contrôles
Les contrôles

Le tout basé sur un Arduino Uno. J'ai monté les composants et commencé un croquis.

L'esquisse utilise 3 bibliothèques:

  • Un pour piloter le mosfet irf520 pour allumer le ventilateur.
  • Un pour piloter l'écran OLED
  • Un pour lire et traduire les données de température du DHT11

J'inclurai le croquis ici plus tard, une fois que je l'aurai un peu rangé, mais soyez prévenu, je ne suis PAS un codeur, je comprends les bons principes de codage, mais j'ai tendance à être un codeur paresseux. Si je peux trouver un moyen de contourner quelque chose et que ça marche, alors ça marche.

Il existe d’excellents sites expliquant comment utiliser chacun…. et inclura des liens vers les meilleurs (à mon avis) sites pour tirer le meilleur parti de chacun.

Logique:

Un seul câble USB alimente l'Arduino ET le ventilateur USB. L'Arduino ne peut pas faire fonctionner le ventilateur car le courant qu'il tire endommagerait l'Arduino (un peu dramatique en fait ! cela déclencherait le fusible intégré). Nous devons donc trouver un moyen d'utiliser l'Arduino pour allumer ou éteindre le ventilateur.

Un transistor est requis, j'ai d'abord commandé un transistor Darlington, mais après avoir lu, j'ai opté pour un module de pilote MOSFET irf520 de HobbyComponents.com. Alerte Geek !! L'IRF520 est idéal pour la commutation de niveau logique (sortie des broches Arduino). La tension envoyée à l'appareil détermine la résistance du MOSFET, c'est-à-dire. l'envoi de 0 à 255 à une broche numérique entraînera le ventilateur (ou tout autre appareil connecté) de l'arrêt à la pleine vitesse.

Nous reviendrons sur 0 à 255 plus tard.

Alors on allume un ventilateur avec un Arduino, pourquoi s'embêter ? Eh bien, nous ne voulons pas qu'il s'allume quand il fait trop froid, n'est-ce pas ? Donc, si nous ajoutons un capteur de température, nous pouvons écrire du code et tester pour voir s'il fait chaud et allumer le ventilateur (255) ou éteindre (0). J'ai opté pour un DHT11 car il est très bon marché, facile à coder et suffisamment précis pour ce projet.

Revenons à cette entreprise de 0 à 255. Si nous savons qu'un peu de code allumera le ventilateur (255) si la température est élevée, ou s'éteindra (0) si la température est basse, si nous avions une valeur comprise entre 0 et 255, la résistance augmenterait ou diminuerait à travers le MOSFET et accélérer ou ralentir le ventilateur.

Entrez un potentiomètre connecté à une broche analogique ! Lorsqu'il est tourné, génère une valeur comprise entre 0 et 1023. Cette valeur peut ensuite être testée dans le code pour modifier la vitesse du ventilateur !! youpi.

Il y a une dernière chose (enfin, un couple). La bibliothèque de contrôle de moteur que nous utiliserons pour piloter le pilote MOSFET accepte 2 paramètres, un pour définir la résistance (pour la vitesse) et un autre pour définir la durée. Ainsi, avec ce paramètre magique, nous pouvons définir combien de temps le ventilateur est allumé et combien de temps le ventilateur est éteint.

Donc, nous avons 4 pots pour contrôler les 4 variables. Ensuite, nous examinerons l'affichage.

Étape 3: L'affichage

L'affichage
L'affichage
L'affichage
L'affichage

A-t-il BESOIN d'un affichage ? Pas vraiment. Alors pourquoi en a-t-il un ? Eh bien, parce que je voulais un écran mignon pour montrer la température actuelle, la vitesse du ventilateur, l'heure de marche du ventilateur, l'heure d'arrêt du ventilateur et le point de consigne de la température.

La bibliothèque U8G est géniale pour piloter ce petit écran OLED. Il m'a fallu une soirée de recherche et j'ai compris les commandes pour obtenir la taille de police que je voulais pour 5 lignes et pour afficher les variables à l'aide des commandes u8g.print(). L'avantage de cet affichage est qu'il ne s'agit pas d'un affichage à 2 ou 4 "lignes" auquel la communauté Arduino est si habituée, donc les graphiques, les polices sont tous très faisables.

Pour être honnête, la plupart du code pilote l'affichage. si les instructions déterminent les valeurs à afficher, par ex. convertir une valeur des potentiomètres analogiques (0 à 1023) en une valeur à afficher à l'écran. Au total, il existe plusieurs ensembles de blocs d'instructions, déterminez la vitesse du ventilateur à partir du pot, convertissez-la en % pour l'écran et en valeur entre 0 et 255 pour entraîner le ventilateur.

Eh bien, ça ira pour l'instant les gens. J'espère que ce premier tome vous plaira. Je vais éditer et mettre à jour avec les liens et le code. S'il y a quelque chose sur lequel vous souhaitez des détails, veuillez laisser un commentaire et demander.

Étape 4: Coder

J'ai promis de télécharger le croquis quand j'ai posté ceci, il y a 3 ans, et je ne l'ai jamais fait.

Alors voilà……

Conseillé: