Guide du débutant pour Arduino (7 / 15 étapes)

Étape 7: Conduite plus LEDs

Bon, avouons-le juste : un peu clignotant LED n’est pas si impressionnant... Donc dans cette étape, je vais montrer comment vous pouvez conduire plus de LEDs.

Calcul des valeurs de résistance pour nos LEDs

Avant de commencer, nous aurons calculer la résistance à utiliser en série avec nos LED. La formule que nous aurons besoin, est la Loi d’Ohm: R = Vj’ai

Mais le problème ici est que nous ne savons pas la tension et le courant de la résistance encore... Nous allons trouver !

Nous nous connectons à la résistance en série avec nos LED, et nous savons que la tension de l’Arduino sortie de broche est 5v, donc si l'on y ajoute la tension de la diode à la tension de la résistance, cela doit être égal à 5v. Donc: VR + VL = 5v et VR = 5v - VL.
Puisqu’ils sont en série, cela signifie aussi que tous les électrons qui passent par la LED, passera par la résistance aussi bien. Courant est défini comme la quantité d’électrons par unité de temps, nous savons que le courant qui traverse la résistance est égal au courant par l’intermédiaire de la LED. Donc : J’aiR = IL.

Maintenant, nous pouvons utiliser la Loi d’Ohm pour trouver la résistance de notre résistance : R = VR/iR = (5v - VL) / jeL

(image 1)

Si vous utilisez 3.3V Arduino, vous pouvez simplement remplacer le 5v avec 3.3V. C’est juste la tension d’alimentation, il peut être n’importe quoi.

Les valeurs de VL et IL se trouvent dans la fiche technique de votre LED, ou vous pouvez utiliser le tableau ci-dessous.
J’aiL serais moins de 20mA, dans le cas contraire, vous allez tuer votre LED. Mais la plupart des tss.
Notez que vous devrez diviser cette valeur (en milliampères) par 1000, pour obtenir des ampères, l’unité de mesure de courant. Dans le cas contraire, vous n’obtiendrez pas votre réponse en Ohms (mais en kilo-ohms à la place).
VL est la chute de tension directe de la LED. (Les LEDs qui émettent de luminothérapie inférieur, avec des longueurs d’onde, comme le rouge et infrarouge ont une chute de tension beaucoup plus faible que la lumière avec les photons énergétiques plus élevés, comme la lumière bleue ou ultraviolette).

CouleurTension (VL)
Rouge1.7V - 2.2V
Orange2.0V
Jaune2.1V
Vert2.2V
Bleu3.2V - 3.8V
Blanc3.2V - 3.8V

C’est juste une approximation, cependant, il ne sera pas vrai pour chaque LED.

Vous ne sera pas probablement ont une résistance de la valeur exacte que vous avez calculé juste, donc arrondir à la valeur suivante dans la série E-12. Cette série a seulement les valeurs 1.0, 1.2, 1.5, 1.8, 2.2, 27, 3.3, 3,9, 4.7, 5.6, 6,8, 8.2 et ces valeurs multiplié par une puissance de dix, comme 10, 100, 1 000, 10 000 etc..
Par exemple, mon résultat était 65Ω, alors j’ai pris une résistance de 68Ω.
Il est préférable de prendre une résistance de valeur supérieure, afin que vous ne tuez pas vos LED.

Brancher les LEDs à l’Arduino

Comme je l’ai expliqué plus tôt, une LED est fondamentalement une diode, donc il permet le passage actuel que dans un sens. Si nous nous connectons à la LED l’autre manière autour, rien ne se passera.

Une LED est une anode et une cathode : représentation schématique, le sens de la flèche est la direction du flux de courant conventionnel, afin qu’il pointe vers le côté négatif : la cathode.
Lorsque vous prenez un coup d’oeil étroit à une LED, vous verrez qu’un côté est plat, et l’autre est ronde. En outre, une jambe est plus courte que l’autre : le côté plat, avec la jambe courte est la cathode, et nous allons connecter ce côté à la négative, ou la masse de l’Arduino.

Il n’importe pas où vous mettez la résistance, tant que c’est en série avec la LED, donc vous pouvez le brancher à l’anode ou la cathode.

Si nous savons que seul del sera allumé en même temps, nous pouvons utiliser une résistance pour toutes nos LEDs.

Jetez un oeil à images 2-3-4, puis connecter la résistance à la terre et l’un des rails horizontaux de votre maquette et une diode avec la jambe courte dans le même rail et la longue jambe dans l’axe de 12 sur l’Arduino.

Notez que vous devez calculer la résistance spécifique pour vos LED. Vous pouvez utiliser la formule ci-dessus, ou utilisez un outil en ligne, ou une application (que j’utilise cet outil et ce soft). Si vous cliquez sur les points d’interrogation en regard des champs, l’outil vous donnera quelques informations supplémentaires, et l’application a un menu déroulant pour sélectionner la couleur.

Si vous êtes dans le doute, ou - comme moi - tout simplement trop paresseux pour chercher et trouver la résistance de droite, vous pouvez simplement utiliser toute résistance, entre 220Ω et 330Ω. Cela est uniquement valable si vous l’utilisez avec un Arduino 5v ! 270Ω et 330Ω sont un peu élevés à utiliser avec un Arduino 3v3, dans ce cas, utilisez quelque chose entre 100Ω et 220Ω. Si vous souhaitez utiliser une LED avec une tension plus élevée, vous aurez besoin de le calculer.

Lorsque vous avez connecté la LED et la résistance à l’Arduino, vous pouvez remplacer la broche 13 dans l’exemple de Blink par 12. Vous pouvez utiliser le raccourci CTRL + F: dans le champ « Recherche », entrez 13, dans le champ « Remplacer par », entrez 12, puis cliquez sur « Remplacer tout ». Maintenant télécharger le croquis de votre Arduino : la LED vous avez attaché doit maintenant clignoter.

Toujours pas impressionné ? Non ? Eh bien, tu as raison...
Mais maintenant vous avez les bases, nous pouvons faire quelque chose de plus spectaculaire...

LED plus

Branchez 5 LEDs supplémentaires, aux broches 2, 4, 6, 8 et 10 avec leurs jambes plus longues et leur jambe plus courte sur le même rail sur le montage d’essai comme la LED sur la broche 12 et la résistance.

Maintenant télécharger le fichier zip avec les autres exemples, l’extraire et ouvrir Blink6-a dans l’IDE Arduino.
Si vous vous souvenez de l’exemple de clignotement, il ne devrait pas être trop difficile de prévoir ce que fait ce programme. Transférez-le sur votre Arduino et vérifier si votre hypothèse est correcte !

Optimiser le code

Si vous regardez de plus près, vous verrez que certaines pièces du code sont juste 6 fois les mêmes commandes, grâce à un numéro de pin différentes... Eh bien, il existe un moyen de résoudre ce problème : nous l’appelons le de la boucle for.

Ouvrir l’esquisse de Blink6-b depuis le fichier zip. Quand vous le télécharger à l’Arduino, vous verrez qu’il fait exactement le même que Blink6-a, mais il a beaucoup moins de lignes de code.

C’est grâce aux deux pour les boucles qui sont utilisés.
Mais avant je peux expliquer la boucle for, je vais devoir tout d’abord expliquer comment fonctionnent les variables :

Sur la première ligne, il y a une nouvelle expression ' int delayTime = 200; » Il s’agit de la déclaration de la variable « delayTime ». Une variable est juste un morceau de mémoire, où vous pouvez stocker assez bien ce que vous voulez. Une variable a un type de données, un nom et une valeur : dans ce cas, le type de données est « int »: un entier, un nombre entier et peut positif ou négatif. Le nom « delayTime », c’est juste un nom arbitraire vous donner la variable, elle peut avoir des lettres et des chiffres dedans et quelques symboles comme un trait de soulignement. Si le nom comporte plusieurs mots, lettres capitales sont utilisés pour chaque nouveau mot, parce que vous ne pouvez pas utiliser les espaces. Choisir des noms appropriés pour vos variables fera une énorme différence dans la lisibilité de votre code. Avec « int delayTime; », la variable est correctement déclarée, mais n’a pas une valeur encore. Assigner une valeur initiale à la variable est appelée lors de l’initialisation. Dans ce cas, nous initialisons la variable /Delay à 200. Maintenant chaque fois que nous utilisons « delayTime » dans notre code, il est remplacé par le nombre de 200. Si vous lisez une variable sans la première initialisation, il vous donnera juste 0, dans le meilleur des cas, mais probablement juste une valeur aléatoire qui se trouvait dans cet endroit de la mémoire, pouvant provoquer des erreurs dans votre programme.

Il faut également savoir qu’une variable a une soi-disant portée. Dans cet exemple, delayTime est déclaré en haut, donc c’est une variable globale. Cela signifie que vous serez en mesure d’y accéder à l’intérieur de chaque fonction, chaque boucle, dans l’ensemble du programme. Une variable peut aussi être locales, ce qui signifie que vous ne pouvez l’utiliser dans le champ d’application dans lequel il est défini. Par exemple, si nous devions passer la première ligne à l’installation, nous obtiendrions l’erreur

« delayTime » n’a pas été déclarée dans cette portée

Quand nous essayerions d’y accéder dans la boucle principale (delay(delayTime);), parce qu’il s’agit d’une portée différente que le programme d’installation.
Mais les variables locales peuvent être utiles, lorsque vous n’avez pas beaucoup de mémoire à revendre, par exemple, puisque le local sont « supprimé » lorsque vous quittez le champ d’application, elles sont déclarées dans.
La plupart du temps, les limites de portée sont supports incurvés.

Mais pourquoi utiliser cette variable ? Eh bien, au lieu de devoir modifier toutes les delay(200) ; fonctions, nous pouvons changer juste la première ligne. Dans ce cas, il n’est pas très utile, mais si vous avez vraiment grand programme, c’est vraiment important.

Référence de l’Arduino : variables

Référence de l’Arduino : int

Référence de l’Arduino : portée des variables

Une autre chose utile sur les variables, c’est que vous pouvez les changer, alors que votre code s’exécute. Et c’est exactement ce qui se passe dans une boucle for. La première partie entre crochets est simplement la déclaration d’une certaine variable « i », et nous les initialisez-la à 2. La partie suivante est "J’ai < = 12', cela signifie que la boucle for répétera tant que j’ai est inférieure ou égale à 12. La troisième et dernière partie ' i = i + 2' signifie que chaque fois que la boucle se répète, la valeur d’i sera prolongée par 2.

Tout cela signifie qu’il s’exécutera tout d’abord le code à l’intérieur des crochets avec une valeur de 2 car moi, ensembles broche 2 en tant que sortie. Maintenant elle a atteint la fin du code, donc 2 est ajouté à i → i est maintenant égal à 4 et l’exécution du code à nouveau avec cette nouvelle valeur pour i: broche 4 est définie en tant que sortie. 2 est ajouté encore une fois, j’ai est maintenant égal à 6, le code est exécuté à nouveau, 2 est ajouté... et ainsi de suite. Jusqu'à ce que j’ai est égale à 12. Lorsque la boucle est exécutée pour i = 12, tout est normal, mais lorsqu’il atteint la fin du présent code et 2 est ajoutée encore une fois, je ne respecte pas la condition ' j’ai ≤ 12' (j’ai est maintenant 14). Le programme s’arrête la boucle for.
Chaque cheville avec une LED attachée est maintenant défini en tant que sortie, avec seulement deux lignes de code, au lieu de six.

Référence de l’Arduino : boucle for

Résumé :

Trouver la bonne résistance pour vos LED

  1. Recherchez la tension directe dans la fiche technique de la LED, ou dans le tableau ci-dessus. Il s’agit de VL
  2. Chercher le courant vers l’avant dans la fiche technique : les LED, ou utiliser quelque chose entre 2 et 20 ma et convertir ce nombre en ampères. Il s’agit jeL
  3. Trouver la tension de votre alimentation, 5 v ou 3,3 v pour microcontrôleurs plus comme Arduino. Il s’agit de Vs
  4. Maintenant utiliser cette formule pour trouver la valeur de la résistance: R = (Vs - VL) / j’aiL
  5. Autour de cette valeur maximale de la résistance plus proche de vous que vous avez. Vous pouvez toujours utiliser une valeur supérieure à la résistance que vous avez calculé, mais si vous utilisez une résistance plus faible, cela réduira considérablement la durée de vie de vos LED. Si la résistance est trop élevée, le voyant sera très faible.
  • Le côté rond de la LED, avec la jambe plus longue, est l’anode et le côté positif.
  • Le côté plat de la LED, avec la jambe courte, est la cathode et le côté négatif.
  • CTRL + F ouvre la fenêtre Rechercher/Rechercher/Remplacer dans l’IDE Arduino
  • int delayTime ; Il s’agit de la déclaration d’une variable de type de données int, appelé « delayTime »
  • int delayTime = 200 ; Il s’agit de la déclaration d’une variable de type de données int, appelé « delayTime » et son initialisation à une valeur de 200.
  • Les variables globales sont accessibles partout dans le programme, les variables locales uniquement dans la portée lorsqu’elles ont été déclarées.
  • pour (int i = 0; j’ai < 10 ; j’ai = i + 1) {} est une boucle qui initialise la variable j’ai une valeur de 0, ajoute 1 au j’ai chaque fois qu’il se répète et se répète tant que j’ai < 10 (10 fois).

Bonus : Calculer la puissance dissipée dans la résistance

Si vous utilisez une alimentation de 5v, comme celle sur l’Arduino, une résistance normale ¼ watt sera suffisant, mais lorsque vous utilisez une alimentation de tension plus élevée, ou une LED qui attire le plus courant, la puissance dissipée dans la résistance sera trop élevée, et il brûlera.

Par conséquent, nous devons calculer quelle est la puissance dissipée dans la résistance.

(Image 6)

La formule pour calculer la puissance est P = V∙I. Alors seulement, nous pouvons calculer la tension aux bornes de la résistance : la tension d’alimentation moins la tension aux bornes de la LED: VR = Vs - VL.
Et le courant qui traverse la résistance est le même que le courant qui traverse la LED: jeR = IL.

Donc: PR = (Vs - VL) ∙IL

Dans l’exemple illustré sur l’image 6, la puissance dissipée dans la résistance est très faible, donc une résistance de ¼ watt sera suffisante, mais si la valeur calculée est supérieure, vous aurez besoin un plus puissant (= plus épais) résistance.

Ces valeurs sont, cependant, seulement une hypothèse théorique.

Si vous voulez vraiment savoir la puissance réelle de la résistance se dissipe, vous devrez mesurer le courant ou la tension à travers elle, ou dans le meilleur des cas, tous les deux.

Dans le cas, vous pouvez mesurer aussi bien le courant et la tension (cas A), vous pouvez utiliser la même formule.

Si vous le pouvez, cependant, ne mesurent qu’une de ces valeurs, vous pouvez utiliser la Loi d’Ohm pour substituer la tension ou le courant dans la formule de la puissance. (cas B et C)

Seulement les cas A vous donne la dissipation de puissance réelle, dans les cas B et C, vous aurez besoin de la valeur de la résistance. La valeur écrite sur la résistance a une certaine tolérance, donc vous aurez quelques écart dans votre puissance ainsi.

Articles Liés

Guide d’installation rapide pour Arduino LCD 2004 avec PCF8574

Guide d’installation rapide pour Arduino LCD 2004 avec PCF8574

Il s'agit d'un guide d'installation rapide pour votre Arduino LCD.Ce que vous devez savoir avant de commencer :1. écrans LCD n'est pas créés égaux, certains ont des broches différentes que l'autre.2. principaux éléments de la mise en place : l'écran
Un Guide de débutants pour dispositifs logiques programmables

Un Guide de débutants pour dispositifs logiques programmables

J'ai mis ce instructable ensemble après avoir remarqué qu'il n'est pas vraiment quoi que ce soit sur le site Web sur les automates programmables industriels à l'exception d'une question et une instructable sur un programmateur (voir liens ci-dessous)
Guide #4 débutants Hardware Arduino partie 2

Guide #4 débutants Hardware Arduino partie 2

Suite à la partie 1, cette vidéo sur Arduino Hardware pour débutants jette un regard sur certains périphériques de nouvelle Arduino matériel pour vous rendre sur la route à un projet.Nous examinons ici les écrans Afficheurs à cristaux liquides (LCD)
Simple guide de débutants pour faire un « BIODIESEL » alimenté voiture

Simple guide de débutants pour faire un « BIODIESEL » alimenté voiture

plus personnes ne réalisent pas un moteur diesel peut fonctionner sur l'huile usée de friteuseIl s'agit en aucun cas une méthode parfaite, ou la meilleure façon de le faire, juste un moyen facile d'apprendre pour les débutants d'entrer dans ce. Consi
Guide du débutant pour la découpe de papier

Guide du débutant pour la découpe de papier

Voici un guide simple pour vous aider à faire des coupes de papier.J'ai eux font depuis plusieurs années et ont découvert qu'ils sont un très bon moyen de faire une belle carte, surtout quand le temps joue contre vous. Je fais ces chaque fois qu'un a
Guide #3 débutants Hardware Arduino partie 1

Guide #3 débutants Hardware Arduino partie 1

Parfois, c'est les petites choses dans la vie qui peut se transformer en grandes pierres d'achoppement, et cela vaut certainement pour noobs commençant leur voyage Arduino. Il était certainement si dans mon cas.Donc dans cette vidéo, j'ai aperçu quel
Un Guide de débutants pour l’émulation du monde.

Un Guide de débutants pour l’émulation du monde.

Avant de vous critiquez et dire que c'est illégal, il est seulement illégal si vous le marché des jeux.Émulation est mieux expliquée grâce à wikipedia, bien que vous y trouverez un petit résumé de ce nouveau monde impressionnant. Émulation est fondam
Expérimentateurs guident pour Arduino interprété à OIT

Expérimentateurs guident pour Arduino interprété à OIT

ressourcesAdafruit ARDX - v1.3 expérimentation Kit pour ArduinoGuide des expérimentateurs pour Arduino (PDF)Mises en page Conseil de pain (PDF)Tutorial Arduino Bundle (Instructable)Ce Arduino Tutorial va être très similaire à l'Arduino tutoriel Bundl
Guide d’achat pour Arduino Uno

Guide d’achat pour Arduino Uno

Choisir un Arduino acheter peut être source de confusion, surtout si vous envisagez d'acheter un Uno. Vendeurs en ligne peuvent omettre des renseignements importants, vendre obsolète ou mal au prix de planches, et certains peuvent être carrément trom
Guide d’assemblage V2 KIT de couleur RGB LCD Shield pour Arduino 65K

Guide d’assemblage V2 KIT de couleur RGB LCD Shield pour Arduino 65K

The RGB LCD shield pour Arduino 65K couleur KIT comprend tous les composants pour assembler un prêt à l'emploi LCD shield pour Arduino et conseils compatibles comme Freeduino.(visitez http://store.nkcelectronics.com/rgb-lcd-shield-for-arduino-65k-col
Arduino Anti vol alarme (avec sirène de Police): Remplir Guide de débutante

Arduino Anti vol alarme (avec sirène de Police): Remplir Guide de débutante

Vous ont peur des voleurs qui peuvent voler tous vos projets??? :) :) Puis cette l'INSTRUCTABLE parfait pour vous. Il s'agit d'une alarme antivol. Lorsqu'il n'y a aucun voleur autour, puis une LED bleue s'estomperont sur et en dehors ; mais si un vol
Un Guide complet des cavaliers à bord sur le kit Intel Edison pour Arduino

Un Guide complet des cavaliers à bord sur le kit Intel Edison pour Arduino

Intel® Edison kit pour Arduino permet l'Intel® Edison pour être compatible avec Arduino shields, conçus pour le R3 de UNO. La carte d'extension Arduino inclut plusieurs en-têtes de cavalier pour configurer le jury avec des paramètres différents comme
Guide du débutant à ESP8266 et Twitter à l’aide de ESP8266

Guide du débutant à ESP8266 et Twitter à l’aide de ESP8266

J'ai appris sur Arduino 2 ans. Alors j'ai commencé à jouer avec des choses simples comme LED, boutons, moteurs etc. Puis j'ai pensé qu'il ne serait pas cool de se connecter pour faire des choses comme l'affichage de la météo du jour, prix de stock, f
Construire un Quadcopter bricolage : Guide du débutant complet

Construire un Quadcopter bricolage : Guide du débutant complet

Il s'agit d'un véritable petit clip de mon quadcopter planant de haut en bas et déplaçant latéralement. J'ai essayé de garder la hauteur aussi minimes que possible car je suis à l'intérieur de mon salon, mais comme vous pouvez le voir, même avec ça i