Comment connecter une LED à une carte Arduino ?
La plateforme Arduino est extrêmement populaire dans le monde entier. C'est l'outil idéal pour les premiers pas dans l'apprentissage de la programmation et du contrôle du matériel. Au fur et à mesure de vos compétences, vous pouvez augmenter l'architecture en ajoutant des cartes périphériques et créer des systèmes plus complexes qui exécutent des programmes plus complexes. Les cartes Arduino Uno et Arduino Nano sont adaptées à la formation initiale. Nous allons utiliser ces cartes comme exemple pour connecter une LED à l'Arduino.
Qu'est-ce que l'Arduino Uno et l'Arduino Nano ?
La base de la carte Arduino Uno est le microcontrôleur ATmega328. Il y a également des éléments supplémentaires :
- un résonateur à quartz ;
- bouton de réinitialisation ;
- Connecteur USB ;
- régulateur de tension intégré ;
- connecteur d'alimentation ;
- Plusieurs LED pour l'indication du mode ;
- Puce de communication USB ;
- Connecteur de programmation sur puce ;
- Plusieurs autres éléments actifs et passifs.
Tout cela vous permet de faire les premiers pas sans utiliser de fer à souder et d'éviter l'étape de la fabrication d'un circuit imprimé. L'appareil est alimenté par une alimentation externe de 7...12V ou par une connexion USB. Il permet également de connecter le module à un PC pour charger le sketch. La carte dispose d'une alimentation de 3,3 V pour les périphériques externes. Il y a 6, 14 sorties numériques à usage général disponibles pour le fonctionnement. La capacité de charge de la sortie numérique lorsqu'elle est alimentée par 5 V est de 40 mA. Cela signifie qu'il est possible d'y connecter directement une LED par le biais d'une résistance de limitation.
La carte Arduino Nano est entièrement compatible avec l'Uno, mais elle est plus petite et présente quelques différences et simplifications comme indiqué dans le tableau.
Le conseil | Contrôleur | Connecteur pour alimentation externe | Puce de communication USB | Connecteur USB |
---|---|---|---|---|
Arduino Uno | ATmega328 | Vérifiez | ATmega8U2 | USB A-B |
Arduino Nano | ATmega328 | Non | FT232RL | micro USB |
Les différences ne sont pas fondamentales et ne sont pas importantes pour le sujet de cette revue.
Ce dont vous avez besoin pour connecter la LED à la carte Arduino
Il existe deux options pour connecter la DEL. Pour l'apprentissage, vous pouvez choisir l'un ou l'autre.
- Utilisez la LED intégrée. Dans ce cas, il ne faut rien d'autre qu'un câble de connexion à un PC via USB - pour l'alimentation et la programmation. Il est inutile d'utiliser une alimentation externe pour alimenter la carte : la consommation de courant est faible.
- Connecter les LEDs externes. Vous aurez en outre besoin des éléments suivants :
- La LED elle-même ;
- une résistance de limitation du courant de 0,25 W (ou plus) d'une valeur nominale de 250 à 1000 ohms (en fonction de la DEL) ;
- Des fils et un fer à souder pour connecter le circuit externe.
Les LED sont connectées avec la cathode à n'importe quelle broche numérique du microcontrôleur, avec l'anode au fil commun via une résistance de ballast. Une alimentation supplémentaire peut également être nécessaire si le nombre de LED est élevé.
Est-il possible de connecter plusieurs DEL à une seule broche ?
Il peut être nécessaire de connecter une DEL externe ou un groupe de DEL à l'une des broches. La capacité de charge d'une broche du microcontrôleur, comme mentionné, est faible. Une ou deux LED d'une consommation de courant de 15mA peuvent y être directement connectées en parallèle. Ce n'est pas une bonne idée de tester la capacité de survie de la goupille avec une charge égale ou supérieure à la limite de sa capacité. Un interrupteur à transistor (de champ ou bipolaire) est un meilleur choix. (champ ou bipolaire).
Résistance R1 doit être choisi de manière à ce que le courant qui le traverse ne dépasse pas la capacité de transport de courant de la sortie. Il est préférable de prendre la moitié ou moins du maximum. Ainsi, pour établir un courant modéré de 10 mA.la résistance à l'alimentation de 5 volts devrait être de 500 Ohm..
Chaque DEL doit avoir sa propre résistance de ballast, il n'est pas souhaitable de la remplacer par une seule résistance commune. Le Rbal doit être choisi de manière à définir le courant de fonctionnement à travers chaque LED. Ainsi, pour une tension d'alimentation de 5 volts et une intensité de 20 mAla résistance doit être de 250 ohms ou la valeur standard la plus proche.
Il faut veiller à ce que le courant total traversant le collecteur du transistor ne dépasse pas sa valeur maximale. Par exemple, pour un transistor KT3102, le Ik le plus élevé doit être limité à 100 mA. Cela signifie qu'il n'est pas possible de raccorder plus de 6 LED avec une intensité de 15 mA. Si cela ne suffit pas, il faut utiliser un interrupteur plus puissant. C'est la seule limitation pour le choix d'un transistor n-p-n dans un tel circuit. Théoriquement le gain de la triode devrait être pris en compte, mais pour des conditions données (courant d'entrée 10mA, sortie 100mA) il devrait être d'au moins 10. Cette h21e peut être produite par n'importe quel transistor moderne.
Ce circuit ne sert pas seulement à augmenter le courant de sortie du microcontrôleur. Vous pouvez connecter de cette manière des actionneurs suffisamment puissants (relais, solénoïdes, moteurs électriques) alimentés par une tension plus élevée (par exemple 12 volts). Lors du calcul, prenez la valeur de tension appropriée.
Il est également possible d'utiliser Transistors MOSFETmais ils peuvent nécessiter une tension plus élevée pour s'ouvrir que la sortie de l'Arduino peut fournir. Dans ce cas, des circuits et des éléments supplémentaires doivent être prévus. Pour éviter cela, vous devez utiliser des transistors à effet de champ dits "numériques" - ils n'ont besoin que de 5 %. 5 volts à ouvrir. Mais ils sont moins courants.
Contrôle logiciel des LEDs
Le simple fait de connecter une LED à la sortie du microcontrôleur ne fait pas grand-chose. Vous devez apprendre à contrôler la LED depuis l'Arduino de manière programmatique. Vous pouvez le faire avec le langage Arduino qui est basé sur le C (C). Ce langage de programmation est une adaptation du C pour la formation initiale. Une fois que vous l'aurez appris, la transition vers le C++ ne sera pas difficile. Pour écrire des sketches (c'est ainsi que sont appelés les programmes pour Arduino) et les déboguer en direct, vous devez procéder comme suit :
- installer l'environnement Arduino IDE sur l'ordinateur personnel ;
- vous devrez peut-être installer le pilote pour la puce de communication USB ;
- connectez la carte au PC à l'aide d'un câble USB-microUSB.
Les simulateurs informatiques peuvent être utilisés pour déboguer des programmes et des circuits simples. Par exemple, Proteus (à partir de la version 8) supporte la simulation des cartes Arduino Uno et Nano. La commodité du simulateur est qu'il n'est pas possible de briser le fer si le circuit est mal assemblé.
Les schémas se composent de deux modules :
- configuration - est exécuté une fois au démarrage du programme et initialise les variables et les modes du fer ;
- boucle - s'exécute de manière cyclique après la configuration jusqu'à l'infini.
Pour LED peut utiliser n'importe laquelle des 14 broches libres, qui sont souvent appelées de manière incorrecte ports. Un port est en fait, de manière simpliste, un groupe de broches. La broche n'est qu'un élément.
Un exemple de contrôle est envisagé pour la broche 13 - une LED y est déjà connectée sur la carte (via un amplificateur répétiteur sur la carte Uno, via une résistance sur la carte Nano). Pour travailler avec la broche de port, vous devez la configurer en mode entrée ou sortie. C'est pratique à faire dans le corps de la configuration, mais pas nécessaire - l'affectation des broches peut être modifiée dynamiquement. Cela signifie que pendant l'exécution de votre programme, le port peut fonctionner en entrée ou en sortie.
L'initialisation de la broche 13 de l'Arduino (broche PB5 du port B de l'ATmega 328) ressemble à ce qui suit :
void setup ()
{
pinMode (13, Output) ;
}
Après avoir exécuté cette commande, la broche 13 de la carte sera en mode sortie et par défaut, elle aura un niveau logique bas. Vous pouvez y écrire zéro ou un pendant l'exécution du programme. L'écriture de l'un d'eux ressemble à ceci :
void loop ()
{
digitalWrite (13, HIGH) ;
}
La broche 13 de la carte est maintenant réglée sur un niveau élevé, un niveau logique, et peut être utilisée pour allumer la LED.
Pour éteindre la LED, la sortie doit être mise à zéro :
digitalWrite (13, LOW) ;
En écrivant alternativement un et zéro aux bits correspondants du registre de port, vous pouvez contrôler des dispositifs externes.
Nous pouvons maintenant compliquer le programme Arduino pour contrôler la LED et apprendre comment faire clignoter l'élément émetteur de lumière :
void setup ()
{
pinMode (13, Output) ;
}
void loop ()
{
digitalWrite (13, HIGH) ;
delay(1000) ;
digitalWrite (13, LOW) ;
delay(1000) ;
}
Commande délai(1000) crée un délai de 1000 millisecondes ou d'une seconde. En modifiant cette valeur, vous pouvez changer la fréquence ou la fréquence de clignotement de la LED. Si vous connectez une LED externe à une broche différente de la carte, vous devez également spécifier le numéro de la broche sélectionnée au lieu de 13 dans le programme.
Nous recommandons une série de vidéos pour plus de clarté.
Une fois que vous aurez maîtrisé les connexions des LED à l'Arduino et appris à les contrôler, vous pourrez passer au niveau suivant et écrire d'autres programmes plus complexes. Par exemple, vous pouvez apprendre à commuter deux ou plusieurs DEL à l'aide d'un bouton, à modifier la fréquence de clignotement à l'aide d'un potentiomètre externe, à ajuster la luminosité de la lueur à l'aide de la modulation de largeur d'impulsion ou à changer la couleur d'un émetteur RVB. Le niveau de défi n'est limité que par l'imagination.