La led est câblée ‘étrangement’..
Elle ne pourrait s’allumer que si l’inter est ouvert et que la borne sur laquelle tu as branché l’inter serait en niveau haut.
Je ne pense pas que ce soit ce que tu souhaites.
Si tu désires gérer son état via le programme, il faut que tu branches son anode (le “+”) sur une sortie, idéalement une qui dispose de la fonction PWM, et sa cathode sur la masse.
Selon le type de led et/ou d’arduino, il faut ajouter une résistance en série pour limiter le courant.
Une sortie Arduino peut délivrer une tension de 5V avec un courant d’environ 25mA
Si tu as une led qui supporte 30mA, alors comme l’Arduino ne peut pas fournir autant, ça lui évitera la destruction immédiate.
En général, les LED ont besoin d’une tension entre 1.8V et 2.8V (selon les type, la couleur).. mais surtout, une limite en courant pour éviter qu’elle ne crame.
Lorsque la tension est fixe, la méthode facile est d’utiliser une résistance pour limiter le courant, qui va aussi provoquer une chute de tension. (et donc dégager l’énergie en trop sous forme de chaleur)
Aussi, pour l’exercice, voici comment il faut dimensionner la résistance (qu’on nomme résistance talon dans cet usage) :
Rappel :
U = la tension en volts
I = l’intensité, aka le courant, en ampères
R = la résistance, en ohms
P = la puissance, en watts
J’ai une tension d’alimentation connue, ici 5V (depuis une pile, une batterie, ce pourrait être 9V, 11V…), on va la nommer U_alim.
J’ai une led dont la tension de seuil est par exemple 2.2V, on va nommer cette donnée U_led
Cette led va s’allumer convenablement, par exemple à 12mA, et pourra supporter 20mA, ce sera I_led
Avec la résistance en série avec la led, quand l’ensemble est parcouru d’un courant, la tension aux bornes de la led va s’établir à U_led à partir du moment ou le courant I est dans la limite acceptable.
Comme au total j’ai 5 volts, la tension (toujours quand on reste dans les limites de courant que supporte la led) va se répartir entre la led et la résistance
Donc la somme de la tension de seuil de la led et de la chute de tension vaut la tension d’alimentation.
Autrement dit, aux bornes de la résistance, on va trouver :
U_Alim - U_Led, et dans notre cas, 5 - 2.2 = 2.8 volts
Et, selon la très célèbre loi d’ohm, qui dit que U = R x I (dans une résistance et pas ailleurs), alors si on désire un courant I de 12mA, soit 0.012 ampère, on calcul :
R =U / I , ici ça nous donne 2.8 / 0.012 = 233.333 ohms
Les résistances de 233 ohms n’existent pas, mais si on en mets une avec une valeur plus grande, ça va faire diminuer I, et une de valeur plus faible, ça va augmenter I (et faire briller la led plus fort)
Si le courant maxi de notre led est 20mA, alors la valeur la plus basse de résistance que l’on pourra employer sera de :
U = R x I –> R = U/R –> 2.8/0.02 = 140 ohms
Dans les valeurs classiques de résistance, tu trouveras facilement 220 ohms, et aussi 150 ohms.
Pour cette led exemple, les deux résistances sont adaptées pour limiter le courant.
Note sans rentrer dans les détails : la résistance va dissiper en chaleur l’énergie que l’on souhaite perdre.
En application de P = U x I , ici par exemple ça sera 0.056 watts, c’est faible et pas de précaution particulière à prendre. Mais quand la puissance augmente (parce que par exemple on part d’une tension de 48v, ou qu’on ajoute des leds), on peut vite avoir des problèmes de dissipation de cette énergie et donc une élévation de température.
Pour les servos moteur, comme l’a souligné @pinatl , a moins de modèle spéciaux ‘HV’ (pour Hi Voltage), il faut limiter leur tension à 5V environ.
Si tu les alimentes depuis une source ‘USB’ standard c’est Ok, mais si c’est depuis une batterie ou des piles, il faudra prévoir une tension adaptée, ou un régulateur de tension.
Certaines personnes utilisent le régulateur de tension de l’arduino lui-même qui fourni du 5V, mais il n’est pas conçu pour délivrer une alimentation ‘puissante’, aussi il risque de chauffer…
Un peu comme une résistance talon, il va devoir dissiper le produit du courant qui le parcours par la chute de tension qu’il va subir.. 4 ou 5W sur un tout petit composant, ça fait vite chauffer fort !
Donc, si tu alimentes en USB, servos classiques, si tu alimentes par pille/batterie, soit un petit servo pas gourmand, soit un servo ‘HV’, soit un régulateur de tension qui puisse supporter.
Ton inter aussi n’est pas câblé avec logique.
Manon t’avait évoqué le rôle des résistances de “pull-up”, qui du coup est un autre usage.
Les entrées des Ardunio (mais c’est vrai pour l’électronique en général) n’aiment pas rester non raccordées, elles peuvent prendre un peu n’importe quel état.
Aussi, quand l’interrupteur est fermé et raccorde l’entrée de l’arduino à la masse, c’est un Zero logique bien franc.
Mais quand l’interrupteur est ouvert, alors le fil peut être soumis à des “champs parasites” et faire n’importe quoi.
Aussi, on ajoute entre le + et la borne une résistance qui va ‘polariser’ la ligne et garantir que le niveau est bien proche de la tension d’alimentation, pour avoir le Un logique bien franc.
L’effet de bord, c’est que quand l’interrupteur est fermé, le courant traverse la résistance et est drainé à la masse.
Pour que ce courant soit faible, on utilise donc une résistance de grande valeur.
Par exemple, avec une résistance de 20 Kohms (20’000 ohms), et une tension de 5 volts, le courant sera de :
U = R x I –> I = U/R = 5/20000 = 0.00025 Ampères (0.25 milli ampère)
Et la puissance perdue sera de 1.25 milli watt