Table des matières:

Contrôle de la luminosité, Arduino (avec animations) : 7 étapes
Contrôle de la luminosité, Arduino (avec animations) : 7 étapes

Vidéo: Contrôle de la luminosité, Arduino (avec animations) : 7 étapes

Vidéo: Contrôle de la luminosité, Arduino (avec animations) : 7 étapes
Vidéo: GESTION D'ECLAIRAGE AUTOMATIQUE ARDUINO + LDR 2024, Novembre
Anonim
Image
Image

Au cours des dernières années, j'ai construit deux flippers (pinballdesign.com) et deux têtes de robot (grahamasker.com) chacun contrôlé par Arduinos. Ayant eu une carrière d'ingénieur en mécanique, je suis très bien avec la conception des mécanismes, mais j'ai du mal avec la programmation. J'ai décidé de créer des animations pour illustrer certains des concepts de base de l'Arduino. J'ai pensé que cela m'aiderait, ainsi que d'autres, à les comprendre. Une image vaut mille mots et une animation peut valoir mille images !

Voici donc une explication animée au sujet du contrôle de la luminosité. L'animation ci-dessus montre un schéma d'un potentiomètre connecté à un Arduino. Il montre comment le réglage de la position du potentiomètre peut modifier la luminosité d'une led. Je vais expliquer tous les éléments de ce processus. Pour ceux qui ne sont pas familiers avec les potentiomètres et les leds, je vais commencer par ceux-ci. J'expliquerai ensuite pourquoi la led doit être connectée à une broche Arduino compatible PWM et comment la fonction MAP est utilisée dans un sketch Arduino pour convertir l'entrée du potentiomètre en une sortie adaptée au contrôle d'une led.

Si vous êtes familier avec les leds et les potentiomètres, vous pouvez ignorer les sections 1 et 2.

Étape 1: À PROPOS DES LED

À PROPOS DES LED
À PROPOS DES LED

L'illustration de gauche ci-dessus montre le symbole de circuit pour une LED et la polarité des pattes de la LED. Le courant ne traversera une LED que dans un seul sens, la polarité est donc importante. La jambe la plus longue est la positive. Il y a aussi un côté plat de la bride, c'est le côté négatif.

TENSION et COURANT

La tension requise par une LED varie d'environ 2,2 V à 3,2 volts selon sa couleur. Leur courant nominal est généralement de 20 mA. Afin de limiter le courant et d'éviter la surchauffe de la LED, il est nécessaire d'utiliser une résistance en série avec chaque LED. Je recommande environ 300 ohms.

L'illustration à droite ci-dessus montre une façon de souder une résistance à une patte d'une LED et de l'isoler avec une gaine thermorétractable.

Étape 2: POTENTIOMÈTRE

POTENTIOMÈTRE
POTENTIOMÈTRE

En termes Arduino, un potentiomètre est un capteur. « Capteur » fait référence à tout périphérique externe qui, lorsqu'il est connecté aux broches d'entrée, peut être détecté par l'Arduino. Nous allons utiliser un potentiomètre connecté à l'Arduino, pour contrôler la luminosité d'une LED. Un potentiomètre est parfois appelé diviseur de tension, ce qui, je pense, est une meilleure description. Le schéma de gauche ci-dessus indique le principe d'un diviseur de tension. Dans cet exemple, une résistance est connectée à la terre à une extrémité et maintenue par une source d'alimentation à 5 V à l'autre extrémité. Si un curseur est déplacé le long de la résistance, il sera à une tension de 0 V à l'extrémité gauche, 5 V à l'extrémité droite. Dans toute autre position, il sera à une valeur comprise entre 0v et 5v. A mi-chemin, par exemple ce sera à 2.5V. Si nous remodelons l'arrangement comme indiqué ci-dessus à droite, cela représente l'action d'un potentiomètre rotatif.

Étape 3: LE CIRCUIT

LE CIRCUIT
LE CIRCUIT

L'illustration ci-dessus montre comment nous devons connecter le potentiomètre et la led à un Arduino.

L'Ardunio doit détecter la tension qui lui est fournie par le potentiomètre. La tension change en douceur lorsque le potentiomètre est tourné, il s'agit donc d'un signal analogique et doit donc être connecté à une broche d'entrée analogique sur l'Arduino. La tension sur cette broche sera lue par l'Arduino chaque fois que le programme le demandera via la fonction "analogRead".

L'Arduino n'a que des broches de sortie numérique. Cependant, les broches avec un tilde (~) à côté d'elles simulent une sortie analogique appropriée pour contrôler la luminosité d'une Led. Ce processus est appelé modulation de largeur d'impulsion (PWM) et est expliqué via l'animation suivante, étape 4.

Étape 4: PWM

PWM, modulation de largeur d'impulsion

Comme mentionné précédemment, les broches avec un tilda, "~" à côté d'elles sont des broches PWM. Parce que les broches sont numériques, elles ne peuvent être qu'à 0v ou 5v, mais avec PWM, elles peuvent être utilisées pour tamiser une LED ou contrôler la vitesse d'un moteur. Ils le font en fournissant 5v à une LED mais en la pulsant entre 0v et 5v à 500 Hz (500 fois par seconde) et en étirant ou en réduisant la durée de chaque élément 0v et 5v de l'impulsion. Comme la LED voit une impulsion 5v plus longue qu'une impulsion 0v, elle devient plus lumineuse. Dans notre programme, nous utilisons la fonction analogWrite() pour produire une « onde carrée » PWM. Il a 256 incréments, zéro donnant un cycle de service de 0% et 255 donnant un "cycle de service" de 100%, c'est-à-dire 5 volts continus. Ainsi, 127 donnerait un cycle de service de 50%, la moitié du temps à 0v et la moitié du temps à 5v. L'animation ci-dessus montre comment, lorsque ce cycle de service est étiré vers 100%, la LED devient plus lumineuse.

Étape 5: LE PROGRAMME (ARDUINO SKETCH)

Image
Image

La vidéo ci-dessus décrit un programme (esquisse) qui peut être utilisé pour contrôler la luminosité d'une LED à l'aide d'un potentiomètre. Le circuit est le même que celui illustré à l'étape 3.

Si vous trouvez cette vidéo trop rapide (ou lente) à lire confortablement, vous pouvez ajuster sa vitesse À l'extrémité droite de la barre de commande inférieure se trouve un symbole en forme de roue dentée (parfois avec une étiquette rouge « HD » dessus.) Si vous cliquez dessus, un menu contenant la "vitesse de lecture" s'affichera.

Il serait bien sûr préférable que vous puissiez cliquer sur un bouton pour parcourir chaque ligne du programme à votre propre rythme, mais malheureusement, il n'est malheureusement pas possible de fournir cette méthode interactive ici. Si vous préférez utiliser cette méthode sur ce sujet et sur de nombreux autres sujets Arduino, il existe une version d'aperçu gratuite d'un ebook interactif/animé disponible sur animéearduino.com

Il y a une fonctionnalité dans le programme qui, je pense, a besoin de plus d'explications: sur line14, la fonction "map" est utilisée. Il y a une explication sur son but ensuite, à l'étape 6

Étape 6: CARTE

Nous avons le potentiomètre connecté à une broche analogique. La tension du potentiomètre varie entre 0v et 5v. Cette plage est enregistrée dans le processeur par incréments de 1024. Lorsque l'entrée de valeur est utilisée pour créer une sortie via une broche numérique compatible PWM, cette plage doit être mappée sur la plage de sortie d'une broche numérique. Cela a 255 incréments. La fonction map est utilisée à cette fin et fournit une sortie qui est proportionnelle à l'entrée.

La vidéo ci-dessus illustre cela.

Étape 7: Arduino animé

Les images de ce Instructable ont été tirées de mon ebook Animated Arduino qui est disponible sur www.animatedarduino.com dans lequel je vise à fournir une meilleure compréhension de certains des concepts rencontrés tout en apprenant à programmer l'Arduino.

Un exemplaire gratuit du livre électronique est disponible sur le site Web, ce qui vous permet de découvrir la nature interactive du livre. Il s'agit essentiellement d'une collection d'exemples de pages et omet donc une grande partie de l'explication. Il comprend des exemples de pages qui vous permettent de cliquer sur des boutons qui vous guident à travers chaque ligne d'un programme et d'afficher les commentaires associés. D'autres pages ont des animations vidéo et du contenu audio que vous pouvez contrôler. Une page de contenu est incluse afin que vous puissiez voir ce que contient l'édition complète.

Conseillé: