Comprendre

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous, :)

Je débute avec l'Arduino et j'ai fait une pause sur le super tuto (arduino) pour contrôler une LED bicolore, rouge et verte.
J'ai regardé sur le net des ressources.. Je teste ensuite puis je remarque que la LED affiche une fois rouge une fois vert, cela dépend du sens tel que je la met. Je veux pouvoir afficher rouge clignote avec vert puis rouge+vert (orange). Après nombre de bidouillages et en raisonnant un peu je réussis avec ça Image utilisateur

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
const int ledrouge = 3; 
const int ledverte = 2;
const int uuu = 4;

void setup(){
 for(int n = 2; n<=4; n++)
  {
  pinMode(n, OUTPUT);
  }

 }
void loop(){
  digitalWrite(ledrouge, LOW);
  digitalWrite(ledverte, HIGH);
  delay(1000);
  digitalWrite(ledrouge, HIGH);
  digitalWrite(ledverte, LOW);
  delay(1000);
  digitalWrite(ledrouge, HIGH);
  digitalWrite(ledverte, HIGH);
  delay(2000);
  }

Et cela marche parfaitement. Mais je ne comprend pas pourquoi cela marche alors que les 3 sortie sont justement en OUTPUT (pour le code). Et pourquoi je peux me passer du 5v ?

Bonjour,

Tu peux te passer du 5V tout simplement parce que les LEDs sont alimentés directement par ta/tes broche(s) de sortie. C'est justement pour cette raison que tes 3 broches doivent être des OUTPUT.

Par exemple, si tu souhaites allumer la LED rouge, tu définis un état 0 sur ta broche 3 (qui servira donc de masse), et un état 1 sur la broche souhaitée (n°4 par exemple) en fonction de la couleur. Tu aura donc la n°4 à 5V (ou 3,3V pour l'arduino ?), la n°3 à la masse, et donc une différence de potentiel de 5V (ou 3,3V) entre les 2 qui te permettra d'allumer la LED si la résistance R2 est bien choisie.

Fait tout de même attention, les broches d'I/O sur les cartes à microcontrôleurs sont sensibles et ne sont pas faites pour commuter des éléments de puissances. En général on essaie de ne pas dépasser les 20mA par broches.

Si tu souhaites piloter plus d'une LED par broches (admettons, un panneau de 60 LEDs), il faudra que tu te tournes vers les transistors (MOS ou Bipolaires), qui te permettront de faire commuter a peu près n'importe quoi dans la limite des caractéristiques du transistor en question ;)

Oui bien sûr, tu as plusieurs montages différents pour piloter une LED avec une I/O. Tu pourrais très bien brancher l'anode sur le 5V et mettre la cathode (sans oublier la résistance) sur ton OUTPUT.

D'ailleurs c'est la meilleure méthode, puisque de cette façon, le courant n'est plus "fourni" par le microcontrôleur, mais par l'alimentation, et ta sortie ne fera "qu'absorber" un courant.

Tiens, un exemple donné par Eskimon, comme quoi ^^

Bref, je m'arrête là, si tu as d'autres question hésite pas. Et pense à passer le sujet en résolu :)

EDIT: Attention, cette dernière solution ne peut pas être mise en oeuvre avec une LED bicolore comme la tienne (tu ne pourras plus piloter les 2 couleurs indépendamment, puisqu'elle est à "Cathode commune")

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte